本文介绍如何将Kafka集成到Ranger,以及如何配置权限。

Kafka集成Ranger

  1. Ranger启用Kafka。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域(Region)和资源组
    3. 单击上方的集群管理页签。
    4. 集群管理页面,单击相应集群所在行的详情
    5. 单击右侧的操作,选择启用Kafka
      Enable Kafka PLUGIN
    6. 执行集群操作对话框设置相关参数,然后单击确定。在确认对话框,单击确定
      单击右上角查看操作历史查看任务进度,等待任务完成。
  2. Ranger UI页面添加Kafka Service。
    1. 进入Ranger UI页面,详情请参见Ranger简介
    2. 在Ranger UI页面,添加Kafka Service。
      Ranger WebUI
    3. 配置Kafka Service。
      add_service
      参数 说明
      Service Name 固定值emr-kafka
      Username 固定值kafka
      Password 可自定义。
      Zookeeper Connect String 填写格式emr-header-1:2181/kafka-x.xx
      说明 其中kafka-x.xx根据Kafka实际版本填写。
    4. 单击Add
  3. 重启Kafka Broker。
    1. 左侧导航栏单击集群服务 > Kafka
    2. 单击右上角操作下拉菜单,选择 重启 Kafka Broker
    3. 执行集群操作对话框设置相关参数,然后单击确定。在确认对话框,单击确定
      单击右上角查看操作历史查看任务进度,等待任务完成。

权限配置示例

上面一节中已经将Ranger集成到Kafka,现在可以设置权限。
注意 标准集群中,在添加了Kafka Service后,Ranger会默认生成规则all - topic,不作任何权限限制(即允许所有用户进行所有操作),此时Ranger无法通过用户进行权限识别。

以test用户为例,添加Publish权限。

  1. 单击配置好的emr-kafka
    click_emr_kafka
  2. 单击右上角的Add New Policy
  3. 填写参数。
    add_Policy
    参数 说明
    Policy Name 策略名称,可以自定义。
    topic 自定义。可填写多个,填写一个需按一次Enter键。
    Select Group 指定添加此策略的用户组。
    Select User 指定添加此策略的用户。
    Permissions 单击add_permissions,选择Publish

    单击Select Group下方的add_permissions,可以对多个Group进行授权。

  4. 单击Add
    添加Policy后,实现对test的授权。test用户即可以对名为test的topic执行写入操作。
    说明 添加、删除或修改Policy后,需要等待约一分钟至授权生效。