MRS普通集群hive&yarn用户权限控制
普通集群hive&yarn用户权限控制
环境准备
首先确保集群的obs委托以及用户同步已经完成:
前往manager界面创建用户,如客户界面已经创建用户,则略过此步:
此处之所以加入Manager_operator角色,是为了能够在后续DGC使用此用户能够创建用户成功。此处参考DGC 管理中心接口人提供的文档说明:
Wiki:https://clouddevops.huawei.com/domains/29230/wiki/399/WIKI2022092200264
因此Manager_operator角色可以以最小权限确保账号可以正常支持DGC创建连接。创建用户后可以使用创建的用户登录manager界面,确保可以登录,一般第一次登录需要修改一下密码:
Note:在客户环境创建用户之前可以考虑是否先创建租户资源,然后在创建用户的时候讲相应的租户资源添加到角色中。
在实际客户界面上操作的时候,出现过添加租户资源角色长时间无法没同步的情况,在master节点使用id user_name看不到租户资源信息,需要在后台各master节点重启sssd才能同步生效。重启命令(李泽成 30029386、 王帅 30038212):
/opt/Bigdata/om-agent_8.1.0.1/nodeagent/bin/sudo/runtime/sudoExecute.sh ldap_restartSssd
创建完成的用户在普通集群的ranger中无法生效, 同样需后台操作:
操作步骤参考:
Hive权限控制
普通集群各组件默认没有开启Ranger权限控制,因此首先需要开启组件的Ranger鉴权。
开启Ranger后需要重启hive服务。
刷新ranger界面可以看到hive的鉴权配置入口:
除了已有的默认配置,可以针对单个用户授予库的使用权限:
测试其他用户进行该库的表访问失败,说明权限设置成功。
此时会发现hive无法访问obs,因此需要在ranger中配置obs的权限,测试语句参考:
alter database user1_db set location 'obs://ly-pfs/city_hive/user1.db'
Hive报错:
Error while compiling statement: FAILED: HiveAccessControlException Permission denied: user [user1] does not have [WRITE] privilege on [obs://ly-pfs/city_hive/user1.db]
Ranger配置obs如下:
此处策略可以配置具体的用户,为了方便配置成“{USER}”:
配置后alter database修改成功。
开启ranger后可能存在的问题
1. 作业中设置参数失败:
解决方法参考链接:https://support.huaweicloud.com/trouble-mrs/mrs_03_0149.html
也可以如下进行配置:
2. Hive部分函数可能失效,参考链接修改:
http://3ms.huawei.com/hi/group/2691613/wiki_7071204.html?l=zh-cn
在hiveserver中增加自定义配置参数:此处是要开启默认的UDF函数的使用。
hive.server2.builtin.udf.blacklist=empty_blacklist
除此之外还需要考虑客户是否存在自定义UDF的使用,如果有也需要在Ranger配置相应的策略。
- 点赞
- 收藏
- 关注作者
评论(0)