因为权限中涉及的用户和组都是Linux的,不可控。建议使用角色,用户可以放置在角色中同时可以为角色进行授权。具体步骤如下:
1.创建角色
create role testrole;
2.给角色授权
grant select on database default to role admin;
3.给角色添加用户
grant role testrole to user userA;
1.给用户授权
基于数据库
grant select on database default to useradmin;
基于某张表:
grant select on table ppdata to user admin;
2.给组授权
基于数据库:
grant select on database default to group admin;
基于某张表
grant select on table ppdata to group admin;
3.给角色授权
基于数据库:
grant select on database default to role admin;
基于某张表
grant select on table ppdata to role admin;
4.创建角色
create role testrole;
5.给用户添加角色
grant role testrole to user userA;
6.给用户移除权限
基于数据库:
revoke select on database default from useruserB;
基于某张表
revoke select on table ppdata from useruserB;
权限说明
名称 |
描述 |
ALL |
赋予所有的权限 |
ALTER |
有修改表结构的权限 |
CREATE |
有创建表的权限 |
DROP |
有删除表或表中的分区的权限 |
LOCK |
开启并发后,锁定和解锁定表的权限 |
SELECT |
查询表或者分区中数据的权限 |
SHOW_DATABASE |
查看所有数据库的权限 |
UPDATE |
向表或者分区中插入或加载数据的权限 |
权限配置过程
权限配置
1.在hive-site.xml中进行配置:
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
<description>enable or disable thehive client authorization</description>
</property>
功能:开启权限。
<property>
<name>hive.security.authorization.createtable.owner.grants</name>