Hive权限管理

Hive权限管理

1、hive授权模型介绍

(1)Storage Based Authorization in the Metastore Server

基于存储的授权 - 可以对Metastore中的元数据进行保护,但是没有提供更加细粒度的访问控制(例如:列级别、行级别)。

(2)SQL Standards Based Authorization in HiveServer2

基于SQL标准的Hive授权 - 完全兼容SQL的授权模型,推荐使用该模式。

(3)Default Hive Authorization (Legacy Mode)

hive默认授权 - 设计目的仅仅只是为了防止用户产生误操作,而不是防止恶意用户访问未经授权的数据。

2、基于SQL标准的hiveserver2授权模式

​ (1)完全兼容SQL的授权模型

​ (2)除支持对于用户的授权认证,还支持角色role的授权认证

​ 1、role可理解为是一组权限的集合,通过role为用户授权

​ 2、一个用户可以具有一个或多个角色,默认包含另种角色:public、admin

3、基于SQL标准的hiveserver2授权模式的限制

​ 1、启用当前认证方式之后,dfs, add, delete, compile, and reset等命令被禁用。

​ 2、通过set命令设置hive configuration的方式被限制某些用户使用。

​ (可通过修改配置文件hive-site.xml中hive.security.authorization.sqlstd.confwhitelist进行配置)

​ 3、添加、删除函数以及宏的操作,仅为具有admin的用户开放。

​ 4、用户自定义函数(开放支持永久的自定义函数),可通过具有admin角色的用户创建,其他用户都可以使用。

​ 5、Transform功能被禁用。

4、详细配置
复制代码
<property>
  <name>hive.security.authorization.enabled</name>
  <value>true</value>
</property>
<property>
  <name>hive.server2.enable.doAs</name>
  <value>false</value>
</property>
<property>
  <name>hive.users.in.admin.role</name>
  <value>root</value>
</property>
<property>
  <name>hive.security.authorization.manager</name>  <value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory</value>
</property>
<property>
  <name>hive.security.authenticator.manager</name>
  <value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value>
</property>
5、Hive权限管理命令
sql 复制代码
--角色的添加、删除、查看、设置:
-- 创建角色
CREATE ROLE role_name;  
-- 删除角色
DROP ROLE role_name; 
-- 设置角色
SET ROLE (role_name|ALL|NONE); 
-- 查看当前具有的角色
SHOW CURRENT ROLES;  
-- 查看所有存在的角色
SHOW ROLES;  
6、Hive权限分配图
Action Select Insert Update Delete Owership Admin URL Privilege(RWX Permission + Ownership)
ALTER DATABASE Y
ALTER INDEX PROPERTIES Y
ALTER INDEX REBUILD Y
ALTER PARTITION LOCATION Y Y (for new partition location)
ALTER TABLE (all of them except the ones above) Y
ALTER TABLE ADD PARTITION Y Y (for partition location)
ALTER TABLE DROP PARTITION Y
ALTER TABLE LOCATION Y Y (for new location)
ALTER VIEW PROPERTIES Y
ALTER VIEW RENAME Y
ANALYZE TABLE Y Y
CREATE DATABASE Y (if custom location specified)
CREATE FUNCTION Y
CREATE INDEX Y (of table)
CREATE MACRO Y
CREATE TABLE Y (of database) Y (for create external table -- the location)
CREATE TABLE AS SELECT Y (of input) Y (of database)
CREATE VIEW Y + G
DELETE Y
DESCRIBE TABLE Y
DROP DATABASE Y
DROP FUNCTION Y
DROP INDEX Y
DROP MACRO Y
DROP TABLE Y
DROP VIEW Y
DROP VIEW PROPERTIES Y
EXPLAIN Y
INSERT Y Y (for OVERWRITE)
LOAD Y (output) Y (output) Y (input location)
MSCK (metastore check) Y
SELECT Y
SHOW COLUMNS Y
SHOW CREATE TABLE Y+G
SHOW PARTITIONS Y
SHOW TABLE PROPERTIES Y
SHOW TABLE STATUS Y
TRUNCATE TABLE Y
UPDATE Y
相关推荐
2501_906314325 小时前
优化无头浏览器流量:使用Puppeteer进行高效数据抓取的成本降低策略
开发语言·数据结构·数据仓库
youka15014 小时前
大数据学习栈记——Hive4.0.1安装
大数据·hive·学习
IT成长日记1 天前
【Hive入门】Hive基础操作与SQL语法:DDL操作全面指南
hive·hadoop·sql·ddl操作
IT成长日记1 天前
【Hive入门】Hive分桶表深度解析:从哈希分桶到Join优化的完整指南
hive·hadoop·哈希算法·哈希分桶·join优化
和算法死磕到底1 天前
ubantu18.04(Hadoop3.1.3)之Spark安装和编程实践
大数据·hadoop·pycharm·spark
菜鸟、上路1 天前
Hadoop 集群扩容新增节点操作文档
大数据·hadoop·分布式
IT成长日记1 天前
【Hive入门】Hive动态分区与静态分区:使用场景与性能对比完全指南
数据仓库·hive·hadoop·动态分区·静态分区
嘟嘟嘟嘟嘟嘟嘟.1 天前
spark和hadoop之间的对比和联系
hadoop·spark
一个数据大开发1 天前
数据资产价值及其实现路径-简答题回顾
大数据·数据仓库·数据
viperrrrrrrrrr72 天前
大数据学习(112)-HIVE中的窗口函数
hive·sql·学习