当前位置: 首页 > 知识库问答 >
问题:

谁在为kafka集群设置授权

艾文斌
2023-03-14

我有一个3节点kafka集群和2个面向生产者和消费者的Kafka客户端。我已经启用了SSL认证。我想为群集启用授权。我已经在我的服务器中添加了下面的属性。

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

我知道是动物园管理员存储acl信息。我想知道谁可以为不同的客户端设置授权。授权是如何设置的?

共有1个答案

仲孙逸明
2023-03-14

设置authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer后,群集将通过授权检查与代理的每个连接。

谁可以为不同的客户端设置授权?
我认为任何可以执行 kafka-acls.sh 可执行文件的用户都可以设置授权。如果需要将功能限制为仅您自己,则可以将文件的权限更改为 700。

如何设置授权
设置SimpleAclAuthorizer后,默认情况下,除非在ACL中指定,否则用户不允许访问任何资源。您可以按如下方式添加新ACL:

bin/kafka-acls --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:Bob --allow-principal User:Alice --allow-host 198.51.100.0 --allow-host 198.51.100.1 --operation Read --operation Write --topic Test-topic

上面的命令添加了一个ACL,表示允许用户Bob和Alice从主机198.51.100.0198.51.100.1连接,对主题“测试主题”执行“读取”和“写入”操作。添加和删除ACL在这里有明确的解释
如果您还有任何疑问,请告诉我。

 类似资料:
  • 我想建立一个多kafka集群,大约有3个zookeeper实例,每个集群中有3个kafka代理,每个kafka经纪人大约有5个主题和5个分区。有什么设置指南可以参考吗? PS:我可以找到带有多个Kafka代理的单个zookeeper实例的信息,但不能找到带有多个zookeeper实例的设置。

  • 我一直在关注Kafka Quickstart在一台机器上“设置多代理集群”。(只是为了测试目的)。 用三个属性文件运行Kafka效果良好。(我在一台机器上运行它们进行测试) 1)我是为三台机器运行三个Zookeeper?使用相同的端口(2181)?还是只在一台机器上运行一个Zookeeper? 2)当我使用server.properties运行Kafka时,我知道每台机器应该有不同的broker.

  • 在我们的一个基于spring boot的服务中,我们打算同时连接到两个不同的kafka集群。这些集群都有自己的引导服务器集、主题配置等。它们之间没有任何关联,就像这个问题中的情况一样。 我将有不同类型的消息从不同主题名称的每个集群中读取。可能有或可能没有多个生产者通过此服务连接到两个集群,但我们肯定每个集群至少有一个消费者。 我想知道如何在application.yml中定义属性以满足此设置,以便

  • 我有一个用例,我想建立一个Kafka集群,最初我有1个Kafka Broker(A)和1个Zookeeper节点。以下是我的疑问: > 在向集群添加新的Kafka Broker(B)时。代理A上存在的所有数据都会自动分发吗?如果不是,我需要做的是分发数据。 不,让我们假设情况以某种方式解决了!我的数据分布在两个代理上。现在由于一些维护问题,我想关闭服务器B。 如何将经纪商B的数据传输到已经存在的经

  • 我试图通过https://docs.confluent.io/platform/current/security/security_tutorial.htmlSSL密钥和用户名/密码来设置集群,就像描述的那样。 但是未能找到一种合适的方法来设置密钥的dname和代理的参数“super.users” 它被告知创建一个密钥: 稍后配置代理服务器。设置超级用户所需的属性: 因为本教程将代理间安全协议配置

  • 本章节将介绍如何设置本地节点群集,如何使其成为私有的,以及如何使你在eth-netstat网络上的节点协同工作来监控应用程序。作为网络集成测试(与网络/blockchain同步/消息传播等相关的问题,DAPP开发人员测试多块和多用户场景)的后端,完全可供你的ethereum网络是非常有用的。 我们假设您可以通过安装指南构建geth 设置多个节点 为了在本地运行多个ethereum节点,您必须确保: