我有一个 3 节点 Kafka 集群和 2 个用于生产者和消费者的 kafka 客户端。我已启用 SSL 身份验证。我想为集群启用授权。我已在代理节点的 server.properties 中添加了以下属性。
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
我知道是zookeeper存储了acl信息。我想知道谁可以为不同的客户设置授权。以及权限是如何设置的?
设置完后authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
,集群通过授权检查与代理的每个连接。
谁可以为不同的客户设置授权?
I think任何可以执行 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.0,198.51.100.1 连接,对主题“Test-topic”进行“读”和“写”操作。添加和删除 ACL 已得到明确解释here http://docs.confluent.io/3.1.1/kafka/authorization.html.
如果您还有任何疑问,请告诉我。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)