FusionInsight HD C30L Hive权限问题

发布时间:  2016-12-06 浏览次数:  165 下载次数:  0
问题描述

1.FusionInsight C30L版本:用命令grant select  on database aa to user bb 给用户赋权

2.使用该用户执行select 库aa下表,报没有目录权限错误

处理过程

1. 检查Grant 命令是否正确(通过)

2. 在C60集群上,使用同样的方法授权(通过),发现可以使用select语句查询,C30和C60出现不一样。

3. 在C30L环境上,通过界面上的System权限控制,创建一个Role,将这个Role 授予aa 数据库的查询权限,并将角色赋给bb 用户

4. 再次使用bb 用户查询aa 库中表,能够正常查询

5. 结论:在C30中直接给用户Grant授权,实际不会生效,需要通过授予有权限的角色(Role),来给用户授权

根因
C30L版本的 Hive 权限规格限制,不能通过直接Grant 命令的方案给Hive 用户授权,需要在界面System权限控制中,通过Role、Group来给用户授权。
解决方案

1.在Manger控制台,创建一个Role,Role_A

2.给Role_A授权 Hive ,aa库的查询权限

3.将角色 Role_A 授予 用户bb

4.使用用户bb,在aa库上执行查询操作 

建议与总结
使用FusionInsight HD 产品时需要熟悉对应版本的产品文档,了解不同版本的特性及授权规则

END