使用Apache Nifi的LDAP身份验证不起作用

MoD*_*ags 2 authentication ldap active-directory apache-nifi

我已经在这个问题上研究了很长时间了,我想从你们那里得到我所面临问题的答案和建议。我试图在我的公司网络中的VM上获取Nifi独立实例,并使用login-identity-providers.xml中的ldap-provider进行身份验证。我输入了所有必需的值(信任库和密钥库除外),因为该公司具有LDAP而不是LDAPS。因此,我认为我不需要那些证书。我也已经在authorizers.xml中设置了初始管理员身份。并且,当然,设置https端口和主机(0.0.0.0)。但是,当我尝试使用url从浏览器运行并调用服务器时,无法访问站点ERR_CONNECTION_REFUSED弹出。基本上,无法访问服务器。通过ldapsearch查询时,我已经检查了DN,LDAP URL和其他属性是否正确并且可以正常工作。

那是因为我没有在配置中指定信任库和密钥库吗?如果是这样,我是否需要为每个希望访问Nifi的客户端手动创建这些证书。我认为LDAP证书足以使一个人向Nifi进行身份验证。请为我提供有关如何为员工获取信任库,服务器和客户端证书的CA的建议,以使员工可以通过LDAP使用Nifi。

我的ldap-provider看起来像这样(擦洗):

<provider>
    <identifier>ldap-provider</identifier>
    <class>org.apache.nifi.ldap.LdapProvider</class>
    <property name="Authentication Strategy">SIMPLE</property>

    <property name="Manager DN">cn=user-name,ou=Accounts,dc=domain,dc=company-name,dc=com</property>
    <property name="Manager Password">My-account-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">TLS</property>
    <property name="TLS - Shutdown Gracefully"></property>

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

    <property name="Url">the-ldap-url-of-company</property>
    <property name="User Search Base">cn=Users,ou=Accounts,dc=corp,dc=company-name,dc=com</property>
    <property name="User Search Filter">sAMAccountName={0}</property>

    <property name="Authentication Expiration">12 hours</property>
</provider>
Run Code Online (Sandbox Code Playgroud)

Nifi版本-1.0.0在Ubuntu Trusty VM中运行。

Bry*_*nde 5

使用LDAP身份验证时,您应该访问NiFi的登录页面,您在其中提供了用户名和密码以针对LDAP进行身份验证。由于您甚至没有到达该页面,因此在进入LDAP部分之前还有其他问题。

一些要检查的东西...

在NiFi属性中,应使用以下属性设置活动身份提供者:

nifi.security.user.login.identity.provider=ldap-provider
Run Code Online (Sandbox Code Playgroud)

使用任何类型的身份验证时,必须将NiFi配置为使用https,这需要提供以下配置:

nifi.web.https.host=
nifi.web.https.port=

nifi.security.keystore=
nifi.security.keystoreType=
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=
nifi.security.truststoreType=
nifi.security.trustStorePassword=
Run Code Online (Sandbox Code Playgroud)

您在nifi.web.https.host中设置的主机名也应与nifi.security.keystore使用的证书的主机名一致。我有种感觉,将https主机设置为0.0.0.0并不是您想要的,但是我不完全确定这样做的目的。

一旦您正确设置了https配置,那么当您访问https:// yourhost:post / nifi时,您应该进入登录页面,之后便会开始使用LDAP配置。