一、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)                          

hive授权命令grant insert_sentry

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登陆 .           
• 测试权限 .                           .                                     同样只有查询权限