2016-11-17 105 views
1

我有一個3節點的Kafka集羣和2個kafka客戶端用於生產者和消費者。我已啓用SSL身份驗證。我想爲集羣啓用授權。我在代理節點的server.properties中添加了以下屬性。誰在設置kafka集羣的授權

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

我知道,這是存儲ACL信息的飼養員。我想知道誰可以爲不同的客戶設置授權。授權如何設置?

回答

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 

上述命令將它表示允許用戶Alice和Bob從主機198.51.100.0,198.51.100.1連接的ACL,「讀」和「寫」操作上話題'測試話題'。添加和刪​​除ACL已被明確解釋爲here
讓我知道如果你有任何疑問。