前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >0568-普通用户在Sentry中使用show roles 命令查看失败异常分析

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

作者头像
Fayson
发布2019-04-29 16:06:06
发布2019-04-29 16:06:06
1.1K00
代码可运行
举报
文章被收录于专栏:Hadoop实操Hadoop实操
运行总次数:0
代码可运行

作者:唐辉

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 命令会出现如下异常:

代码语言:javascript
代码运行次数:0
运行
复制
show roles;
show current roles;

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

代码语言:javascript
代码运行次数:0
运行
复制
show current roles;
grant role admin_role to group test_sjz;
grant role hive_role to group test_sjz;

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

3

解决办法

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

那么解决思路有两种:

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

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

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

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

代码语言:javascript
代码运行次数:0
运行
复制
revoke role admin_role from group test_sjz;
revoke role hive_role from group test_sjz;

然后再次登录test_sjz 用户查看

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

参考:

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档