1、介绍

在CDH版本中,使用sentry进行权限控制,为了使spark等engine能够正常访问hive目录(/user/hive/warehouse)下的数据,使用hdfs acl对授权的权限进行了映射。
在CDP中,使用了ranger进行权限控制,ranger默认没有acl的功能,在cdp 7.1.4版本之后,cdp提供了acl的插件。
Ranger-rms。用来代替sentry 的权限映射。
Ranger rms 定期的连接hive metastore 并拉取hive metastore 的数据库名和表名来进行hdfs 映射。Ranger hdfs 插件(运行在namenode)使用额外的HivePolicyEnforcer module进行扩展。hdfs 插件从ranger admin下载hive 策略,同时向ranger rms下载映射,hdfs 目录的访问由hdfs 策略和hive 策略 共同决定
image.png

2、安装Ranger-rms

由于Ranger-rms在7.1.4之后的版本之后提供,所以集群要升级为7.1.4更高的版本。注意,升级需要cdp 企业版license,不然无法升级
安装Ranger-rms的要求

  1. CDP7.1.4及更高版本,并且集群安装了hive ,Ranger,Hdfs

1、在集群的home页面,点击添加服务
image.png
2、选择Ranger-rms,点击continue
image.png
3、选择分配机器
image.png
4、添加ranger数据库的信息(是指Ranger 服务的数据库信息)

属性 value
ranger_rms_database_type ranger的数据库类型
ranger_rms_database_name ranger的数据库名称
ranger_rms_database_host ranger的数据库地址
ranger-rms.jpa.jdbc.user ranger数据库的用户
ranger-rms.jpa.jdbc.password ranger数据库的密码
ranger_rms_database_port ranger数据库的端口

image.png
5、点击继续,安装完成。
image.png
6、如果需要管理内部表,则在配置中搜索Enable Mapping Hive Managed Tables
image.png
7、如果ranger使用的是oracle 的service name
则需要配置高级代码段
配置中搜索ranger-rms-conf/ranger-rms-site.xml的Ranger Rms Server高级配置代码段
添加
ranger-rms.jpa.jdbc.url
jdbc:oracle:thin:@xxx.xxx.xxx.xx:1521/rangerdb
这样才可以正常启动
8、在安装ranger rms之后 配置用户rangerrms作为能访问hive metastore的超级用户
在hive metastore 配置中搜索core-site.xml增加hadoop.proxuuser.rangerrms.hosts 。
9、在ranger 的管理页面,查看Hadoop SQL的配置,确认hdfs用户在 tag.download.auth.users 和policy.download.auth.users中,如果没有,请添加
image.png
10、在cm管理页面,选择hdfs ,点击配置,搜索ranger-hdfs-security.xm添加配置

name values
ranger.plugin.hdfs.chained.services cm_hive
ranger.plugin.hdfs.chained.services.cm_hive.impl org.apache.ranger.chainedplugin.hdfs.hive.RangerHdfsHiveChainedPlugin

image.png
重启hdfs

3、测试

Ranger rms和sentry的不同是Ranger rms透明的支持Ranger 策略表示的功能。Sentry 的ACL映射可以在/user/hive/warehouse下使用getfacl看到映射的权限。

参考文档:https://docs.cloudera.com/cdp-private-cloud-base/7.1.5/security-ranger-rms-configuring-and-using/topics/security-ranger-rms-use-cases.html
安装文档: https://docs.cloudera.com/cdp-private-cloud-base/7.1.5/installation/topics/cdpdc-installing-ranger-rms.html