本文介绍如何集成HBase到Ranger,以及如何配置权限。
前提条件
已创建选择了HBase和Ranger服务的集群,创建集群详情请参见创建集群。
操作步骤
-
进入集群服务页面。
-
-
在顶部菜单栏处,根据实际情况选择地域和资源组。
-
单击目标集群操作列的集群服务。
-
-
Ranger启用HBase。
-
在集群服务页面,单击Ranger-plugin服务区域的状态。
-
在服务概述区域,打开enableHBase开关。
-
在弹出的对话框中,单击确定。
-
-
在Ranger UI页面查看HBase Service。
-
进入Ranger UI页面,详情请参见访问Ranger UI。
-
在Ranger UI页面,单击配置好的emr-hbase。
在Ranger启用HBase时会自动添加一个名称为emr-hbase的HBase Service。
-
您可以根据实际情况配置策略。
相关参数描述如下。
参数
说明
Service Name
服务名称,固定值为emr-hbase。
Username
用户名,本示例为hbase。
Password
密码,用户自定义。
hadoop.security.authentication
-
标准集群(非高安全集群):选择Simple。
-
高安全集群:选择Kerberos。
hbase.master.kerberos.principal
标准集群时不填写;高安全集群时填写hbase/_HOST@EMR.${CLUSTER_ID}.COM。
说明${CLUSTER_ID}可登录机器执行hostname命令,hostname中的'.'后以'c-'开始的字符串转换为大写即为${CLUSTER_ID}的值。hbase.security.authentication
-
标准集群(非高安全集群):选择Simple。
-
高安全集群:选择Kerberos。
hbase.zookeeper.property.clientPort
固定值2181。
hbase.zookeeper.quorum
固定值master-1-1。
zookeeper.znode.parent
固定值
/hbase。Add New Configurations
-
Name:固定值policy.download.auth.users。
-
Value:固定值hbase。
-
-
-
重启HBase。
-
在集群服务页面,选择。
-
选择。
-
在弹出的对话框中,输入执行原因,单击确定。
-
在确认对话框中,单击确定。
-
设置管理员账号
-
进入Ranger UI页面,详情请参见访问Ranger UI。
-
在Ranger UI页面,单击配置好的emr-hbase。
-
设置管理员账号的权限(admin权限),用于执行管理命令。
例如balance、compaction、flush或split等。因为当前服务已经存在权限策略,所以您只需单击右侧的
图标,在User中添加需要设置的账号即可。另外也可以修改其中的权限(例如只保留admin权限)。HBase账号必须默认设置为管理员账号。默认策略名称为 all - table, column-family, column,关联用户为 hbase。如果使用Phoenix,则需在Ranger的HBase中新增如下策略。
参数
示例
HBase Table
SYSTEM.*
HBase Column-family
星号(*)
HBase Column
星号(*)
Select Group
public
Permissions
Read、Write、Create和Admin
权限配置示例
例如,给test用户授予表foo_ns:test的Create、Write和Read权限。
-
进入Ranger UI页面,详情请参见访问Ranger UI。
-
在Ranger UI页面,单击配置好的emr-hbase。
-
单击右上角的Add New Policy。
-
根据您的实际需求配置相关参数。
参数
描述
Policy Name
策略名称,可以自定义。
HBase Table
表对象,格式为
${namespace}:${tablename}。可输入多个,填写一个需按一次Enter键。本文示例配置为foo_ns:test。如果${namespace}是default,则不需要加default。支持通配符星号(*)。例如,foo_ns:*表示foo_ns下的所有表。
说明目前不支持
default:*。HBase Column-family
列簇。例如配置为
*。HBase Column
列名。例如配置为
*。Select Group
指定添加此策略的用户组。
Select User
指定添加此策略的用户。例如,test。
Permissions
选择授予的权限。例如,Read、Write、Create和Admin。
-
单击Add。
添加Policy后,实现了对test用户的授权。test用户即可以对foo_ns:test表进行访问。
说明添加、删除或修改Policy后,需要等待约一分钟至授权生效。
