更新时间:2022-12-14 GMT+08:00

创建HBase角色

操作场景

该任务指导系统管理员在Manager创建并设置HBase的角色。HBase角色可设置HBase管理员权限以及HBase表和列族的读(R)、写(W)、创建(C)、执行(X)或管理(A)权限。

用户需要在HBase中对指定的数据库或表设置权限,才能够创建表、查询数据、删除数据、插入数据、更新数据以及授权他人访问HBase表。

  • 安全模式支持创建HBase角色,普通模式不支持创建HBase角色。
  • 如果当前组件使用了Ranger进行权限控制,须基于Ranger配置相关策略进行权限管理,具体操作可参考添加HBase的Ranger访问权限策略

前提条件

  • 系统管理员已明确业务需求。
  • 已登录Manager。

操作步骤

  1. 在Manager界面,选择“系统 > 权限 > 角色”。
  2. 单击“添加角色”,然后在“角色名称”和“描述”输入角色名字与描述。
  3. 设置角色“配置资源权限”请参见表1

    HBase权限:

    • HBase Scope:对HBase表授权,最小支持设置列的读(R)和写(W)权限。
    • HBase管理员权限:HBase管理员权限。

    用户对自己创建的表具有读(R)、写(W)、创建(C)、执行(X)或管理(A)权限。

    表1 设置角色

    任务场景

    角色授权操作

    设置HBase管理员权限

    在“配置资源权限”的表格中选择“待操作集群的名称 > HBase”,勾选“HBase管理员权限”。

    设置用户创建表的权限

    1. 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope”。
    2. 单击“global”。
    3. 在指定命名空间的“权限”列,勾选“创建”和“执行”。例如勾选默认命名空间“default”的“创建”和“执行”。

    设置用户写入数据的权限

    1. 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”。
    2. 在指定命名空间的“权限”列,勾选“写”。例如勾选默认命名空间“default”的“写”。HBase子对象默认可从父对象继承权限,此时已授予向命名空间中的表写入数据的权限。

    设置用户读取数据的权限

    1. 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”。
    2. 在指定命名空间的“权限”列,勾选“读”。例如勾选默认命名空间“default”的“读”。HBase子对象默认可从父对象继承权限,此时已授予从命名空间中的表读取数据的权限。

    设置用户管理命名空间或表的权限

    1. 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”。
    2. 在指定命名空间的“权限”列,勾选“管理”。例如勾选默认命名空间“default”的“管理”。

    设置列的读取或写入权限

    1. 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”,单击指定命名空间显示命名空间的表。
    2. 单击指定的表。
    3. 单击指定的列族。
    4. 确认是否是新建角色?
      • 是,在“资源名称”的输入框输入列名称,多个列用英文逗号分隔,勾选“读”或“写”。如果HBase表中不存在同名的列,则创建同名的列后角色将拥有该列的权限。列权限设置完成。
      • 否,修改已有HBase角色的列权限,表格将显示已单独设置权限的列,执行5
    5. 角色新增列权限,在“资源名称”的输入框输入列名称并设置列的权限。角色修改列权限,可以在“资源名称”的输入框输入列名称并设置列权限,也可以在表格中直接修改列的权限。若在表格中修改了列权限,又同时增加了同名的列权限,则无法保存。角色修改列权限,建议直接修改列的权限。支持搜索功能。

  4. 单击“确定”完成,返回“角色”。