Hue管理用户对于hive数据表的操作权限

时间:2024-04-07 16:41:20

Hue管理用户对于hive数据表的操作权限

 

1、        hue开通用户,只给该用户hive的访问权限

http://blog.csdn.net/u012551524/article/details/79392439

首先创建一个名pbdd的hue用户,给该用户hive的访问权限

2、        hive权限控制

1)       修改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>

             

2)       给集群ubuntu服务器添加用户(集群节点都要添加)

useraddpbdd

passwdpbdd

gpasswd -a pbdd Hadoop

3)       重启集群hive服务

4)       打开hive client,给我们新添加的用户pbdd添加权限

CREATE ROLE pbdd;(创建数据库角色)

GRANT ROLE pbdd TO USER pbdd;(将数据库角色赋予用户)

GRANT CREATE ON DATABASE test TO role pbdd;(给角色test库的建表权限)

GRANT SELECT ON DATABASE test TO role pbdd;(给查询权限)

GRANT ALL TO user root;(给root用户所有权限)

REVOKE ALL on database test from user pbdd;(收回权限)

show roles;(查看已经有的角色)

SHOW GRANT user pbdd;(产看用户已有权限)

SHOW GRANT user pbdd ON database test;(查看用户在test数据库的已有权限)

SHOW GRANT user pbdd ON c_vip;(查看用户在表的权限)

备注:

1)       show grant把用户换成角色就是查询角色的权限,例:show grant role pbdd;

2)       权限分类除掉上边列出来的建表和查询权限外,还有如下:

SELECT­查询权限

INSERT­ 插入权限

UPDATE­ 更新权限

DELETE­ 删除权限

ALL ­ 所有权限

BLOCK – 锁

INDEX – 索引

3)       hive官网数据表权限链接:

                https://cwiki.apache.org/confluence/display/Hive/DesignDocs

 Hue管理用户对于hive数据表的操作权限

3、        hdfs目录权限修改(第二步配置完成测试没问题可忽略这一步)

1)       Hadoop fs -chmod 1777 /user/spark/applicationHistory

这里这个权限主要是hive在提交任务时需要该目录的写入权限 

2)       Hadoop fs -chmod 1777 /user/hive

这里很简单,要给用户hive的操作权限

3)       Hadoop fs -chmod  777 /user

给user目录权限

4、        测试

场景:给pbdd用户一个hive test库的查询权限

1)       打开hue,用我们第一步创建的用户pbdd登陆:

Hue管理用户对于hive数据表的操作权限

2)       访问hive的test数据库:

查询一张test库的表:

Hue管理用户对于hive数据表的操作权限

ok,没问题

创建一张表:

Hue管理用户对于hive数据表的操作权限

没有权限

 

备注:这样我们就可以借助hue控制用户对于集群数据的访问权限,hbase我们也可以通过hive外部表的形式控制访问