添加MirrorMaker的Ranger访问权限策略
操作场景
Kafka MirrorMaker是一个基于Apache Kafka的工具,用于在两个Kafka集群之间进行数据同步。它通过消费一个集群中的消息并将这些消息生产到另一个集群中,从而实现集群之间的数据镜像。MirrorMaker常用于灾备、数据迁移、跨地域同步等场景, 是Kafka跨集群复制的核心组件。
Ranger管理员可通过Ranger为MirrorMaker用户配置Kafka MM2(MirrorMaker 2)流的增、删、改、查权限以及管理权限。
本章节以为用户“mm2_test”添加“c1->c2”流的“查询”权限为例进行说明。
约束与限制
该章节操作仅MRS 3.6.0及之后版本支持。
前提条件
- 已安装Ranger服务且服务运行正常。
- MirrorMaker的部署配置正确,能够通过认证连接到Kafka集群。
- 已创建需要配置权限的MirrorMaker用户,例如用户mm2_test。
- 本章节以为添加“c1->c2”流的“查询”权限为例。所以需要提前使用管理员用户(已添加到kafkaadmin用户组)创建“c1->c2”流,才能在“Kafka MM2 Flow”中进行选择。
- 集群已启用Kerberos认证(安全模式)时,MirrorMaker的Ranger鉴权默认开启,如果需要修改MirrorMaker的Ranger鉴权,可以执行以下操作:
在FusionInsight Manager页面,选择“集群 > 服务 > Kafka > 配置 > 全部配置”,搜索并修改参数“mm2.external.authorizer.class.name”后,重启MirrorMaker实例或Kafka服务。参数取值含义如下:
- com.huawei.ranger.authorization.mm2.authorizer.RangerKafkaMm2Authorizer:开启Ranger鉴权。
- org.apache.kafka.connect.mirror.rest.filter.SimpleAuthorizer:关闭Ranger鉴权。此选项是MM2开源自带鉴权插件,相比Ranger较为简单,主要依赖HTTP Basic Auth进行认证。
操作步骤
- 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger WebUI界面。
- 在首页中单击“KAFKA-MM2”区域的组件插件名称如“Kafka-MM2”。

- 单击“Add New Policy”,添加Kafka MirrorMaker权限控制策略。
- 根据业务需求配置相关参数。
表1 Kafka MirrorMaker权限参数 参数名称
描述
Policy Type
策略类型,Access策略是基于具体资源路径的权限控制。
Policy Conditions
IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:192.168.1.x,192.168.2.x或者192.168.1.*。
Policy Name
策略名称,可自定义,不能与本服务内其他策略名称重复。
Policy Label
为当前策略指定一个标签,您可以根据这些标签搜索报告和筛选策略。
Kafka MM2 Flow
配置当前策略适用的Kafka MM2 Flow名称,可以填写多个值。支持通配符,例如:c1->c2、*。
“Include”策略适用于当前输入的对象,“Exclude”表示策略适用于除去当前输入内容之外的其他对象。
Description
策略描述信息。
Audit Logging
是否审计此策略。
Allow Conditions
策略允许条件,配置本策略内允许的权限及例外,例外条件优先级高于正常条件。
在“Select Role”、“Select Group”、“Select User”列选择已创建好的需要授予权限的Role、用户组或用户。
单击“Add Conditions”,添加策略适用的IP地址范围,单击“Add Permissions”,添加对应权限。
- Create: 创建流权限。
- Modify: 修改流权限。
- Delete: 删除流权限。
- Get: 查询流权限
- Select/Deselect All:全选/取消全选。
如需添加多条权限控制规则,可单击
按钮添加。如需当前条件中的用户或用户组管理本条策略,可勾选“Delegate Admin”,这些用户将成为受委托的管理员。被委托的管理员可以更新、删除本策略,它还可以基于原始策略创建子策略。
Deny Conditions
策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似,拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。
例如为用户“mm2_test”添加“c1->c2”流的查询权限,配置如下:
图1 Kafka MirrorMaker权限参数
表2 设置权限 任务场景
角色授权操作
设置Kafka MM2 Flow管理员权限
- 在首页中单击“KAFKA-MM2”区域的组件插件名称,例如“Kafka-MM2”。
- 选择“Policy Name”为“all - flow”的策略,单击
按钮编辑策略。 - 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Select/Deselect All”。
设置用户对Kafka MM2 Flow的创建权限
- 在“Kafka MM2 Flow”配置MM2Flow名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Create”。
设置用户对Kafka MM2 Flow的修改权限
- 在“Kafka MM2 Flow”配置MM2Flow名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Modify”。
设置用户对Kafka MM2 Flow的删除权限
- 在“Kafka MM2 Flow”配置MM2Flow名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Delete”。
设置用户对Kafka MM2 Flow的查询权限
- 在“Kafka MM2 Flow”配置MM2Flow名。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Get”。
- (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击
按钮添加。如需删除策略有效期,可单击
按钮删除。 - 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击
按钮编辑策略,设置策略开关为“Disabled”。如果不再使用策略,可单击
按钮删除策略。