本文介绍了Kafka如何开启Ranger权限控制,以及Ranger Kafka权限配置说明。
前提条件
-
已创建选择了Kafka、Ranger和Ranger-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集群。
操作步骤
-
进入集群服务页面。
-
单击目标集群操作列的集群服务。
-
Ranger启用Kafka。
-
在集群服务页面,单击Ranger-plugin服务区域的状态。
-
在服务概述区域,打开enableKafka开关。
-
在弹出的对话框中,单击确定。
-
-
重启Kafka。
-
在集群服务页面,选择。
-
选择右上角的。
-
在弹出的对话框中,输入执行原因,单击确定。
-
在确认对话框中,单击确定。
-
-
在Ranger UI页面查看Kafka Service。
-
进入Ranger UI页面,详情请参见通过控制台访问开源组件Web界面。
-
在Ranger UI页面,单击配置好的emr-kafka。
在Ranger启用Kafka时会自动添加一个名称为emr-kafka的Kafka Service。
-
默认状态下,Kafka Service服务信息如下,您可以根据实际情况配置策略。
Apache Ranger 中 emr-kafka 服务包含 5 条默认策略:all - consumergroup、all - topic、all - transactionalid、all - cluster 和 all - 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插件。
> Kafka