1. ranger-hdfs plugin安裝
1.1 安裝ranger hdfs plugin軟件包
# pwd /opt/app/ranger-release-ranger-1.2.0/target # tar -zxvf ranger-1.2.0-hdfs-plugin.tar.gz
1.2 修改install.properties文件
# pwd /home/redpeak/app/ranger-release-ranger-1.2.0/target/ranger-1.2.0-hdfs-plugin # vim install.properties 配置ranger admin的地址 POLICY_MGR_URL = http://localhost:6080 配置hdfs的倉庫名 REPOSITORY_NAME=hadoopdev 配置hadoop組件的HADOOP_HOME COMPONENT_INSTALL_DIR_NAME=/opt/app/hadoop-2.7.3 配置hdfs的審計日志 XAAUDIT.SOLR.ENABLE=true XAAUDIT.SOLR.URL=http://node1:6083/solr/ranger_audits XAAUDIT.SOLR.USER=NONE XAAUDIT.SOLR.PASSWORD=NONE XAAUDIT.SOLR.ZOOKEEPER=node1:2181,node2:2181,node3:2181/ranger_audits XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hdfs/audit/solr/spool 配置ranger-hdfs-plugin的所屬用戶、用戶組 CUSTOM_USER=hdfs CUSTOM_GROUP=hadoop
1.3 使hdfs-plugin生效
# pwd /opt/app/apache-ranger-2.0.0/target/ranger-2.0.0-hdfs-plugin # ./enable-hdfs-plugin.sh
結果如下:
1.4 啟動hdfs
注:這里是ha高可用模式下的hdfs,
bridge1上啟動hdfs和zkfc [root@bridge1 ranger-2.0.0-hdfs-plugin]# start-dfs.sh [root@bridge1 ranger-2.0.0-hdfs-plugin]# hadoop-daemon.sh start zkfc bridge2上啟動zkfc (base) [root@bridge2 scripts]# hadoop-daemon.sh start zkfc
若hdfs已啟動,則需要重啟
[root@bridge1 ranger-2.0.0-hdfs-plugin]# stop-dfs.sh [root@bridge1 ranger-2.0.0-hdfs-plugin]# start-dfs.sh
1.5 新建hdfs組件服務
在 Ranger UI 頁面添加 HDFS Service。
- 標准集群
如果您創建的是標准集群(可到詳情頁面查看安全模式),請參考下圖進行配置:
- 高安全集群
如果您創建的是高安全集群(可到詳情頁面查看安全模式),請參考下圖進行配置:
測試hdfs插件是否正常
1.6 權限配置示例
上面一節中已經將 Ranger 集成到 HDFS,現在可以進行相關的權限設置。例如給用戶 test 授予 /user/foo路徑的寫/執行權限:
單擊上圖中的 emr-hdfs 進入配置頁面,配置相關權限。
按照上述步驟設置添加一個 Policy 后,就實現了對 test 的授權,然后用戶 test 就可以對 /user/foo 的 HDFS 路徑進行訪問了。
注: 添加 Policy 默認1 分鍾左右,HDFS 才會生效。
2. ranger-yarn plugin安裝
2.1 安裝ranger-yarn-plugin軟件包
# pwd /optapp/ranger-release-ranger-1.2.0/target # tar -zxvf ranger-1.2.0-yarn-plugin.tar.gz
2.2 修改install.properties文件
# pwd
/home/redpeak/app/ranger-release-ranger-1.2.0/target/ranger-1.2.0-yarn-plugin
# vim install.properties
配置ranger admin的地址
POLICY_MGR_URL = http://localhost:6080
配置yarn的倉庫名
REPOSITORY_NAME=yarndev
配置hadoop組件的HADOOP_HOME
COMPONENT_INSTALL_DIR_NAME=/opt/app/hadoop-2.7.3
配置yarn的審計日志
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://node1:6083/solr/ranger_audits
XAAUDIT.SOLR.USER=NONE
XAAUDIT.SOLR.PASSWORD=NONE
XAAUDIT.SOLR.ZOOKEEPER=node1:2181,node2:2181,node3:2181/ranger_audits
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/yarn/audit/solr/spool
配置ranger-yarn-plugin的所屬用戶、用戶組
CUSTOM_USER=yarn
CUSTOM_GROUP=hadoop
2.3 使yarn-plugin生效
# pwd /opt/app/apache-ranger-1.2.0/target/ranger-1.2.0-yarn-plugin # ./enable-yarn-plugin.sh
2.4 重啟yarn
# stop-yarn.sh # start-yarn.sh
2.5 新建yarn組件服務
登錄 Ranger 管理界面,點擊 +
配置yarn組件服務,下圖的service name要與ranger-yarn-plugin的install.properties配置的REPOSITORY_NAME值要一致。
- 標准集群
如果創建的是標准集群,請參考下圖進行配置
- 高安全集群
如果創建的是高安全集群,請參考下圖進行配置
2.6 權限配置示例
如下圖所示,點擊創建好的 yarn service,進入 policy 配置管理頁,即可配置相關策略。
點擊 “Add New Policy” 創建新的策略
配置新的策略,如下,yarn上的隊列Queue默認為root.default,以此為例,允許root用戶在隊列root.default上提交,拒絕hadoop用戶在隊列root.default上提交
接着配置拒絕hadoop用戶提交的設置,最后點擊保存
注:策略大概會30秒后生效
3. ranger-hive plugin安裝
3.1 安裝ranger-hive-plugin軟件包
# pwd /opt/app/ranger-release-ranger-1.2.0/target # tar -zxvf ranger-1.2.0-hive-plugin.tar.gz
3.2 修改install.properties文件
# pwd
/home/redpeak/app/ranger-release-ranger-1.2.0/target/ranger-1.2.0-hive-plugin
# vim install.properties
配置ranger admin的地址
POLICY_MGR_URL = http://localhost:6080
配置hive的倉庫名
REPOSITORY_NAME=hivedev
配置hive組件的HIVE_HOME
COMPONENT_INSTALL_DIR_NAME=/opt/app/apache-hive-2.3.6-bin
配置hive的審計日志
XAAUDIT.SOLR.ENABLE=true
XAAUDIT.SOLR.URL=http://node1:6083/solr/ranger_audits
XAAUDIT.SOLR.USER=NONE
XAAUDIT.SOLR.PASSWORD=NONE
XAAUDIT.SOLR.ZOOKEEPER=node1:2181,node2:2181,node3:2181/ranger_audits
XAAUDIT.SOLR.FILE_SPOOL_DIR=/var/log/hadoop/hive/audit/solr/spool
配置ranger-hive-plugin的所屬用戶、用戶組
CUSTOM_USER=hive
CUSTOM_GROUP=hadoop
3.3 使hive-plugin生效
# pwd /opt/app/apache-ranger-1.2.0/target/ranger-1.2.0-hive-plugin # ./enable-hive-plugin.sh
3.4 重啟hiveserver2或者hive cli
# cd /opt/app/apache-hive-2.3.6-bin/bin # ./hiveserver2 或者 # ./hive
3.5 新建hive組件服務
登錄 Ranger 管理界面,點擊 +
配置hive組件服務,下圖的service name要與ranger-hive-plugin的install.properties配置的REPOSITORY_NAME值要一致。
3.6 hive權限配置示例
如下圖所示,點擊創建好的 hive service,進入 policy 配置管理頁,即可配置相關策略。
3.6.1 hive訪問權限配置示例
配置新的策略,如下。這里hive提供10種控制權限,其中read,write不可用。目前支持的命令為index,lock,select,update,create,drop,alter,all。all表示所有命令。
接着配置拒絕hadoop用戶的操作命令,最后點擊保存
3.6.2 hive列脫敏配置示例
配置新的脫敏策略,如下:
列屏蔽允許Ranger為用戶配置列的mask策略。mask支持以下8種策略:
- Redact策略 - 用x屏蔽所有字母字符,用n屏蔽所有數字字符。
- Partial mask: show last 4 策略 - 僅顯示最后四個字符,其他用x代替。
- Partial mask: show first 4 策略- 僅顯示前四個字符,其他用x代替。
- Hash策略- 用值的哈希值替換原值。
- Nullify策略 - 用NULL值替換原值。
- Unmasked (retain original value)策略 - 原樣顯示。
- Date: show only year策略 – 僅顯示日期字符串的年份部分,並將月份和日期默認為01/01。
- Custom策略 – 可使用任何有效Hive UDF(返回與被屏蔽的列中的數據類型相同的數據類型)來自定義策略。
3.6.3 hive列過濾配置示例
添加新的列過濾策略,如下:
字段過濾紅框值為: 列名 + “要過濾的內容”
一般格式為:
- 等於:列名=“要過濾的內容”
- 不等於:列名<>“要過濾的內容”
總結
【參考資料】
https://www.cnblogs.com/taojietaoge/p/10808534.html
https://help.aliyun.com/document_detail/66411.html?spm=a2c4g.11186623.6.786.722e4f2caDRDFt
https://cloud.baidu.com/doc/BMR/s/Jjwvxvdh7
https://blog.csdn.net/sudaxhh/article/details/52334652
https://www.jianshu.com/p/203efa603e25 Ranger集成KMS服務
https://blog.csdn.net/lsshlsw/article/details/103930388 Apache Ranger KMS 部署文檔
https://www.iteye.com/blog/kingding-2422915 ranger權限管理、rang kms 秘鑰管理、kerberos認證服務整合應用
https://blog.csdn.net/qq_35440040/article/details/78780473 Hadoop KMS 透明加密配置以及測試
https://www.cnblogs.com/felixzh/p/10523067.html Ranger-Kafka插件安裝
https://blog.csdn.net/Happy_Sunshine_Boy/article/details/102513629