
# 添加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管理员用户登录Ranger WebUI页面，具体操作可参考[登录Ranger WebUI界面](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1850.html)。
2. 在首页中单击"KAFKA-MM2"区域的组件插件名称如"Kafka-MM2"。 
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002375197372.png "点击放大")
   
   
3. 单击"Add New Policy"，添加Kafka MirrorMaker权限控制策略。
4. 根据业务需求配置相关参数。 
   表1Kafka 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     | 该策略命中时是否生成审计日志。 - Yes：当用户触发该策略的权限校验时，无论校验结果是允许（Allow）还是拒绝（Deny），会生成一条审计日志。  - No：当用户触发该策略的权限校验时，不会生成任何审计日志。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
   | Allow Conditions  | 策略允许条件，配置本策略内允许的权限及例外，例外条件优先级高于正常条件。 在"Select Role"、"Select Group"、"Select User"列选择已创建好的需要授予权限的Role、用户组或用户。 单击"Add Conditions"，添加策略适用的IP地址范围，单击"Add Permissions"，添加对应权限。 - Create： 创建流权限。  - Modify： 修改流权限。  - Delete： 删除流权限。  - Get： 查询流权限  - Select/Deselect All：全选/取消全选。   如需添加多条权限控制规则，可单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002408756737.png)按钮添加。 如需当前条件中的用户或用户组管理本条策略，可勾选"Delegate Admin"，这些用户将成为受委托的管理员。被委托的管理员可以更新、删除本策略，它还可以基于原始策略创建子策略。 |
   | Deny Conditions   | 策略拒绝条件，配置本策略内拒绝的权限及例外，配置方法与"Allow Conditions"类似，拒绝条件的优先级高于"Allow Conditions"中配置的允许条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      
   例如为用户"mm2_test"添加"c1-\>c2"流的查询权限，配置如下：
   图1Kafka MirrorMaker权限参数
   ![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002375357252.png "点击放大")
   表2常见权限配置场景 
   | **任务场景**                 | **角色授权操作**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   |:---|:---|
   | 设置Kafka MM2 Flow管理员权限    | 1. 在首页中单击"KAFKA-MM2"区域的组件插件名称，例如"Kafka-MM2"。  2. 选择"Policy Name"为"all - flow"的策略，单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002408876901.png)按钮编辑策略。  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"保存。如需添加多条策略有效期，可单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002375197376.png)按钮添加。如需删除策略有效期，可单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002408756741.png)按钮删除。
6. 单击"Add"，在策略列表可查看策略的基本信息。等待策略生效后，验证相关权限是否正常。 
   如需禁用某条策略，可单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002375357256.png)按钮编辑策略，设置策略开关为"Disabled"。
   如果不再使用策略，可单击![](https://support.huaweicloud.com/cmpntguide-lts-mrs/zh-cn_image_0000002408876905.png)按钮删除策略。
   
   
 
#### 相关文档
- 配置Ranger策略时，不同条件的优先级可参考[Ranger权限策略条件判断优先级](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1851.html#mrs_01_1851__section2381255446)。
- 如需查看Ranger中的相关权限设置对象信息，例如用户、用户组、Role，可参考[查看Ranger用户权限同步信息](https://support.huaweicloud.com/cmpntguide-lts-mrs/mrs_01_1854.html)。
- MRS集群中新用户可在Manager中进行创建，可参考[创建MRS集群用户](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0345.html)。
 
