HDP安全之集成kerberos/LDAP、ranger(knox自帶LDAP)


 

----------------------目錄導航見左上角------------------------------- 

環境

HDP 3.0.1.0 (已有)

JDK   1.8.0_91 (已有)

Mysql  5.7.25 (已有)

Kerberos       1.10.3-30 (后續文檔中有介紹如何安裝)

LDAP       knox自帶的通用LDAP (已有)

Ranger    1.1.0 (已有)

 

目的

集成HDP kerberos /LDAP/ranger之前必須先了解為什么要這樣做,kerberos/LDAP是用來做身份認證的,ranger用來做授權審計的,KNOX負責集群安全,所以集成后應該要滿足同一個賬號,例如hux可以在linux、ambari、ranger、kerberos等等等均可使用,ranger上可以同步LDAP中的用戶,並進行統一的用戶權限管理,所以需要在linux中創建的用戶與LDAP、kerberos中創建的用戶相同,由於此次使用的是knox自帶的LDAP,所以里面沒有集成kerberos,需要在LDAP和kerberos中分別創建同樣的賬號,如果使用的AD、IPA就不需要這樣做了,因為它們有集成kerberos。

 

以下以創建hux用戶為例做集成

 

一、安裝部署kerberos

1,在server上安裝KDC

yum install krb5-server krb5-libs krb5-workstation

2,修改配置並取消注釋

vi /etc/krb5.conf

 

default_realm = EXAMPLE.COM

 

[realms]

 EXAMPLE.COM = {

  kdc = test002

  admin_server = test002

 }

3,創建數據庫

kdb5_util create -s -r EXAMPLE.COM

輸入密碼並確認

 

4,創建管理員

kadmin.local

輸入(上面確認的密碼)

addprinc admin/admin(管理員賬號admin,密碼admin)

 

5,重啟服務

systemctl restart krb5kdc

systemctl restart kadmin

查看狀態

systemctl krb5kdc status

或者

service krb5kdc status

 

6,將KDC服務器設置為在引導時的自動啟動

chkconfig krb5kdc on

chkconfig kadmin on

 

7,為kerberos安裝JCE

下載jdk對應版本的JCE文件

wget http://download.oracle.com/otn-pub/java/jce/8/jce_policy-8.zip

 

8,將壓縮包內的jar包解壓至JDK對應的子目錄

/usr/local/jdk1.8.0_91/jre/lib/security/

並SCP至另外倆個節點

重啟ambari

 

9,運行kerberos安全向導

(注意kerberos對時間高度敏感,需要檢查時間是否一致,查看NTP狀態)

10,基礎操作

添加普通用戶

kadmin.local -q "addprinc hux"

hux

 

查看kerberos用戶(K管理員才可查看)

Klist

使用hdfs 的認證登陸kerberos用戶並提交hdfs任務

klist -kt /etc/security/keytabs/hdfs.headless.keytab

kinit -kt /etc/security/keytabs/hdfs.headless.keytab hdfs-myc1@EXAMPLE.COM

list

hdfs dfs -put /etc/resolv.conf /tmp/     (顯示是HDFS用戶上傳的)

二、部署LDAP(通用LDAP)

1,在ambari knox組件上開啟ldap demo

 

2,執行ambari初始化命令

ambari-server setup-ldap

輸入的參數在ambari knox Advanced users-ldif 文件中可見(一定要和配置文件中相同)

 

 

 

 

 

 

Setup參數如下:

 

查看端口:netstat -natp | grep 389

 

 

如上 端口為33389

 

3,配置LDAPadmin win配置連接:

LDAPadmin(windows下進行管理ambari用戶)參數參考如下:

 

組相關信息:

 

用戶相關信息:

 

 

 

 

4,重啟ambari

ambari-server restart

5,創建用戶

touch users.txt

vim users.txt

輸入如下內容:

hux

6,創建組

touch groups.txt

vim groups.txt

輸入如下內容:

analyst,scientist

 

7,創建及同步用戶、組示例*

ambari-server sync-ldap --users users.txt --groups groups.txt

 

 

 

 

 

8,將kerberos用戶添加至ldap文件夾中,准備同步至ambari

echo "hux" > users.txt

ambari-server sync-ldap --users users.txt

在LDAP客戶端中創建hux用戶,也可通過命令創建(盡量創建的組與組,用戶與用戶之間其他的屬性基本一致,方便后面做ranger用戶同步)

 

 

三、配置Ranger同步LDAP用戶

1,打開user sync

 

 

2,配置LDAP同步的相關信息(一一對應)

可結合上面LDAP win客戶端及配置文件的信息和下面ranger界面對LDAP的配置對應着看來結合自身的作參考。

 

 

 

 

 

 

 

 

 

 

 

在advance中的配置

 

 

 

 

 

 

配置完成后保存,重啟所有受影響的

3,配置完成

用admin賬戶登錄ranger可以看到同步過來的組,用戶信息

 

 

 

創建的用戶信息

 

 

 

在ranger中對hux賬戶賦權,hux可以進行相關的操作,例如上傳hdfs文件,訪問HIVE等等,並且現在huv賬戶應該是除了對賦予的權限可以進行操作外,還可以同一個賬戶登錄ambari,ranger,kerberos,LDAP,linux(su,id)

 

(對配置有不理解的可評論聯系我)

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM