2017-07-06 53 views
0

我和主題自動創建和刪除3節點不安全的卡夫卡(v0.10.2.1)羣集在server.properties限制主題創建/變更

auto.create.topics.enable=false 
delete.topic.enable=true 

主題下面,然後創建禁用/改變在集羣上使用bin/kafka-topics.sh。然而,一旦他們知道了終點,任何人都可以在羣集上創建主題。

有沒有辦法鎖定特定主機的主題創建/更改以防止濫用?


編輯1
由於ACL有人建議,我試圖限制主題產生使用kafka-acls.sh選擇主機。

我在將以下內容添加到server.properties之後重新啓動了代理。

authorizer.class.name=kafka.security.auth.SimpleAclAuthorizer           
allow.everyone.if.no.acl.found=true 

我試過以下限制本地主機上的主題創建。

bin/kafka-acls.sh --authorizer-properties zookeeper.connect=localhost:2181 --add --allow-principal User:* --cluster --operation Create --allow-host 127.0.0.1 

不過,我仍然能夠使用kafka-topics.sh用正確的端點的其他主機制造話題。沒有身份驗證的情況下,ACL是否可以使用?


回答

2

您需要使用訪問控制列表(ACL)來限制這樣的操作,並暗示知道來電者是誰,所以你需要卡夫卡被擺在首位的認證機制進行保護。

的ACL:http://kafka.apache.org/documentation.html#security_authz

認證可以使用SSL或SASL或通過在自定義提供堵塞進行,看到相同的文檔的前面部分。

禁用自動創建不是訪問控制機制,它只意味着嘗試生成或從某個主題消費不會自動創建它。

+0

根據您的建議更新了問題Michal –