1

我正在从不同的资源收集数据,每个资源对每个客户都有一个特定的主题。我只想为每个用户授予对相应主题的访问权限,因此他们无法访问所有主题。我正在使用 Kafka 0.10,并且正在使用 Kafka 工具。有解决办法吗?

4

1 回答 1

2

您需要使用 ACL 配置授权

如何启用 ACL:

在您的server.properties文件中,您需要Authorizer通过添加以下行来创建一个:

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer

现在您需要按照文档来根据您的用例正确配置 ACL。

添加 ACL

现在,一旦一切就绪,假设您有一个名为的主题,您希望仅向从具有 IP 的主机testTopic调用的用户授予读写访问权限:Bob197.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 回答