添加HBase的Ranger访问权限策略
操作场景
HBase通常存储着大量结构化业务数据,不同业务团队及角色对HBase表、列族、列的访问需求存在差异。HBase原生权限控制机制分散且精细化不足,通过原生命令配置权限繁琐易出错,还难以实现集中管理与审计,存在数据安全风险。为此,Ranger管理员可通过Ranger为HBase用户配置表、列族及列的权限。本场景适用于Ranger管理员、Hadoop集群安全运维人员,用于完成HBase用户权限的分配、调整与回收,保障数据访问安全与业务合规。
前提条件
- 集群中已安装Ranger服务且服务运行正常。
- 集群中已创建需要配置权限的用户、用户组或Role,如果是新创建的用户,需等待用户自动同步至Ranger后才可以配置相关权限策略。
操作步骤
- 使用Ranger管理员用户登录Ranger WebUI管理页面,具体操作可参考登录Ranger WebUI界面。
- 在首页中单击“HBASE”区域的组件插件名称如“HBase”。
- 单击“Add New Policy”,添加HBase权限控制策略。
- 根据业务需求配置相关参数。
表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
适用该策略的HBase表。
可支持通配符“*”,例如“table1:*”表示table1下的所有表。
“Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。
Ranger界面上HBase服务插件的“hbase.rpc.protection”参数值必须和HBase服务端的“hbase.rpc.protection”参数值保持一致,具体请参考配置HBase权限策略时无法使用通配符搜索已存在的HBase表。
HBase Column-family
适用该策略的HBase列族。
“Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。
HBase Column
适用该策略的HBase列。
“Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。
Description
策略描述信息。
Audit Logging
该策略命中时是否生成审计日志。
- Yes:当用户触发该策略的权限校验时,无论校验结果是允许(Allow)还是拒绝(Deny),会生成一条审计日志。
- No:当用户触发该策略的权限校验时,不会生成任何审计日志。
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管理员权限
- 在首页中单击“HBase”区域的组件插件名称,例如“HBase”。
- 选择“Policy Name”为“all - table, column-family, column”的策略,单击
按钮编辑策略。 - 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
设置用户创建表的权限
- 在“HBase Table”配置表名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Create”。
设置用户写入数据的权限
设置用户读取数据的权限
设置用户管理命名空间或表的权限
设置列的读取或写入权限
- 在“HBase Table”配置表名。
- 在“HBase Column-family”配置列族名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Read”或者“Write”。
如果用户需要在HBase Shell中执行desc操作,需要同时给该用户赋予hbase:quota表的读权限。
- (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击
按钮添加。如需删除策略有效期,可单击
按钮删除。 - 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击
按钮编辑策略,设置策略开关为“Disabled”。如果不再使用策略,可单击
按钮删除策略。
相关文档
- 配置Ranger策略时,不同条件的优先级可参考Ranger权限策略条件判断优先级。
- 如需查看Ranger中的相关权限设置对象信息,例如用户、用户组、Role,可参考查看Ranger用户权限同步信息。
- MRS集群中新用户可在Manager中进行创建,可参考创建MRS集群用户。