分享

hive权限控制无效问题

遇到hive权限控制无效问题,求助~
操作步骤如下:
1. 在hive-site.xml文件中配置参数开启权限认证
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
<description>enableor disable the hive clientauthorization</description>
</property>
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
<description>theprivileges automatically granted to the ownerwhenever a table gets created. Anexample like "select,drop" willgrant select and drop privilege to theowner of the table</description>
</property>
hive.security.authorization.enabled参数是开启权限验证,默认为false。
hive.security.authorization.createtable.owner.grants参数是指表的创建者对表拥有所有权限。

2. 使用hive用户去操作owner为root的表test2, 可以正常操作,未报非授权访问;查看hive用户在表test2上的权限,没有任何权限(如下图所示)这是为什么呢?

执行

执行

已有(5)人评论

跳转到指定楼层
qcbb001 发表于 2016-7-5 13:49:52
楼主可以尝试下面方法
[mw_shl_code=bash,true]hive> set hive.security.authorization.enabled=true;  
hive> CREATE TABLE authorization_test (key int, value string);  [/mw_shl_code]



回复

使用道具 举报

zqqnancy 发表于 2016-7-5 14:07:22
qcbb001 发表于 2016-7-5 13:49
楼主可以尝试下面方法
[mw_shl_code=bash,true]hive> set hive.security.authorization.enabled=true;  
...

已尝试过,不知为何,可正常创建
hive> set hive.security.authorization.enabled=true;
hive> CREATE TABLE authorization_test (key int, value string);
OK
Time taken: 3.017 seconds
hive> show tables;
OK
authorization_test

回复

使用道具 举报

qcbb001 发表于 2016-7-5 14:11:46
zqqnancy 发表于 2016-7-5 14:07
已尝试过,不知为何,可正常创建
hive> set hive.security.authorization.enabled=true;
hive> CREATE  ...

可能已经授权的原因。尝试重置或则把配置hive.security.authorization.createtable.owner.grants all去掉
回复

使用道具 举报

zqqnancy 发表于 2016-7-5 14:48:55
qcbb001 发表于 2016-7-5 14:11
可能已经授权的原因。尝试重置或则把配置hive.security.authorization.createtable.owner.grants all去掉 ...

重置配置后:hive> set hive.metastore.authorization.storage.checks=true;
hive> set hive.security.authorization.enabled=true;

hive>  show grant user hive on table authorization_test01;
OK
default authorization_test01                    hive    USER    DELETE  true    1467700837000   hive
default authorization_test01                    hive    USER    INSERT  true    1467700837000   hive
default authorization_test01                    hive    USER    SELECT  true    1467700837000   hive
default authorization_test01                    hive    USER    UPDATE  true    1467700837000   hive
Time taken: 0.335 seconds, Fetched: 4 row(s)
hive> revoke DELETE on table authorization_test01 from user hive;
OK
Time taken: 0.667 seconds
hive> revoke UPDATE on table authorization_test01 from user hive;
OK
Time taken: 0.544 seconds
hive>  show grant user hive on table authorization_test01;
OK
default authorization_test01                    hive    USER    INSERT  true    1467700837000   hive
default authorization_test01                    hive    USER    SELECT  true    1467700837000   hive
Time taken: 0.797 seconds, Fetched: 2 row(s)

hive> DROP TABLE authorization_test01;  
OK
Time taken: 1.629 seconds


只有INSERT和SELECT全限,我删除表可以删除,感觉权限控制并没有生效,查看配置已配,hive版本为 1.2.1000


回复

使用道具 举报

nextuser 发表于 2016-7-5 19:07:01
zqqnancy 发表于 2016-7-5 14:48
重置配置后:hive> set hive.metastore.authorization.storage.checks=true;
hive> set hive.security.a ...

这应该属于对库的权限,楼主看的是对表的操作
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条