我一直在研究这个问题很长一段时间,我希望你们就我面临的问题给出答案和建议。我正在尝试在我的VM上获取我的Nifi独立实例,该实验室位于我公司的网络中,使用 login-identity-providers.xml 中的ldap-provider进行身份验证。我输入除了truststore和keystore之外的所有必需值,因为公司有LDAP而不是LDAPS。所以,我认为我不需要那些证书。我也在 authorizers.xml 中设置了初始管理员身份。当然,设置https端口和主机(0.0.0.0)。但是,当我尝试使用网址从浏览器运行并调用服务器时,网站无法访问, ERR_CONNECTION_REFUSED 会弹出。基本上,无法访问服务器。我通过 ldapsearch 查询时检查了DN,LDAP网址和其他属性是否正确并正常工作。
那么,是因为我没有在配置中指定信任库和密钥库吗?如果是这样,我是否需要为希望访问Nifi的每个客户端手动创建这些证书。我认为LDAP证书足以让一个人对Nifi进行身份验证。请告诉我如何获取信任库,服务器和客户端证书的CA,以便员工通过LDAP使用Nifi。
我的ldap-provider看起来像这样(擦洗):
def form_graph_structure(self):
temp_dict = {}
for source, dest in self.edges:
temp_dict.setdefault(source, set()).add(dest)
return temp_dict
Nifi版本 - 1.0.0 在Ubuntu Trusty VM中运行。
答案 0 :(得分:4)
使用LDAP身份验证时,您应该访问NiFi的登录页面,您可以在其中提供用于对LDAP进行身份验证的用户名和密码。由于您甚至没有到达该页面,因此在进入LDAP部分之前还有其他问题。
要检查的一些事情......
在NiFi属性中,应使用以下属性设置活动身份提供程序:
nifi.security.user.login.identity.provider=ldap-provider
当您使用任何类型的身份验证时,必须将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=
您在nifi.web.https.host中设置的主机名也应与用于nifi.security.keystore的证书的主机名对齐。我有一种感觉,将https主机设置为0.0.0.0并不是你想要的,但我不完全确定它是做什么的。
一旦您获得了正确的https配置,那么您应该在转到https://yourhost:post/nifi时到达登录页面,之后是您的LDAP配置将发挥作用的地方。