HUE的security browser显示There are currently no roles defined

如图,Roles页面显示There are currently no roles defined

但是在Browser选项页是有roles的

从后台HTTP请求来看,list_sentry_privileges_by_authorizable接口是有数据

而list_sentry_roles_by_group接口没有数据

解决办法是将当前用户拉入sentry的admin组,比如hive组,sysadmins组等都可以。

再次打开security browser的Roles选项页,已经出现了正确的roles,后台HTTP接口list_sentry_roles_by_group也有了正确的数据。

总结,只要用户在sentry.service.admin.group里的都可以正常访问Roles页面。

源码分析

https://github.com/cloudera/hue/blob/cdh6.0.1-release/apps/security/src/security/api/hive.py

后台HTTP接口传入的groupName默认是空的,所以进入else语句,去判断用户所在HUE数据库中的组(request.user.groups)是不是也在sentry的admin组里,如果存在的话,就返回*

https://github.com/cloudera/hue/blob/cdh6.0.1-release/desktop/libs/libsentry/src/libsentry/sentry_site.py

get_sentry_server_admin_groups这个函数实质上是去读取sentry-site.xml里面的sentry.service.admin.group值

https://github.com/cloudera/hue/blob/cdh6.0.1-release/desktop/libs/libsentry/src/libsentry/api.py

list_sentry_roles_by_group这个函数就很普通,根据传入groupName进行role-group的字典拼装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值