zoukankan      html  css  js  c++  java
  • hive权限管理

    Hive - SQL Standards Based Authorization in HiveServer2
    三种授权模型:
    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 默认授权
    设计目的仅仅只是为了防止用户产生误操作,而不是防止恶意用户访问未经
    授权的数据。
    基于 SQL 标准的完全兼容 SQL 的授权模型,除支持对于用户的授权认证,还
    支持角色 role 的授权认证
    role 可理解为是一组权限的集合,通过 role 为用户授权
    一个用户可以具有一个或多个角色
    默认包含两种角色:public、admin


    限制:
    ①启用当前认证方式之后,dfs, add, delete, compile, and reset 等命令被禁用。
    ②通过 set 命令设置 hive configuration 的方式被限制某些用户使用。
    (可通过修改配置文件 hive-site.xml 中
    hive.security.authorization.sqlstd.confwhitelist 进行配置)
    ③添加、删除函数以及宏(批量规模)的操作,仅为具有 admin 的用户开放。
    ④用户自定义函数(开放支持永久的自定义函数),可通过具有 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>

    服务端启动 hiveserver2 ;客户端通过 beeline 进行连接
    角色的添加、删除、查看、设置:
    CREATE ROLE role_name; -- 创建角色
    DROP ROLE role_name; -- 删除角色
    SET ROLE (role_name|ALL|NONE); -- 设置角色
    SHOW CURRENT ROLES; -- 查看当前具有的角色
    SHOW ROLES; -- 查看所有存在的角色

  • 相关阅读:
    阮一峰的网络日志
    解决Windows路径太长的目录以及文件名超长删除的问题
    LVM扩容根分区
    Centos7 搭建prometheus+Grafana监控
    python3 读取txt文件数据,绘制趋势图,matplotlib模块
    linux python3安装whl包时报错解决:is not a supported wheel on this platform
    堆排序
    nginx: [emerg] "upstream" directive is not allowed here in .../.../.../*.conf
    Github私有仓库使用设置
    AWK处理重复Hosts
  • 原文地址:https://www.cnblogs.com/luren-hometown/p/9469424.html
Copyright © 2011-2022 走看看