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的对应关系

  • 相关阅读:
    《ASP.NET Core跨平台开发从入门到实战》Web API自定义格式化protobuf
    .NET Core中文分词组件jieba.NET Core
    .NET Core 2.0及.NET Standard 2.0
    Visual Studio 2017 通过SSH 调试Linux 上.NET Core
    Visual Studio 2017 ASP.NET Core开发
    Visual Studio 2017正式版离线安装及介绍
    在.NET Core 上运行的 WordPress
    IT人员如何开好站立会议
    puppeteer(二)操作实例——新Web自动化工具更轻巧更简单
    puppeteer(一)环境搭建——新Web自动化工具(同selenium)
  • 原文地址:https://www.cnblogs.com/tijun/p/7605430.html
Copyright © 2011-2022 走看看