一、修改hive配置文件
vim hive-site.xml
<property>
<name>hive.files.umask.value</name>
<value>0002</value>
</property>
<property>
<name>hive.metastore.authorization.storage.checks</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.execute.setugi</name>
<value>false</value>
</property>
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
</property>
#重启hive
二、设置权限(只能根据系统用户来设置)
set system:user.name;
grant create on database test to user work;
show grant user work on database default;
all 赋予所有的权限
alter 有修改表结构的权限
create 有创建表的权限
drop 有删除表或表中分区的权限
index 创建表索引的权限
lock 开启并发后,锁定和解锁定表的权限
select 查询表或者分区中数据的权限
show_database 查看所有数据库的权限
update 向表或者分区中插入或加载数据的权限
revoke all on database default from user work;
revoke create on database default from user work;
三、设置管理员权限(剥夺其他用户的授权)
1、修改配置文件
<property>
<name>hive.users.in.admin.role</name>
<value>work</value>
</property>
#重启hive
grant all on database default to role admin;
show grant role admin on database default;
revoke all on database default from role admin;
2、设置其它用户不能授权
<property>
<name>hive.semantic.analyzer.hook</name>
<value>com.hive.HiveAdmin</value>
</property>
cp hadoop-common-2.7.2.jar hive-admin.jar /data/apache-hive-1.2.1-bin/lib
四、角色
create role test;
grant role test to user work;
grant select on database default to role test;
revoke all on database default from role test;
|