一、修改hive配置文件
- vim hive-site.xml
- <property>
- <name>hive.files.umask.value</name>
- <value>0002</value>
- </property>
- <property>
- <name>hive.metastore.authorization.storage.checks</name>
- <value>true</value>
- </property>
- <property>
- <name>hive.metastore.execute.setugi</name>
- <value>false</value>
- </property>
- <property>
- <name>hive.security.authorization.enabled</name>
- <value>true</value>
- </property>
- <property>
- <name>hive.security.authorization.createtable.owner.grants</name>
- <value>ALL</value>
- </property>
- #重启hive
复制代码
二、设置权限(只能根据系统用户来设置)
- #进入hive命令行界面,查看系统用户
- set system:user.name;
- #创建权限
- grant create on database test to user work;
- #查看权限
- show grant user work on database default;
- #权限列表
- all 赋予所有的权限
- alter 有修改表结构的权限
- create 有创建表的权限
- drop 有删除表或表中分区的权限
- index 创建表索引的权限
- lock 开启并发后,锁定和解锁定表的权限
- select 查询表或者分区中数据的权限
- show_database 查看所有数据库的权限
- update 向表或者分区中插入或加载数据的权限
- #删除权限
- revoke all on database default from user work;
- revoke create on database default from user work;
复制代码
三、设置管理员权限(剥夺其他用户的授权)
1、修改配置文件
- <property>
- <name>hive.users.in.admin.role</name>
- <value>work</value>
- </property>
- #重启hive
复制代码
- #设置权限
- grant all on database default to role admin;
- #查看权限
- show grant role admin on database default;
- #删除权限
- revoke all on database default from role admin;
复制代码
2、设置其它用户不能授权
- <property>
- <name>hive.semantic.analyzer.hook</name>
- <value>com.hive.HiveAdmin</value>
- </property>
复制代码
- #拷贝jar包到lib下,这个我上传压缩包hive-role.zip到资源中,大家有需要可以有偿下载
- cp hadoop-common-2.7.2.jar hive-admin.jar /data/apache-hive-1.2.1-bin/lib
- #重启hive生效
复制代码
四、角色
- #创建角色
- create role test;
- #添加用户至角色
- grant role test to user work;
- #授权角色
- grant select on database default to role test;
- #删除角色权限
- revoke all on database default from role test;
复制代码
来源:https://blog.caogenba.net/qq_37837432/article/details/122462669
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |