NIFI Kerberos 认证

NIFI Kerberos 认证开启

环境准备html

操做系统:ubuntu 16web

NIFI:1.9.0 ,并能够正常启动apache

Kerberos service 安装完毕,NIFI(单节点)所在服务器上安装Kerberos clienubuntu

因为NIFI账号密码验证只支持HTTPS请求,全部咱们必须先拥有一个CA证书。浏览器

  • 第一步服务器

    首先你得下载一个NIFI,传送 NIFI-x.x.xide

    进入NIFI目录下的网站

    ./nifi.sh start 启动操作系统

    访问浏览器 http://127.0.0.18080 是否能够访问,能够访问后下一步.net

  • 第二步

    安装Kerberos服务 传送 kerberos

  • 第三步

    准备CA证书。因为要开启NIFI的登陆权限认证,访问地址必须是HTTPS。

    https://www.tinycert.org注册免费获取证书

右边点击Create新建一个Requests/Certificates,左边download => CA Certificate,右边download => pkcs#12 Archive,并将2个文件上传到NIFI部署的服务上

  • 第四步

    NIFI 开启kerberos认证

    找到服务器响应的文件,执行如下3条命令

    mv cert.pfx cert.p12

    openssl x509 -outform der -in cacert.pem -out cacert.der

    keytool -import -keystore cacert.jks -file cacert.der

    在执行过程当中会要求输入密码,若是你是在上面的网站上注册的,密码就是你的注册的密码。最后输入是,将证书加入密钥库。

进入nifi目录下的conf文件夹找到如下几个配置文件

authorizers.xml,配置管理员账号,配置权限相关。(sc/admin@SC.COM 是Kerberos中的一个账号)

<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">sc/admin@SC.COM</property>
</userGroupProvider>
<accessPolicyProvider>
<identifier>file-access-policy-provider</identifier>
<class>org.apache.nifi.authorization.FileAccessPolicyProvider</class>
<property name="User Group Provider">file-user-group-provider</property>
<property name="Authorizations File">./conf/authorizations.xml</property>
<property name="Initial Admin Identity">sc/admin@SC.COM</property>
<property name="Legacy Authorized Users File"></property>
<property name="Node Identity 1"></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>

nifi.properties nifi环境配置文件

nifi.web.http.host=
nifi.web.http.port=

nifi.web.https.host=cm-agent1
nifi.web.https.port=9090(端口自定义)
.
.
.

nifi.security.keystore=/opt/cert/cert.p12
nifi.security.keystoreType=PKCS12
nifi.security.keystorePasswd=1qaz2wsx
nifi.security.keyPasswd=1qaz2wsx
nifi.security.truststore=/opt/cert/cacert.jks
nifi.security.truststoreType=JKS
nifi.security.truststorePasswd=1qaz2wsx
nifi.security.user.authorizer=managed-authorizer
nifi.security.user.login.identity.provider=kerberos-provider

# kerberos #
nifi.kerberos.krb5.file=/etc/krb5.conf

# kerberos service principal #
nifi.kerberos.service.principal=sc/admin@SC.COM

login-identity-providers.xml 配置验证方式

<provider>
<identifier>kerberos-provider</identifier>
<class>org.apache.nifi.kerberos.KerberosProvider</class>
<property name="Default Realm">SC.COM</property>
<property name="Authentication Expiration">12 hours</property>
</provider>

users.xml 根据系统账号自动生成的文件,第一次进入没有

authorizations.xml 根据权限自动生成的文件,第一次进入没有。

配置完毕,重启nifi,保证新端口能够访问。注意:不要在浏览器添加nifi相关证书,不然将致使不会出现登陆窗口,会使用证书默认账号登陆。

点击继续访问,输入账号密码登陆,初始账号为配置文件内的账号,个人是 sc/admin@SC.COM,因此输入账号sc/admin,再输入密码,kerberos建立sc/admin@SC.COM账号时候的密码。

点击登陆。nifi kerberos 验证配置完毕。

相关文章
相关标签/搜索