我正在从不同的资源收集数据,每个资源对每个客户端都有一个特定的主题。 我只想为每个用户授予对相应主题的访问权限,因此他们无法访问所有主题。 我正在使用Kafka 0.10,并且正在使用Kafka工具。 有解决办法吗?
您需要使用 ACL 配置授权。
如何启用 ACL:
在server.properties
文件中,需要通过添加以下行来创建Authorizer
:
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
现在,您需要按照文档进行操作,以便根据您的使用案例正确配置 ACL。
添加 ACL
现在,一旦一切就绪,让我们假设您有一个名为testTopic
的主题,您希望仅向具有 IP197.5.6.1
的主机调用Bob
的用户授予读取和写入访问权限:
bin/kafka-acls --authorizer-properties zookeeper.connect=localhost:2181
--add
--allow-principal User:'Bob' --allow-host '197.5.6.1'
--operation Read --operation Write
--topic testTopic