Hive权限管理

一.Storage Based Authorization in the Metastore Server

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

  >启用当前认证方式后,dfs,add,delete,compile,reset等命令被禁用。

  >通过set命令设置hive configuration的方式被限制为只能某些用户使用。

  >添加,删除函数以及宏的操作仅为具有admin角色的用户开发。

  >用户自定义函数【开放支持永久的自定义函数】,可通过具有admin角色的用户创建,其他用户都可以使用。

二.SQL Standards Based Authorization in HiveServer2

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

  >除支持对于用户的授权认证,还支持角色role的授权认证。

  >role可理解为一组权限的集合,通过role为用户授权。

  >一个用户可以具有一个或多个角色。

  >Hive默认包含两种角色:public,admin。  

三.在hive服务端修改配置文件hive-site.xml添加以下配置开启权限认证 

<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>

四.Default Hive Authorization【Legacy Mode】

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

五.角色操作

  >创建角色

    CREATE ROLE role_name;

  >删除角色

    DROP ROLE role_name;

  >设置角色

    SET ROLE role_name (ALL|NONE);

  >查看当前用户具有的角色

    SHOW CURRENT ROLES;

  >查看所有存在的角色

    SHOW ROLES;

六.权限管理

  

七.权限分布表

  

 

原文地址:https://www.cnblogs.com/yszd/p/11086677.html