一、HDFS配置
HDFS 访问控制列表 开启
检查 HDFS 权限 开启 .
Sentry开启
二、Hive 同步
- hive Sentry开启
- Hive Impersonation 禁用 .
- 启用数据库中的存储通知 hive Metastore Server Default Group
- set sentry.hive.testing.mode=true
三、hive beeline权限测试
- sentry权限分配模式 备注:权限赋予角色,角色分给用户组,之后该用户组下所有用户都将拥有该权限
- 初始化状态所有用户都没有权限,第一步要给系统用户组hive赋予所有权限,这里连接beeline要用系统用户hive
Create role admin;
GRANT ALL ON SERVER server1 TO ROLE admin WITH GRANT OPTION;(server1为用于 Sentry 授权的服务器名称,默认为server1)
GRANT ROLE admin TO GROUP hive;(将角色服务用户组)
- 在hive用户组下创建新用户tracy,测试(所有节点都要添加tracy用户) useradd tracy
• passwd tracy
gpasswd -a tracy hive• 以tracy用户登陆,测试权限正常
• 创建一个新的用户组,只给查询权限,并添加一个测试用户
//创建用户组及用户
groupadd -g 888 hive_select
useradd monica
passwd monica
gpasswd -a monica hive_select
//给权限
Create role select_test;
GRANT SELECT ON DATABASE test TO ROLE select_test;
GRANT ROLE select_test TO GROUP hive_select;
//测试权限 . . 这里可以看到,用户monica只有查询权限• 给用户字段级别权限 .
• 权限操作参考:Hive SQL Syntax for Use with Sentry | 5.8.x | Cloudera Documentation
四、hue hive用护权限测试
• hue只给用户hive查询权限:
• 新建一个用户monica,对应步骤3的用户monica
• 用用户monica登陆 .
• 测试权限 . . 同样只有查询权限