我正在为生产者和消费者提供3节点Kafka群集和2个kafka客户端。我已启用SSL身份验证。我想为群集启用授权。我在代理节点中的server.properties中添加了以下属性。
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
我知道是存放acl信息的zookeeper。我想知道谁可以为不同的客户设置授权。授权是如何设定的?
答案 0 :(得分:0)
设置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.0,198.51.100.1,“读取”和“写入”操作连接主题“测试主题”。已经清楚地解释了添加和删除ACL here。
如果您有任何疑问,请告诉我。