配置HBase开启Ranger权限控制

更新时间:
复制 MD 格式

本文介绍如何集成HBaseRanger,以及如何配置权限。

前提条件

已创建选择了HBaseRanger服务的集群,创建集群详情请参见创建集群

操作步骤

  1. 进入集群服务页面。


    1. 在顶部菜单栏处,根据实际情况选择地域和资源组

    2. 单击目标集群操作列的集群服务

  2. Ranger启用HBase。

    1. 集群服务页面,单击Ranger-plugin服务区域的状态

    2. 服务概述区域,打开enableHBase开关。

    3. 在弹出的对话框中,单击确定

  3. Ranger UI页面查看HBase Service。

    1. 进入Ranger UI页面,详情请参见访问Ranger UI

    2. Ranger UI页面,单击配置好的emr-hbase

      Ranger启用HBase时会自动添加一个名称为emr-hbaseHBase Service。

    3. 您可以根据实际情况配置策略。

      相关参数描述如下。

      参数

      说明

      Service Name

      服务名称,固定值为emr-hbase

      Username

      用户名,本示例为hbase。

      Password

      密码,用户自定义。

      hadoop.security.authentication

      • 标准集群(非高安全集群):选择Simple

      • 高安全集群:选择Kerberos

      hbase.master.kerberos.principal

      标准集群时不填写;高安全集群时填写hbase/_HOST@EMR.${CLUSTER_ID}.COM

      说明

      ${CLUSTER_ID}可登录机器执行hostname命令,hostname中的'.'后以'c-'开始的字符串转换为大写即为${CLUSTER_ID}的值。

      hbase.security.authentication

      • 标准集群(非高安全集群):选择Simple

      • 高安全集群:选择Kerberos

      hbase.zookeeper.property.clientPort

      固定值2181

      hbase.zookeeper.quorum

      固定值master-1-1

      zookeeper.znode.parent

      固定值/hbase

      Add New Configurations

      • Name:固定值policy.download.auth.users

      • Value:固定值hbase

  4. 重启HBase。

    1. 集群服务页面,选择more

    2. 选择更多操作 > 重启

    3. 在弹出的对话框中,输入执行原因,单击确定

    4. 确认对话框中,单击确定

设置管理员账号

  1. 进入Ranger UI页面,详情请参见访问Ranger UI

  2. Ranger UI页面,单击配置好的emr-hbase

  3. 设置管理员账号的权限(admin权限),用于执行管理命令。

    例如balance、compaction、flushsplit等。因为当前服务已经存在权限策略,所以您只需单击右侧的modify图标,在User中添加需要设置的账号即可。另外也可以修改其中的权限(例如只保留admin权限)。HBase账号必须默认设置为管理员账号。默认策略名称为 all - table, column-family, column,关联用户为 hbase

    如果使用Phoenix,则需在RangerHBase中新增如下策略。

    参数

    示例

    HBase Table

    SYSTEM.*

    HBase Column-family

    星号(*)

    HBase Column

    星号(*)

    Select Group

    public

    Permissions

    Read、Write、CreateAdmin

权限配置示例

例如,给test用户授予表foo_ns:testCreate、WriteRead权限。

  1. 进入Ranger UI页面,详情请参见访问Ranger UI

  2. Ranger UI页面,单击配置好的emr-hbase

  3. 单击右上角的Add New Policy

  4. 根据您的实际需求配置相关参数。

    参数

    描述

    Policy Name

    策略名称,可以自定义。

    HBase Table

    表对象,格式为${namespace}:${tablename}。可输入多个,填写一个需按一次Enter键。本文示例配置为foo_ns:test。

    如果${namespace}是default,则不需要加default。支持通配符星号(*)。例如,foo_ns:*表示foo_ns下的所有表。

    说明

    目前不支持default:*

    HBase Column-family

    列簇。例如配置为*

    HBase Column

    列名。例如配置为*

    Select Group

    指定添加此策略的用户组。

    Select User

    指定添加此策略的用户。例如,test。

    Permissions

    选择授予的权限。例如,Read、Write、CreateAdmin。

  5. 单击Add

    添加Policy后,实现了对test用户的授权。test用户即可以对foo_ns:test表进行访问。

    说明

    添加、删除或修改Policy后,需要等待约一分钟至授权生效。