[英]Kafka adding SASL users dynamically without cluster restart
我們想使用 SASL 向我們的 kafka 集群添加身份驗證。 正如我們所看到的,我們希望能夠頻繁地添加我們正在尋找的方法,而無需執行滾動重啟。
我們嘗試過的:
使用動態代理配置界面,為所有代理重新配置listener.name.sasl_plaintext.plain.sasl.jaas.config
。
kafka 代理發現了 zookeeper 的變化[2019-01-11 11:08:23,403] INFO Processing override for entityPath: brokers/1 with config: Map(listener.name.sasl_plaintext.plain.sasl.jaas.config -> encryptedPassword:XXX,keyLength:128,cipherAlgorithm:AES/CBC/PKCS5Padding,initializationVector:YYY,keyFactoryAlgorithm:PBKDF2WithHmacSHA512,salt:ZZZ,iterations:4096,passwordLength:270) (kafka.server.DynamicConfigManager)
但是,在代理重新啟動之前,新用戶無法連接。
是否可以在不重新啟動 Kafka 集群的情況下將新用戶添加到 SASL JAAS 配置中?
如果您在sasl_plaintext
中使用plain
機制,則根據此答案,您將無法在正在運行的集群中添加新用戶。
相反,您可以切換到SCRAM
機制,然后,您將能夠使用如下命令在運行集群中創建一個用戶:
$ > bin/kafka-configs.sh --zookeeper localhost:2181 --alter --add-config 'SCRAM-SHA-256=[iterations=8192,password=alice-secret],SCRAM-SHA-512=[password=alice-secret]' --entity-type users --entity-name alice
但是,您仍然需要保留 JAAS 配置文件,但是,您只需在啟動服務器時傳遞一次即可。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.