创建HBase权限角色
操作场景
该任务指导MRS集群管理员在Manager创建并设置HBase的角色。HBase角色可设置HBase管理员权限以及HBase表和列族的读(R)、写(W)、创建(C)、执行(X)或管理(A)权限。
用户需要在HBase中对指定的数据库或表设置权限,才能够创建表、查询数据、删除数据、插入数据、更新数据以及授权他人访问HBase表。
- 本章节适用于MRS 3.x及之后版本。
- 仅开启了Kerberos认证的集群(安全模式)支持创建HBase角色。
- 如果当前组件使用了Ranger进行权限控制,须基于Ranger配置相关策略进行权限管理,具体操作可参考添加HBase的Ranger访问权限策略。
前提条件
- MRS集群管理员已明确业务需求。
- 已登录Manager。
创建HBase角色
- 在Manager界面,选择“系统 > 权限 > 角色”。
- 单击“添加角色”,然后在“角色名称”和“描述”输入角色名字与描述。
- 设置角色“配置资源权限”请参见表1。
HBase权限:
- HBase Scope:对HBase表授权,最小支持设置列的读(R)和写(W)权限。
- HBase管理员权限:HBase管理员权限。
用户对自己创建的表具有读(R)、写(W)、创建(C)、执行(X)或管理(A)权限。
表1 设置HBase角色资源权限 任务场景
角色授权操作
设置HBase管理员权限
在“配置资源权限”的表格中选择“待操作集群的名称 > HBase”,勾选“HBase管理员权限”。
设置用户创建表的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope”。
- 单击“global”。
- 在指定命名空间的“权限”列,勾选“创建”和“执行”。例如勾选默认命名空间“default”的“创建”和“执行”。
设置用户写入数据的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”。
- 在指定命名空间的“权限”列,勾选“写”。例如勾选默认命名空间“default”的“写”。HBase子对象默认可从父对象继承权限,此时已授予向命名空间中的表写入数据的权限。
设置用户读取数据的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”。
- 在指定命名空间的“权限”列,勾选“读”。例如勾选默认命名空间“default”的“读”。HBase子对象默认可从父对象继承权限,此时已授予从命名空间中的表读取数据的权限。
设置用户管理命名空间或表的权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”。
- 在指定命名空间的“权限”列,勾选“管理”。例如勾选默认命名空间“default”的“管理”。
设置列的读取或写入权限
- 在“配置资源权限”的表格中选择“待操作集群的名称 > HBase > HBase Scope > global”,单击指定命名空间显示命名空间的表。
- 单击指定的表。
- 单击指定的列族。
- 确认是否是新建角色?
- 是,在“资源名称”的输入框输入列名称,多个列用英文逗号分隔,勾选“读”或“写”。如果HBase表中不存在同名的列,则创建同名的列后角色将拥有该列的权限。列权限设置完成。
- 否,修改已有HBase角色的列权限,表格将显示已单独设置权限的列,执行5。
- 角色新增列权限,在“资源名称”的输入框输入列名称并设置列的权限。角色修改列权限,可以在“资源名称”的输入框输入列名称并设置列权限,也可以在表格中直接修改列的权限。若在表格中修改了列权限,又同时增加了同名的列权限,则无法保存。角色修改列权限,建议直接修改列的权限。支持搜索功能。
- 单击“确定”完成,返回“角色”。