配置步骤
安装 Ranger Plugin:
- 下载并安装 Ranger HBase插件。
配置HBase:
- 修改hbase-site.xml 文件,添加以下配置:
<property> <name>hbase.security.authorization</name> <value>true</value> </property> <property> <name>hbase.coprocessor.master.classes</name> <value>org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor</value> </property> <property> <name>hbase.coprocessor.region.classes</name> <value>org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor</value> </property>配置 Ranger:
- 使用Ranger管理员用户rangeradmin登录Ranger管理页面。
- 在首页中单击“HBASE”区域的组件插件名称,例如“HBase”。
- 单击“Add New Policy”,添加HBase权限控制策略。
- 根据业务需求配置相关参数。
HBase权限参数如下:
设置权限场景如下:参数名称 描述 Policy Name 策略名称,可自定义,不能与本服务内其他策略名称重复。 Policy Conditions IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:172.138.1.10,172.138.1.20或者172.138.1.*。 Policy Label 为当前策略指定一个标签,可以根据这些标签搜索报告和筛选策略。 HBase Table 将适用该策略的表。
可支持通配符“*”,例如“table1:*”表示table1下的所有表。
“Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。
<strong>说明:</strong>
Ranger界面上HBase服务插件的“hbase.rpc.protection”参数值必须和HBase服务端的“hbase.rpc.protection”参数值保持一致。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:配置排除在拒绝条件之外的例外规则。
| 任务场景 | 角色授权操作 |
| 设置HBase管理员权限 |
|
| 设置用户创建表的权限 |
drop table truncate table alter table enable table flush table flush region compact disable enable desc |
| 设置用户写入数据的权限 |
|
| 设置用户读取数据的权限 |
|
| 设置用户管理命名空间或表的权限 |
|
| 设置列的读取或写入权限 |
|
> **说明:**
>
> 如果用户在hbase shell中执行desc操作,需要同时给该用户赋予hbase:quota表的读权限。
>
(可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击
按钮添加。如需删除策略有效期,可单击
按钮删除。单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击
按钮编辑策略,设置策略开关为“Disabled”。
如果不再使用策略,可单击
按钮删除策略。重启 HBase:
- 重启 HBase 服务以应用配置。
按钮添加。如需删除策略有效期,可单击
按钮删除。
按钮编辑策略,设置策略开关为“Disabled”。
按钮删除策略。