我正在探索Kafka 0.9.1的安全功能,但无法成功使用它。
我在server.properties
中设置了以下配置allow.everyone.if.no.acl.found =假 super.users =用户:根;用户:卡夫卡
我使用以下命令
创建了一个ACL./ kafka-acls.sh --authorizer-properties zookeeper.connect = --add --allow-principal用户:imit --allow-host --topic imit --producer --consumer - group imit-consumer-group
我在下面看到它的响应
资源Topic:imit
的当前ACL:
用户:imit具有允许操作权限:从主机描述:
用户:imit具有允许操作权限:从主机读取:
用户:imit具有允许操作权限:从主机写入:
注意:<>中提到的值在问题中替换为一些虚拟值,并在创建ACL时正确使用
我有以下观察:
a)虽然我定义了imit主题的规则来访问特定主机的特定使用但我可以使用任何用户帐户从任何主机写入主题。
b)我无法从任何主机或任何用户帐户读取主题中的消息(即使使用我已定义规则的消息)。
我在RHEL 6.7上运行Kafka,所有用户都是本地用户。
感谢是否有人可以指导,如果我缺少任何配置参数或命令来管理授权,或者Kafka表现得很奇怪。
另外,我在哪里可以获得Kafka中与授权相关的日志?
谢谢&的问候,
萨迪普
答案 0 :(得分:2)
您可能在Server.properties中缺少以下设置。
authorizer.class.name = kafka.security.auth.SimpleAclAuthorizer
- 添加此行将使ACL能够通过SimpleAclAuthorizer工作。 - 默认情况下,Kafka附带参数authorizer.class.name
定义的kafka.security.auth.SimpleAclAuthorizer您可以尝试以下设置,这可能会给出完整的想法。