之前公司业务提出需求要对Hive进行权限控制
hive 版本1.2.1,升级过一次。
1.HUE 中添加用户 bigdata 给与hive访问权限
新建一个用户组bigdata,将bigdata从default组移动到bigdata组。
2.所有节点root用户登录
useradd bigdata
passwd bigdata
gpasswd -a bigdata hadoop
添加系统用户bigdata并添加到用户组hadoop中
3.修改hive的配置项,在hive-site.xml的Hive 客户端高级配置代码段(安全阀)和HiveServer2 高级配置代码段(安全阀)
中添加如下配置项:
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
</property>
<property>
<name>hive.security.authorization.task.factory</name>
<value>org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl</value>
</property>
重启集群hive服务打开hive client,给我们新添加的用户bigdata和root用户添加权限
grant admin to user root with admin option;
CREATE ROLE bigdata;
GRANT ROLE bigdata TO USER bigdata;
GRANT select TO user bigdata;
GRANT CREATE TO user bigdata;
这样登录Hue界面的时候就可以通过bigdata登录,然后禁止bigdata误删其他用户建立的表了