----------------------目錄導航見左上角-------------------------------
環境
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)
(對配置有不理解的可評論聯系我)