弹性 MapReduce StarRocks 集成 Ranger

StarRocks 支持版本 : 3.1.9 及以后版本,Ranger 版本 2.1 及以后版本。

相关产品
弹性 MapReduce 产品页,含版本规格、价格与购买入口。

一、前提条件

·暂不支持 Kerberos 认证的 Ranger Server。

·如果 StarRocks 与 Ranger 不在同一个集群,需确保 StarRocks 集群 Ranger 集群位于同一 VPC 内。

·允许 StarRocks FE 节点可以访问 Ranger 服务的相关端口,如果显示 Connected to <ip>,则表示连接成功。

telnet <ranger-ip> <ranger-port>

二、步骤一:在 Ranger Admin 上配置 StarRocks Service

1. EMR Ranger 在 StarRocks 存算分离集群中默认配置了 StarRocks Service ,因此登录 Ranger Admin 后,直接可以看到界面上已经配置了默认名称为 StarRocks 的服务,可以直接使用。

2. 如果不使用系统推荐,可以点击 STARROCKS 后的加号 (+) 配置新的 StarRocks Service 信息。

参数 说明
Service Name 服务名称,必填。
Username 和 Password 登录集群的用户名密码
jdbc.url 填写 StarRocks 实例 FE 点的 IP 和端口。格式为 jdbc:mysql://<FE 地址>:<fe_query_port>。其中涉及参数如下:<FE 地址>:StarRocks 实例中 FE 节点的地址,请前往资源管理查看。<fe_query_port>:StarRocks 实例中 FE 的查询端口(默认为9030)

3. 单击 Test Connection,测试连通性。

4. 测试成功后,单击 Add。

自动跳转至 Service Manager 页面,即可看到添加好的 StarRocks 服务。

三、步骤二:配置管理员用户的权限

如果你需要使用 Ranger 管理 StarRocks 内表的权限,请在 Ranger Admin 中为管理用户 root 和 admin 授予所有 StarRocks 权限,确保 StarRocks 的管控功能正常使用。

EMR 默认情况下已创建好以下用户并授权完成。以下以 root 用户授权为例。

1. 在 Ranger UI 页面,单击上方的 Access Manager。

2. 在 Service Manager 页面,单击创建好的 StarRocks 服务进入 Policy 管理页面。

3. 单击每项策略 Action 列的图标。

4. 在 Allow Conditions 区域的 admin 处添加 root 用户(系统已默认配置)。

确保 root 用户拥有对数据库、表、列等对象的完全控制权限。

四、步骤三:前往 StarRocks 完成集成 Ranger 配置

EMR 的开箱参数已经完成了 Ranger 中 StarRocks Service 名称为 StarRocks 的相关配置,建议使用系统默认配置,如需修改请参考以下内容。

配置文件名称 参数 说明
ranger-starrocks-security.xml ranger.plugin.starrocks.service.name Ranger 中对应的 StarRocks 服务名称。例如 StarRocks。
 ranger.plugin.starrocks.policy.source.impl 获取 Ranger 鉴权策略使用的类。填写为 org.apache.ranger.admin.client.RangerAdminRESTClient。
 ranger.plugin.starrocks.policy.rest.url Ranger Admin 的地址,可以通过进入 Ranger 查看 WebUI 地址。
fe.conf access_control 用于 StarRocks 的内表鉴权方式。填写为 Ranger。

五、步骤四:复用其他 Service 来为外表鉴权

对于 External Catalog,可以复用外部 Service(如 Hive Service)实现访问控制。StarRocks 支持对于不同的 Catalog 匹配不同的 Ranger service。用户访问外表时,会直接根据对应外表的 Service 来进行访问控制。用户权限与 Ranger 同名用户一致。

1. 复制你 Hive 集群中的 Ranger 相关配置文件 ranger-hive-security.xml 和 ranger-hive-audit.xml 拷贝至所有 FE 机器的 fe/conf 文件下,请确保配置文件中 Ranger 的 IP 以及端口正确。

2. 重启所有 FE。

3. 配置 Catalog。

·创建 External Catalog 时,添加 PROPERTIES "ranger.plugin.hive.service.name"

CREATE EXTERNAL CATALOG hive_catalog_1 PROPERTIES ( "type" = "hive", "hive.metastore.type" = "hive", "hive.metastore.uris" = "thrift://xx.xx.xx.xx:9083", "ranger.plugin.hive.service.name" = "<ranger_hive_service_name>")

·也可以对已有的 External Catalog 添加该属性。将已有的 Catalog 转换为通过 Ranger 鉴权

ALTER CATALOG hive_catalog_1 SET ("ranger.plugin.hive.service.name" = "<ranger_hive_service_name>");

六、后续操作

StarRocks 中对于 Ranger 集成的配置请前往 集群服务 > 配置管理 中进行配置。

关于如何在 Ranger 上创建权限策略来管理数据安全,请参见 Apache Ranger 页面。

=

赞 (0)
上一篇 5天前
下一篇 5天前