我正在从不同的资源收集数据,每个资源对每个客户都有一个特定的主题。我只想为每个用户授予对相应主题的访问权限,因此他们无法访问所有主题。我正在使用 Kafka 0.10,并且正在使用 Kafka 工具。有解决办法吗?
问问题
515 次
1 回答
2
您需要使用 ACL 配置授权。
如何启用 ACL:
在您的server.properties
文件中,您需要Authorizer
通过添加以下行来创建一个:
authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer
现在您需要按照文档来根据您的用例正确配置 ACL。
添加 ACL
现在,一旦一切就绪,假设您有一个名为的主题,您希望仅向从具有 IP 的主机testTopic
调用的用户授予读写访问权限:Bob
197.5.6.1
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 \
于 2020-01-22T17:16:57.083 回答