我们可以使用动态属性将包含 JaaS 配置路径的 java.security.auth.login.config 传递给 ConsumerKafka 处理器,而不在 bootstrap.conf 中进行设置吗?
是否可以?
这是不可能的。
属性“java.security.auth.login.config”是一种 JVM 系统属性,因此您只能在 bootstrap.conf 中设置它,并且整个 JVM 只能设置一个值。
Kafka 客户端接受属性“sasl.jaas.config”,因此您应该能够在处理器中指定动态属性,并将其作为名称,将 JAAS 条目作为值(不是 jaas 文件的路径,实际的路径)。 KafkaClient 条目的内容)。
但是,您不需要这样做。对于从 0.10 及更高版本开始的 Kafka 处理器,处理器中直接有一个用于主体和 keytab 的属性,或者有一个用于 keytab 凭证服务的属性。通过使用其中一种方法指定主体和密钥表,它将在幕后为您创建适当的 JAAS 条目。