博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hive权限配置
阅读量:5113 次
发布时间:2019-06-13

本文共 2324 字,大约阅读时间需要 7 分钟。

基于CDH5.x的Hive权限配置

1、打开权限控制,默认是没有限制的

set hive.security.authorization.enabled=true;

2、配置默认权限

1 hive.security.authorization.createtable.owner.grants = ALL  2 hive.security.authorization.createtable.role.grants = admin_role:ALL  3 hive.security.authorization.createtable.user.grants = user1,user2:select;user3:create

在Cloudera Manager中配置

hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)

hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)

hive.security.authorization.enabled
true
hive.security.authorization.createtable.owner.grants
ALL
hive.security.authorization.task.factory
org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl

 

3、创建角色

CREATE ROLE test_role;

 

分配用户到角色

GRANT ROLE test_role TO USER mllib;

 

如出现FAILED: SemanticException The current builtin authorization in Hive is incomplete and disabled.这个异常。

解决方案:

配置

 

set hive.security.authorization.task.factory = org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl;

 

4、分配权限

基于角色:

 

GRANT CREATE ON DATABASE default TO group test_role;  GRANT SELECT on table authorization_test to group test_role;  GRANT DROP on table authorization_test to group test_role;  GRANT ALL on table authorization_test to group test_role;

 

基于用户:

GRANT CREATE ON DATABASE default TO user mllib;  GRANT SELECT on table authorization_test to user mllib;  GRANT DROP on table authorization_test to user mllib;  GRANT ALL on table authorization_test to user mllib;

 

分配创建数据库的权限

GRANT CREATE  TO user root;

 

5、查看权限分配

 

SHOW GRANT user mllib ON DATABASE default;     SHOW GRANT group test_role ON DATABASE default;

 

6、删除权限

revoke all on database spark from user mllib;

 

7、HIVE支持以下权限:

权限名称 含义
ALL      :  所有权限
ALTER  :  允许修改元数据(modify metadata data of object)---表信息数据
UPDATE  :  允许修改物理数据(modify physical data of object)---实际数据
CREATE  :  允许进行Create操作
DROP  :  允许进行DROP操作
INDEX  :  允许建索引(目前还没有实现)
LOCK  :  当出现并发的使用允许用户进行LOCK和UNLOCK操作
SELECT  :  允许用户进行SELECT操作
SHOW_DATABASE : 允许用户查看可用的数据库
8、登录hive元数据库,可以发现以下表:
Db_privs:记录了User/Role在DB上的权限
Tbl_privs:记录了User/Role在table上的权限
Tbl_col_privs:记录了User/Role在table column上的权限
Roles:记录了所有创建的role
Role_map:记录了User与Role的对应关系

转载于:https://www.cnblogs.com/tijun/p/7605430.html

你可能感兴趣的文章
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
获得进程可执行文件的路径: GetModuleFileNameEx, GetProcessImageFileName, QueryFullProcessImageName...
查看>>
证件照(1寸2寸)拍摄处理知识汇总
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
Python入门-函数
查看>>
[HDU5727]Necklace(二分图最大匹配,枚举)
查看>>
距离公式汇总以及Python实现
查看>>
设计模式之装饰者模式
查看>>
一道不知道哪里来的容斥题
查看>>
Blender Python UV 学习
查看>>
window添加右键菜单
查看>>
入手腾龙SP AF90mm MACRO
查看>>
Window7上搭建symfony开发环境(PEAR)
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
一些方便系统诊断的bash函数
查看>>
jquery中ajax返回值无法传递到上层函数
查看>>