前面简介中介绍了 E-MapReduce 中创建启动 Ranger 服务的集群,以及一些准备工作,本节介绍 Kafka 集成 Ranger 的一些步骤流程。

Kafka 集成 Ranger

从 E-MapReduce-3.12.0 版本开始,E-MapReduce Kafka 支持用 Ranger 进行权限配置,步骤如下:

  • 通过主账号登录阿里云 E-MapReduce 控制台
  • 单击上方的集群管理页签。
  • 集群管理页面,单击相应集群所在行的详情
  • 启用Kafka
    1. 左侧导航栏单击集群服务 > RANGER
    2. 单击右侧的操作下拉菜单,选择 启用Kafka集群与服务管理
    3. 单击右上角的查看操作历史查看任务进度,等待状态为成功且进度为100%时,表示已完成启用kafka。操作历史
  • 重启 Kafka broker

    上述任务完成后,需要重启 broker 才能生效。

    1. 左侧导航栏单击集群服务 > Kafka
    2. 单击右侧的操作下拉菜单,选择 重启 Kafka Broker查看操作历史
    3. 单击右上角查看操作历史,查看任务进度,等待重启任务完成。
  • Ranger UI 页面添加 Kafka Service
    1. 进入 Ranger UI 页面,详情请参见Ranger 简介
    2. Ranger 的 UI 页面添加 Kafka Service:Ranger WebUI
    3. 配置 Kafka Serviceadd_service
      参数 说明
      Service Name 固定填写emr-kafka。
      Username 固定填写kafka。
      Password 可任意填写。
      Zookeeper Connect String 填写格式emr-header-1:2181/kafka-x.xx
      说明 其中kafka-x.xx根据kafka实际版本填写。

权限配置示例

上面一节中已经将 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 Group和User会自动从集群同步过来,可以提前在集群添加好,同步过来需要一分钟左右。
    Select User
    Permissions 单击add_permissions,选择Publish

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

  4. 单击add。添加一个 Policy 后,就实现了对 test 的授权,然后用户 test 就可以对 test 的topic进行写入操作。
    说明 Policy 添加后需要 1 分钟左右才会生效。