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 驗證配置完畢。

相關文章
相關標籤/搜索