更新时间:2024-05-11 GMT+08:00

添加HBase的Ranger访问权限策略

操作场景

Ranger管理员可通过Ranger为HBase用户配置HBase表和列族,列的权限。

前提条件

  • 已安装Ranger服务且服务运行正常。
  • 已创建需要配置权限的用户、用户组或Role。

操作步骤

  1. 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger管理界面
  2. 在首页中单击“HBASE”区域的组件插件名称如“HBase”。
  3. 单击“Add New Policy”,添加HBase权限控制策略。
  4. 根据业务需求配置相关参数。

    表1 HBase权限参数

    参数名称

    描述

    Policy Name

    策略名称,可自定义,不能与本服务内其他策略名称重复。

    Policy Conditions

    IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:192.168.1.10,192.168.1.20或者192.168.1.*。

    Policy Label

    为当前策略指定一个标签,可以根据这些标签搜索报告和筛选策略。

    HBase Table

    将适用该策略的表。

    可支持通配符“*”,例如“table1:*“表示table1下的所有表。

    “Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。

    说明:

    Ranger界面上HBase服务插件的“hbase.rpc.protection”参数值必须和HBase服务端的“hbase.rpc.protection”参数值保持一致。具体请参考Ranger界面添加或者修改HBase策略时,无法使用通配符搜索已存在的HBase表

    HBase Column-family

    将适用该策略的列族。

    “Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。

    HBase Column

    将适用该策略的列。

    “Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。

    Description

    策略描述信息。

    Audit Logging

    是否审计此策略。

    Allow Conditions

    策略允许条件,配置本策略内允许的权限及例外。

    在“Select Role”、“Select Group”、“Select User”列选择已创建好的需要授予权限的Role、用户组或用户,单击“Add Conditions”,添加策略适用的IP地址范围,单击“Add Permissions”,添加对应权限。

    • Read:读权限
    • Write:写权限
    • Create:创建权限
    • Admin:管理权限
    • Select/Deselect All:全选/取消全选

    如需让当前条件中的用户或用户组管理本条策略,可勾选“Delegate Admin”使这些用户或用户组成为受委托的管理员。被委托的管理员可以更新、删除本策略,还可以基于原始策略创建子策略。

    如需添加多条权限控制规则,可单击按钮添加。如需删除权限控制规则,可单击按钮删除。

    Exclude from Allow Conditions:配置策略例外条件。

    Deny All Other Accesses

    是否拒绝其它所有访问。

    • True:拒绝其它所有访问
    • False:设置为False,可配置Deny Conditions。

    Deny Conditions

    策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似。

    拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。

    Exclude from Deny Conditions:配置排除在拒绝条件之外的例外规则。

    表2 设置权限

    任务场景

    角色授权操作

    设置HBase管理员权限

    1. 在首页中单击“HBase”区域的组件插件名称,例如“HBase”。
    2. 选择“Policy Name”为“all - table, column-family, column”的策略,单击按钮编辑策略。
    3. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。

    设置用户创建表的权限

    1. 在“HBase Table”配置表名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Create”。
    4. 该用户具有以下操作权限:

      create table

      drop table

      truncate table

      alter table

      enable table

      flush table

      flush region

      compact

      disable

      enable

      desc

    设置用户写入数据的权限

    1. 在“HBase Table”配置表名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Write”。
    4. 该用户具有put,delete,append,incr,bulkload等操作权限。

    设置用户读取数据的权限

    1. 在“HBase Table”配置表名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Read”。
    4. 该用户具有get,scan操作权限。

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

    1. 在“HBase Table”配置表名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Admin”。
    4. 该用户具有rsgroup,peer,assign,balance等操作权限。

    设置列的读取或写入权限

    1. 在“HBase Table”配置表名。
    2. 在“HBase Column-family”配置列族名。
    3. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    4. 单击“Add Permissions”,勾选“Read”或者“Write”。

    如果用户在hbase shell中执行desc操作,需要同时给该用户赋予hbase:qouta表的读权限。

  5. (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击按钮添加。如需删除策略有效期,可单击按钮删除。
  6. 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。

    如需禁用某条策略,可单击按钮编辑策略,设置策略开关为“Disabled”。

    如果不再使用策略,可单击按钮删除策略。