sentry 命令_0568-普通用户在Sentry中使用show roles 命令查看失败异常分析

作者:唐辉

1.文档编写目的

Sentry的介绍和使用Fayson前面的文章了介绍了很多,本篇文章主要介绍集群启用Sentry后普通用户用户执行show roles 命令无法正常查看的分析以及解决办法。

  • 内容概述

1.问题描述

2.解决办法

3.参考文档

  • 测试环境

1.CM和CDH版本为5.15.1

2.操作系统版本为RedHat7.2

3.已启用Kerberos

4.已启用Sentry

2.问题描述

登录一个普通用户去使用show roles 命令会出现如下异常:

show roles;show current roles;
b71510afba778aa8d242e02ffa9d06b6.png

该用户可以查看当前用户的所有角色,却不能查看所有的,起初认为是该角色权限不够,于是登录hive用户,查看hive 用户具有哪些角色,然后全部赋予test_sjz用户组

show current roles;grant role admin_role to group test_sjz;grant role hive_role to group test_sjz;
486a26a7fe779c9ab3b7da566b5b9dd2.png

然后再切换到test_sjz 用户再次尝试,发现即使赋予admin_role 也不能正常查看show roles;

fc4aabfdb1e0d959de880631b4512f41.png

3.解决办法

那么怎么才能让其他的用户也能正常执行show roles 命令?我们知道show roles 命令是查看全部的roles ,肯定是跟用户的权限有关,去cloudera 官网查看资料找到如下图所示资料,也就是说只能sentry 管理员用户才能执行show roles查看;

bddc1ddc4b10b618a4e453e327f158d7.png

那么解决思路有两种:

1.一是将test_sjz 用户添加到hive 组他这样这个用户也能查看。

25605fae25b0d8030abd493d8836d2e9.png

2.将test_sjz 用户组设置为sentry 管理员用户组,下面主要介绍第二种方式

CM > Sentry > 配置>搜索admin 添加该用户组到管理员组并保存重启sentry 服务生效

1f1a96f2e8e56a3e152a3b7ce2a11cd9.png

为避免其他用户角色影响,我们登录hive用户并收回test_sjz 用户组的admin_role;

revoke role admin_role from group test_sjz;revoke role hive_role from group test_sjz;
d08574d9be44ced7e64f1763e632ed9a.png

然后再次登录test_sjz 用户查看

d4dfe3c3ce9d3f2e28658495e973c60b.png

此时test_sjz 用户可以正常执行show roles;

参考:

https://www.cloudera.com/documentation/enterprise/5/latest/topics/sg_hive_sql.html#concept_c2q_4qx_p4

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值