zoukankan      html  css  js  c++  java
  • hive权限配置

    基于CDH5.x的Hive权限配置

    1、打开权限控制,默认是没有限制的

    set hive.security.authorization.enabled=true;

    2、配置默认权限

    1 hive.security.authorization.createtable.owner.grants = ALL  
    2 hive.security.authorization.createtable.role.grants = admin_role:ALL  
    3 hive.security.authorization.createtable.user.grants = user1,user2:select;user3:create  

    在Cloudera Manager中配置

    hive-site.xml 的 Hive 客户端高级配置代码段(安全阀)
    hive-site.xml 的 HiveServer2 高级配置代码段(安全阀)

    <property>  
        <name>hive.security.authorization.enabled</name>  
        <value>true</value>  
    </property>  
    <property>    
        <name>hive.security.authorization.createtable.owner.grants</name>    
        <value>ALL</value>  
    </property>  
    <property>    
        <name>hive.security.authorization.task.factory</name>    
        <value>org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl</value>  
    </property> 

    3、创建角色

    CREATE ROLE test_role;

    分配用户到角色

    GRANT ROLE test_role TO USER mllib;   

    如出现FAILED: SemanticException The current builtin authorization in Hive is incomplete and disabled.这个异常。

    解决方案:

    配置

    set hive.security.authorization.task.factory = org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl;  

    4、分配权限

    基于角色:

    GRANT CREATE ON DATABASE default TO group test_role;  
    GRANT SELECT on table authorization_test to group test_role;  
    GRANT DROP on table authorization_test to group test_role;  
    GRANT ALL on table authorization_test to group test_role;

    基于用户:

    GRANT CREATE ON DATABASE default TO user mllib;  
    GRANT SELECT on table authorization_test to user mllib;  
    GRANT DROP on table authorization_test to user mllib;  
    GRANT ALL on table authorization_test to user mllib;  

    分配创建数据库的权限

    GRANT CREATE  TO user root;   

    5、查看权限分配

    SHOW GRANT user mllib ON DATABASE default;     
    SHOW GRANT group test_role ON DATABASE default;  

    6、删除权限

    revoke all on database spark from user mllib;  

    7、HIVE支持以下权限:
    权限名称 含义
    ALL      :  所有权限
    ALTER  :  允许修改元数据(modify metadata data of object)---表信息数据
    UPDATE  :  允许修改物理数据(modify physical data of object)---实际数据
    CREATE  :  允许进行Create操作
    DROP  :  允许进行DROP操作
    INDEX  :  允许建索引(目前还没有实现)
    LOCK  :  当出现并发的使用允许用户进行LOCK和UNLOCK操作
    SELECT  :  允许用户进行SELECT操作
    SHOW_DATABASE : 允许用户查看可用的数据库


    8、登录hive元数据库,可以发现以下表:
    Db_privs:记录了User/Role在DB上的权限
    Tbl_privs:记录了User/Role在table上的权限
    Tbl_col_privs:记录了User/Role在table column上的权限
    Roles:记录了所有创建的role
    Role_map:记录了User与Role的对应关系

  • 相关阅读:
    cpp学习
    7-2 求逆序对数目 (20分) 归并排序 O(nlogn)
    Egret 滚动背景图的实现
    Egret-我的疑问:Scroller如何禁止水平或垂直方向滚动
    Egret-我的探索:exml自定义组件中通过ID获取子组件实例
    Egret-我的疑问:自定义组件加载skin的操作
    Egret事件冒泡的应用
    Egret点击穿透(使遮盖可点击组件的其他组件禁止点击)
    Egret wing 4.1.6项目目录结构
    Egret分步加载资源改写loading界面
  • 原文地址:https://www.cnblogs.com/tijun/p/7605430.html
Copyright © 2011-2022 走看看