Configuration 卡夫卡:动态更新jaas配置

Configuration 卡夫卡:动态更新jaas配置,configuration,apache-kafka,jaas,broker,Configuration,Apache Kafka,Jaas,Broker,我已经使用sasl.jaas.config属性为卡夫卡设置了jaas配置。我想更新此配置并动态添加用户 根据此文档,我们可以使用bin/kafka configs.sh来实现这一点 上面的文档有配置栏,如下所示- 我已尝试使用以下命令更新sasl.jaas.config: bin/kafka-configs.sh--引导服务器本地主机:9092--实体类型代理--实体名称59--alter--添加配置sasl.jaas.config=“KafkaServer{\n org.apache.kafk

我已经使用
sasl.jaas.config
属性为卡夫卡设置了jaas配置。我想更新此配置并动态添加用户

根据此文档,我们可以使用
bin/kafka configs.sh
来实现这一点

上面的文档有配置栏,如下所示-

我已尝试使用以下命令更新
sasl.jaas.config

bin/kafka-configs.sh--引导服务器本地主机:9092--实体类型代理--实体名称59--alter--添加配置sasl.jaas.config=“KafkaServer{\n org.apache.kafka.common.security.plain.PlainLoginModule必需\n用户名=\“myuser\”\n密码=“mypassword\”;\n};\n客户端{\n org.apache.zookeeper.server.auth.DigestLoginModule所需\n用户名=\“myuser2\”\n密码=\“mypassword2\”;\n};“

但它给了我以下错误:

要求失败:无效的实体配置:要添加的所有配置必须采用“key=val”格式。

如果我看上面的专栏,它说
sasl.jaas.config
属性的值的格式是
(=)*
。这意味着什么


如何传递“sasl.jaas.config”的值以动态更新jaas-config?

虽然可以动态更新
sasl.jaas.config
以添加更多用户,但默认的普通登录模块不用于生产

相反,您应该定义回调处理程序来处理用户身份验证

另一个需要更多工作(但更具灵活性)的选项是创建自己的登录模块


关于您收到的错误消息,这似乎是
kafka config.sh
工具的问题。它不希望配置值包含
=
。您应该能够使用AdminClient API更新该配置


我在JIRA中找不到存在的问题,因此创建了一个新的问题:

感谢您的宝贵意见,我如何使用AdminClient API更新sasl.jaas.config,从未使用过,任何关于该问题的示例都会很有帮助,再次感谢。我检查了,但其中包含的信息有限。您是否有任何示例/链接可以指导更多信息“编写回调处理程序以处理用户身份验证”。有关回调处理程序示例,请参阅KIP-86()。要使用AdminClient,请查看
alterConfigs()的Javadocs()
有关示例,请参阅OK谢谢,将检查这两个示例。