Hive权限管理

2023-12-22 17:41:15

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权限管理命令
--角色的添加、删除、查看、设置:
-- 创建角色
CREATE ROLE role_name;  
-- 删除角色
DROP ROLE role_name; 
-- 设置角色
SET ROLE (role_name|ALL|NONE); 
-- 查看当前具有的角色
SHOW CURRENT ROLES;  
-- 查看所有存在的角色
SHOW ROLES;  
6、Hive权限分配图
ActionSelectInsertUpdateDeleteOwershipAdminURL Privilege(RWX Permission + Ownership)
ALTER DATABASEY
ALTER INDEX PROPERTIESY
ALTER INDEX REBUILDY
ALTER PARTITION LOCATIONYY (for new partition location)
ALTER TABLE (all of them except the ones above)Y
ALTER TABLE ADD PARTITIONYY (for partition location)
ALTER TABLE DROP PARTITIONY
ALTER TABLE LOCATIONYY (for new location)
ALTER VIEW PROPERTIESY
ALTER VIEW RENAMEY
ANALYZE TABLEYY
CREATE DATABASEY (if custom location specified)
CREATE FUNCTIONY
CREATE INDEXY (of table)
CREATE MACROY
CREATE TABLEY (of database)Y (for create external table – the location)
CREATE TABLE AS SELECTY (of input)Y (of database)
CREATE VIEWY + G
DELETEY
DESCRIBE TABLEY
DROP DATABASEY
DROP FUNCTIONY
DROP INDEXY
DROP MACROY
DROP TABLEY
DROP VIEWY
DROP VIEW PROPERTIESY
EXPLAINY
INSERTYY (for OVERWRITE)
LOADY (output)Y (output)Y (input location)
MSCK (metastore check)Y
SELECTY
SHOW COLUMNSY
SHOW CREATE TABLEY+G
SHOW PARTITIONSY
SHOW TABLE PROPERTIESY
SHOW TABLE STATUSY
TRUNCATE TABLEY
UPDATEY

文章来源:https://blog.csdn.net/dongwen000/article/details/135157491
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。