kafka在不重启集群的情况下动态添加sasl用户

ndasle7k  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(493)

我们希望通过使用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配置添加新用户?

vxqlmq5t

vxqlmq5t1#

如果您正在使用 plain 中的机制 sasl_plaintext ,基于此答案,您无法在正在运行的群集中添加新用户。
相反,您可以切换到 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配置文件,但是在启动服务器时只需传递一次。
这里是Kafka文档中关于使用 SCRAM 机制。

相关问题