添加HBase的Ranger访问权限策略
操作场景
管理员可通过Ranger为HBase用户配置HBase表和列族,列的权限。
前提条件
- 已安装Ranger服务且服务运行正常。
- 已创建需要配置权限的用户、用户组或Role。
操作步骤
- 登录Ranger管理界面。
- 在首页中单击“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
将适用该策略的表。
可支持通配符“*”,例如“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管理员权限
- 在首页中单击“HBase”区域的组件插件名称,例如“HBase”。
- 选择“Policy Name”为“all - table, column-family, column”的策略,单击按钮编辑策略。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
设置用户创建表的权限
设置用户写入数据的权限
- 在“HBase Table”配置表名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Write”。
- 该用户具有put,delete,append,incr,bulkload等操作权限。
设置用户读取数据的权限
- 在“HBase Table”配置表名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Read”。
- 该用户具有get,scan操作权限。
设置用户管理命名空间或表的权限
- 在“HBase Table”配置表名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Admin”。
- 该用户具有rsgroup,peer,assign,balance等操作权限。
设置列的读取或写入权限
- 在“HBase Table”配置表名。
- 在“HBase Column-family”配置列族名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Read”或者“Write”。
如果用户在hbase shell中执行desc操作,需要同时给该用户赋予hbase:qouta表的读权限。
- (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击按钮添加。如需删除策略有效期,可单击按钮删除。
- 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击按钮编辑策略,设置策略开关为“Disabled”。
如果不再使用策略,可单击按钮删除策略。