0


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权限管理命令
--角色的添加、删除、查看、设置:-- 创建角色CREATE ROLE role_name;-- 删除角色DROP ROLE role_name;-- 设置角色SET ROLE (role_name|ALL|NONE);-- 查看当前具有的角色SHOWCURRENT ROLES;-- 查看所有存在的角色SHOW ROLES;
6、Hive权限分配图

ActionSelectInsertUpdateDeleteOwershipAdminURL Privilege(RWX Permission + Ownership)ALTER DATABASEYALTER INDEX PROPERTIESYALTER INDEX REBUILDYALTER PARTITION LOCATIONYY (for new partition location)ALTER TABLE (all of them except the ones above)YALTER TABLE ADD PARTITIONYY (for partition location)ALTER TABLE DROP PARTITIONYALTER TABLE LOCATIONYY (for new location)ALTER VIEW PROPERTIESYALTER VIEW RENAMEYANALYZE TABLEYYCREATE DATABASEY (if custom location specified)CREATE FUNCTIONYCREATE INDEXY (of table)CREATE MACROYCREATE TABLEY (of database)Y (for create external table – the location)CREATE TABLE AS SELECTY (of input)Y (of database)CREATE VIEWY + GDELETEYDESCRIBE TABLEYDROP DATABASEYDROP FUNCTIONYDROP INDEXYDROP MACROYDROP TABLEYDROP VIEWYDROP VIEW PROPERTIESYEXPLAINYINSERTYY (for OVERWRITE)LOADY (output)Y (output)Y (input location)MSCK (metastore check)YSELECTYSHOW COLUMNSYSHOW CREATE TABLEY+GSHOW PARTITIONSYSHOW TABLE PROPERTIESYSHOW TABLE STATUSYTRUNCATE TABLEYUPDATEY


本文转载自: https://blog.csdn.net/dongwen000/article/details/135157491
版权归原作者 新鲜氧气 所有, 如有侵权,请联系我们删除。

“Hive权限管理”的评论:

还没有评论