0493-如何在Sentry中使用WITH GRANT OPTION命令

本文介绍了如何在Sentry中使用WITH GRANT OPTION命令授权Hive表权限。通过一个具体的例子展示了超级管理员如何将权限授予不同角色,以及用户如何在命令行中进行权限转授,同时指出Hue存在的授权问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢

1 文档编写目的

在使用Sentry进行Hive表的权限管理时,在超级管理员下还划分有不同库和表的管理员用户,这个时候拥有这些库的授权权限的角色就可以将这些库和表授权给其他的角色场景。本篇文章Fayson主要介绍WITH GRANT OPTION的使用。

  • 测试环境

1.RedHat7.2

2.CM和CDH版本为5.15.0

2 环境准备

1.在Fayson的测试环境创建了两个用户usera和userc

usera属于testa组,userc属于testb组。

2.使用hive用户登录Hive创建两个角色testrolea和testroleb

[root@cdh4 ~]# beeline
beeline> !connect jdbc:hive2://cdh2.fayson.com:10000
Enter username for jdbc:hive2://cdh2.fayson.com:10000: hiveadmin
Enter password for jdbc:hive2://cdh2.fayson.com:10000: *******
0: jdbc:hive2://cdh2.fayson.com:10000> create role testrolea;
0: jdbc:hive2://cdh2.fayson.com:10000> create role testroleb;

3.将default.ods_user表的SELECT权限赋予testrolea角色,并授予该角色GRANT权限

GRANT SELECT ON default.ods_user TO ROLE testrolea WITH GRANT OPTION;

4.将testrolea角色授权给testa组

GRANT ROLE testrolea TO GROUP testa;

5.将testroleb角色授权给testb组,此时testroleb角色组没有任何权限

GRANT ROLE testroleb TO GROUP testb;

以上操作均有hive管理员账号完成。

3 GRANT用户授权给其他角色

1.完成上面步骤后,使用usera用户登录Hive

2.使用usera用户将所拥有的default.ods_user表的SELECT权限授权给testroleb角色

GRANT SELECT ON default.ods_user TO ROLE testroleb WITH GRANT OPTION;

4 userc用户登录验证

1.使用userc用户登录Hive

2.查看userc所能访问的表

3.查看ods_user表数据

4.使用usera用户登录Hue进行授权测试

无法选择testroleb角色组

注:这里有个问题,To role中只能选择该用户组所在的角色

5 总结

1.某个角色拥有WITH GRANT OPTION权限的库和表,它可以将这些库和表授权给其他的角色。

2.通过Hue无法正常的将拥有WITH GRANT OPTION权限的库和表授权给其他的角色,目前应该是Hue的一个BUG。

3.只能通过命令行的方式实现WITH GRANT OPTION授权给其他角色。

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值