Hexun-Hive 权限管理及详细配置方法
来源:互联网 发布:淘宝卖家免费插件 编辑:程序博客网 时间:2024/06/05 04:29
Author : FuRenjie
-----------------------------------------------------------------------
一、Metastore权限配置项
任意用户都能通过set命令修改配置项。
1,新建文件的默认权限
<property>
<name>hive.files.umask.value</name>
<value>0002</value>
</property>
2,开启metastore对HDFS目录权限检查
如检查user是否有权删除某个目录下的文件。
<property>
<name>hive.metastore.authorization.storage.checks</name>
<value>true</value>
</property>
默认值:false
3,开启HQL级别验证
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
默认值:false
4,表创建者对所建表的默认权限
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
</property>
这个属性指定Hive创建者对自己所创建表的HQL操作权限,默认为NULL,也可用“select,drop”限制其操作权限。
5,特定用户、组、角色的默认权限
<property>
<name>hive.security.authorization.createtable.user.grants</name>
<value>luopeng,xiejie:select;xujiao:drop</value>
</porerty>
组和角色只要替换name中的user为group/role即可。
二、Hive用户
1,Users
Hive中的user就是系统中的user,
2,Groups
Group即系统中的用户组;
3,Roles
Role则在Hive中控制,role相对group而言比较灵活;
三、授权与取消授权操作
在Hive CLI中操作。
1,user授权(Group授权与此相同)
GRANT CREATE ON DATABASE default TO USERedward;
SELECT * FROM authorization_test_group;
Authorization failed:No privilege'Select' found for inputs
{ database:default,table:authorization_test_group, columnName:a}.
Use show grant to get more details.
(以上错误是因为用户没有select权限导致的,下面授予用户select执行权限)
GRANT SELECT on tableauthorization_test_group to group edward;
2,role授权
CREATE ROLEusers_who_can_select_authentication_test_role;
GRANT ROLEusers_who_can_select_authentication_test_role TO USER edward;
GRANT SELECT ON TABLEauthentication_test_role TO ROLE users_who_can_select_authentication_test_role;
(必须先在Hive中创建role,然后将用户添加到相应的role中,再给role授权,虽然上例中的role名很长,但是非常好的表示了role的作用:比Group灵活,与由系统控制的Group相比,role直接由Hive内部进行控制)
3,查看用户授权
SHOW GRANT USER edward ON DATABASE default;
databasedefault
principalNameedward
principalTypeUSER
privilegeCreate
grantTimeMon Mar 19 09:18:10 EDT 2012
grantoredward
(斜体部分为show命令的结果)
4,分区级别授权
Hive授权默认到表级别,设置PARTITION_LEVEL_PRIVILEGE为True,可以授权到分区级别。
CREATE TABLE authorize_part (key INT, valueSTRING) PARTITIONED BY (ds STRING);
ALTER TABLE authorization_part SETTBLPROPERTIES ("PARTITION_LEVEL_PRIVILEGE"="TRUE");
Authorization failed:No privilege'Alter' found for inputs{database:default, table:authorization_part}.
Useshow grant to get more details.
GRANT ALTER ON table authorization_part touser edward;
ALTER TABLE authorization_part ETTBLPROPERTIES ("PARTITION_LEVEL_PRIVILEGE"="TRUE");
GRANT SELECT ON TABLE authorization_part TOUSER edward;
ALTER TABLE authorization_part ADDPARTITION (ds='3');
ALTER TABLE authorization_part ADDPARTITION (ds='4');
SELECT * FROM authorization_part WHEREds='3';
REVOKE SELECT ON TABLE authorization_partpartition (ds='3') FROM USER edward;
SELECT * FROM authorization_part WHEREds='3';
Authorization failed:No privilege'Select' found for inputs
{database:default, table:authorization_part, partitionName:ds=3,columnName:key}.
Useshow grant to get more details.
SELECT * FROM authorization_part WHEREds='4';
OK
Timetaken: 0.146 seconds
(以上事例先创建分区表,然后对alter授权,添加分区3、4,取消分区3的select权限,测试分区3的select报错,斜体部分为命令执行结果)
四、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
允许用户查看可用的数据库(本权限尚未测试)
五、Hive权限管理明细
角色名
用户
权限
可操作数据库/表
Bdc
Hexun大数据部所有成员
ALL
ALL
Riskctl
linxianji,yuchunjie(风控部)
SELECT
DB:dbank_records/TB: rec_zhejiang_reputation
注:在创建任何一个数据库时,请务必进行角色授权!
- Hexun-Hive 权限管理及详细配置方法
- svnserve 配置及权限管理
- svnserve 配置及权限管理
- subversion配置及权限管理
- 基于CDH5.x的Hive权限详细配置
- hive的权限管理
- hive的权限管理
- hive权限管理
- hive数据权限管理
- hive表权限管理
- hive权限管理整理
- Hive权限管理:
- Hive安装配置详细
- Hive 配置详细 说明
- HIVE详细配置手册
- spring mvc +hibernate +spring +shiro 实现权限管理详细配置
- hive权限管理之实践
- iptables的详细介绍及配置方法
- RMS计算方法
- Particle Filter Tutorial 粒子滤波:从推导到应用(四)
- 应用quartus11.0及modelsim实现的PWM波形仿真(二)
- 邻居子系统与ARP
- 静态代理与动态代理
- Hexun-Hive 权限管理及详细配置方法
- Python日志
- Masonry介绍与使用实践(快速上手Autolayout)
- 【OpenCV】模板匹配
- 智力题集锦A
- Java环境变量配置以及为什么要配置环境变量
- 对TXT读写改的JAVA类
- 杭电OJ(HDOJ):七夕节
- 权重轮询算法