Apache zookeeper Apache Nifi安全群集:无法定位节点CN=<;主机名>;,OU=NIFI到种子策略

Apache zookeeper Apache Nifi安全群集:无法定位节点CN=<;主机名>;,OU=NIFI到种子策略,apache-zookeeper,apache-nifi,Apache Zookeeper,Apache Nifi,我正在尝试设置一个安全的2节点群集。 但是,在启动Nifi时,我遇到以下问题: org.apache.nifi.authorization.exception.AuthorizerCreationException: Unable to locate node CN=<hostname_2>, OU=NIFI to seed policies. org.apache.nifi.authorization.exception.AuthorizerCreationException:无

我正在尝试设置一个安全的2节点群集。 但是,在启动Nifi时,我遇到以下问题:

org.apache.nifi.authorization.exception.AuthorizerCreationException: Unable to locate node CN=<hostname_2>, OU=NIFI to seed policies.
org.apache.nifi.authorization.exception.AuthorizerCreationException:无法找到节点CN=,OU=nifi以种子策略。
=>其中主机名_2是我的第二个节点

问题似乎出在授权人身上,以下是代码:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<authorizers>
    <userGroupProvider>
        <identifier>file-user-group-provider</identifier>
        <class>org.apache.nifi.authorization.FileUserGroupProvider</class>
        <property name="Users File">./conf/users.xml</property>
        <property name="Legacy Authorized Users File"></property>

        <property name="Initial User Identity 1">CN=nifi_admin, OU=nifi</property>
        <property name="Initial User Identity 2">CN=<hostname_1>, OU=nifi</property>
        <property name="Initial User Identity 3">CN=<hostname_2>, OU=nifi</property>
    </userGroupProvider>

    <userGroupProvider>
        <identifier>ldap-user-group-provider</identifier>
        <class>org.apache.nifi.ldap.tenants.LdapUserGroupProvider</class>
        <property name="Authentication Strategy">SIMPLE</property>

        <property name="Manager DN">CN=srv-p-1004,OU=Users Sys,OU=prod,DC=prod,DC=company,DC=be</property>
        <property name="Manager Password">******</property>

        <property name="TLS - Keystore"></property>
        <property name="TLS - Keystore Password"></property>
        <property name="TLS - Keystore Type"></property>
        <property name="TLS - Truststore"></property>
        <property name="TLS - Truststore Password"></property>
        <property name="TLS - Truststore Type"></property>
        <property name="TLS - Client Auth"></property>
        <property name="TLS - Protocol"></property>
        <property name="TLS - Shutdown Gracefully"></property>

        <property name="Referral Strategy">FOLLOW</property>
        <property name="Connect Timeout">10 secs</property>
        <property name="Read Timeout">10 secs</property>

        <property name="Url">ldap://ad1.prod.company.be:389</property>
        <property name="Page Size"></property>
        <property name="Sync Interval">1 mins</property>

        <property name="User Search Base">OU=PROD, DC=prod, DC=company, DC=be</property>
        <property name="User Object Class">person</property>
        <property name="User Search Scope">SUBTREE</property>
        <property name="User Search Filter">(memberof=CN=(A) Nifi - Admin, OU=Groups TIM Application Entitlements, OU=PROD, DC=prod, DC=company, DC=be)</property>
        <property name="User Identity Attribute">CN</property>
        <property name="User Group Name Attribute"></property>
        <property name="User Group Name Attribute - Referenced Group Attribute"></property>

        <property name="Group Search Base">OU=Groups TIM Application Entitlements, OU=PROD, DC=prod, DC=company, DC=be</property>
        <property name="Group Object Class">group</property>
        <property name="Group Search Scope">ONE_LEVEL</property>
        <property name="Group Search Filter">(|(CN=*Nifi*)(CN=*Kafka*))</property>
        <property name="Group Name Attribute">CN</property>
        <property name="Group Member Attribute">member</property>
        <property name="Group Member Attribute - Referenced User Attribute"></property>
    </userGroupProvider>

    <userGroupProvider>
        <identifier>composite-configurable-user-group-provider</identifier>
        <class>org.apache.nifi.authorization.CompositeConfigurableUserGroupProvider</class>
        <property name="Configurable User Group Provider">file-user-group-provider</property>
        <property name="User Group Provider 1">ldap-user-group-provider</property>
    </userGroupProvider>

    <accessPolicyProvider>
        <identifier>file-access-policy-provider</identifier>
        <class>org.apache.nifi.authorization.FileAccessPolicyProvider</class>
        <property name="User Group Provider">composite-configurable-user-group-provider</property>
        <property name="Authorizations File">./conf/authorizations.xml</property>
        <property name="Initial Admin Identity">CN=nifi_admin, OU=nifi</property>
        <property name="Legacy Authorized Users File"></property>
        <property name="Node Identity 1">CN=hostname_1, OU=NIFI</property>
        <property name="Node Identity 1">CN=hostname_2, OU=NIFI</property>
        <property name="Node Group"></property>
    </accessPolicyProvider>

    <authorizer>
        <identifier>managed-authorizer</identifier>
        <class>org.apache.nifi.authorization.StandardManagedAuthorizer</class>
        <property name="Access Policy Provider">file-access-policy-provider</property>
    </authorizer>

</authorizers>

文件用户组提供程序
org.apache.nifi.authorization.FileUserGroupProvider
./conf/users.xml
CN=nifi\U管理员,OU=nifi
CN=,OU=nifi
CN=,OU=nifi
ldap用户组提供程序
org.apache.nifi.ldap.tenants.LdapUserGroupProvider
易于理解的
CN=srv-p-1004,OU=Users系统,OU=prod,DC=prod,DC=company,DC=be
******
跟随
10秒
10秒
ldap://ad1.prod.company.be:389
1分钟
OU=PROD,DC=PROD,DC=company,DC=be
人
子树
(memberof=CN=(A)Nifi-管理员,OU=组TIM应用程序权限,OU=PROD,DC=PROD,DC=company,DC=be)
CN
OU=组TIM应用程序权限,OU=PROD,DC=PROD,DC=company,DC=be
组
一级
(|(CN=*Nifi*)(CN=*Kafka*))
CN
成员
复合可配置用户组提供程序
org.apache.nifi.authorization.CompositeConfigurableUserGroupProvider
文件用户组提供程序
ldap用户组提供程序
文件访问策略提供程序
org.apache.nifi.authorization.FileAccessPolicyProvider
复合可配置用户组提供程序
./conf/authorizations.xml
CN=nifi\U管理员,OU=nifi
CN=hostname_1,OU=NIFI
CN=hostname_2,OU=NIFI
托管授权人
org.apache.nifi.authorization.StandardManagedAuthorizer
文件访问策略提供程序
注意:出于隐私原因,我更改了公司名称和主机名

对于安全部分,我使用了tls工具包

谁能帮助我,因为我似乎已经检查了所有应该使它工作的框

提前谢谢。
K

在策略提供程序中指定节点标识时,使用“OU=NIFI”,在指定初始用户标识时,使用“OU=NIFI”。它区分大小写和空格,因此需要精确匹配。

我真不敢相信我竟然错过了!我一定检查过这些线路10多次了!(我经常使用你和皮埃尔·维拉德的指南进行设置。谢谢你的指导,再次感谢你的回答。