Ranger Hive-plugin 是 Ranger 对 hive 进行权限管理的插件。需要注意的是,Ranger Hive-plugin只能对使用 jdbc 方式访问 hive 的请求进行权限管理,hive-cli 并不受限制。
A、解压软件
[root@hadoop102 software]# tar -zxvf ranger-2.0.0-hive-plugin.tar.gz -C /opt/module/ranger/
B、配置软件
[root@hadoop102 ranger-2.0.0-hive-plugin]# vim install.properties
修改以下内容
#策略管理器的url地址
POLICY_MGR_URL=http://hadoop102:6080
#组件名称
REPOSITORY_NAME=hive
#hive的安装目录
COMPONENT_INSTALL_DIR_NAME=/opt/module/hive
#hive组件的启动用户
CUSTOM_USER=hive
#hive组件启动用户所属组
CUSTOM_GROUP=hadoop
C、启用 Ranger Hive-plugin,在 /opt/module/ranger/ranger-2.0.0-hive-plugin 下执行以下命令
[root@hadoop102 ranger-2.0.0-hive-plugin]# ./enable-hive-plugin.sh
查看 $HIVE_HOME/conf
目录是否出现以下配置文件,如出现则表示 Hive 插件启用成功。
[root@hadoop102 ranger-2.0.0-hive-plugin]# ls $HIVE_HOME/conf | grep -E hiveserver2\|ranger
hiveserver2-site.xml
ranger-hive-audit.xml
ranger-hive-security.xml
ranger-policymgr-ssl.xml
ranger-security.xml
D、重启 Hiveserver2,需使用 hive 用户启动
[root@hadoop102 ~]# sudo -i -u hive hiveserver2
A、授予 hive 用户在 Ranger 中的 Admin 角色
点击hive用户
将角色设置为 Admin
B、配置 Hive 插件
点击 Access Manager,添加 Hive Manager。
配置服务详情
注:
Service Name:hive
Username:rangerlookup
Password:rangerlookup
jdbc.driverClassName:org.apache.hive.jdbc.HiveDriver
jdbc.url:jdbc:hive2://hadoop102:10000/;principal=hive/hadoop102@EXAMPLE.COM
C、测试连接
点击测试连接
点击测试连接后会提示连接失败,具体原因是 rangerlookup 用户没有访问 hive 表的权限,这是因为到目前为止,我们还未使用 Ranger 向任何用户赋予任何权限,故此时连接失败为正常现象。
D、保存 Hive Manager
点击 Add 按钮
点击下图所示 hive 按钮
下图内容表示,目前 rangerlookup 用户已经拥有了 Hive 所有资源的所有权限。
E、重新测试连接
点击下图编辑按钮
重新点击Test Connection
连接成功