配置Kafka开启Ranger权限控制

更新时间:
复制 MD 格式

本文介绍了Kafka如何开启Ranger权限控制,以及Ranger Kafka权限配置说明。

前提条件

  • 已创建选择了Kafka、RangerRanger-plugin服务的DataFlow集群,创建集群详情请参见创建DataFlow Kafka集群

  • 集群已开启SASL功能,开启详情请参见使用SASL登录认证Kafka服务

    重要
    • 在配置SASL身份验证时,由于EMR Ranger插件为Kafka集群默认生成的服务将所有权限赋予了名为kafka的用户,因此您需要在SASL认证中配置kafka用户的登录权限。

    • 如果您需要创建自定义的管理员用户,则需要在Kafka服务的server.properties文件中新增配置项super.users,以赋予其超级用户权限。

      新增配置项详情,请参见管理配置项

使用限制

本文仅适用于EMR 3.45.0以上版本(3.x系列)的EMR集群。

说明

由于EMR 5.x系列的Kafka不支持Ranger鉴权,所以本文档不适用于5.x系列的EMR集群。

操作步骤

  1. 进入集群服务页面。

    1. 登录E-MapReduce控制台

    2. 单击目标集群操作列的集群服务

  2. Ranger启用Kafka。

    1. 集群服务页面,单击Ranger-plugin服务区域的状态

    2. 服务概述区域,打开enableKafka开关。

    3. 在弹出的对话框中,单击确定

  3. 重启Kafka。

    1. 集群服务页面,选择more > Kafka

    2. 选择右上角的更多操作 > 重启

    3. 在弹出的对话框中,输入执行原因,单击确定

    4. 确认对话框中,单击确定

  4. Ranger UI页面查看Kafka Service。

    1. 进入Ranger UI页面,详情请参见通过控制台访问开源组件Web界面

    2. Ranger UI页面,单击配置好的emr-kafka

      Ranger启用Kafka时会自动添加一个名称为emr-kafkaKafka Service。

    3. 默认状态下,Kafka Service服务信息如下,您可以根据实际情况配置策略。

      Apache Ranger 中 emr-kafka 服务包含 5 条默认策略:all - consumergroupall - topicall - transactionalidall - clusterall - delegationtoken,所有策略均已启用(Enabled),且均分配给 public 组和 kafka 用户。您可以通过页面右上角的 Add New Policy 按钮新增策略,也可以对已有策略执行查看、编辑或删除操作。

      重要

      为确保Dataflow Kafka的正常运行,系统默认使用kafka用户作为管理员角色,请务必保证此kafka用户具备所有必要的权限。

常见问题

配置 Ranger 权限时是否需要在 Ranger UI 中手动创建用户?

不需要。只需在 Ranger 策略中添加用户即可,用户实体需在 EMR 控制台用户管理中添加 RAM 用户或在 LDAP 中创建。

开启 Ranger 权限控制对现有服务和账号有什么影响?

启用后需重启相关服务(重启期间服务短暂不可用);所有操作将受 Ranger 策略管控,未授权请求会被拒绝;现有账号只要在 Ranger 策略中被授予相应权限即可正常访问,不会因开启 Ranger 而自动失效。

如何配置只读账号?

通过 Ranger UI 配置仅包含 Select 等读取权限的策略,并将该策略分配给目标用户即可实现只读控制。

相关文档

  • 如果集群没有所需的服务,您可自行添加,详情请参见新增服务

  • 如果您的集群是EMR 3.45.0及以下版本,则需要手动集成Ranger,详情请参见手动集成Ranger Kafka插件