更新时间:2025-12-10 GMT+08:00
分享

添加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进行认证。

操作步骤

  1. 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger WebUI界面
  2. 在首页中单击“KAFKA-MM2”区域的组件插件名称如“Kafka-MM2”。

  3. 单击“Add New Policy”,添加Kafka MirrorMaker权限控制策略。
  4. 根据业务需求配置相关参数。

    表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管理员权限

    1. 在首页中单击“KAFKA-MM2”区域的组件插件名称,例如“Kafka-MM2”。
    2. 选择“Policy Name”为“all - flow”的策略,单击按钮编辑策略。
    3. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    4. 单击“Add Permissions”,勾选“Select/Deselect All”。

    设置用户对Kafka MM2 Flow的创建权限

    1. 在“Kafka MM2 Flow”配置MM2Flow名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Create”。

    设置用户对Kafka MM2 Flow的修改权限

    1. 在“Kafka MM2 Flow”配置MM2Flow名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Modify”。

    设置用户对Kafka MM2 Flow的删除权限

    1. 在“Kafka MM2 Flow”配置MM2Flow名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Delete”。

    设置用户对Kafka MM2 Flow的查询权限

    1. 在“Kafka MM2 Flow”配置MM2Flow名。
    2. 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
    3. 单击“Add Permissions”,勾选“Get”。

  5. (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击按钮添加。如需删除策略有效期,可单击按钮删除。
  6. 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。

    如需禁用某条策略,可单击按钮编辑策略,设置策略开关为“Disabled”。

    如果不再使用策略,可单击按钮删除策略。

相关文档