问题描述
我不是专家,但我知道通常与 kafka 一起使用的身份验证机制。
kafka 的常见用例/实现使用 SASL Plain 或 SASL SCRAM 即security.protocol=SASL_SSL
或 security.protocol=SASL_PLAINTEXT
(不推荐用于 PLAIN 机制)
和sasl.mechanism=SCRAM-SHA-256
或 512 或 sasl.mechanism=PLAIN
(不再推荐)。
然后我看到 JAAS 配置如下 -sasl.jaas.config = org.apache.kafka.common.security.scram.ScramLoginModule required username password
我没有看到的是 JAAS 如何适应客户端和服务器架构。有没有我可以参考的架构图来获得更大的图景。我在谷歌上搜索了 kafka 的安全架构以及 JAAS 如何适应它,但没有运气。
有人可以帮忙吗。
解决方法
您正在 KAFKA_OPTS 或客户端属性中将 jaas 文件设置为 java 参数
导出 KAFKA_OPTS="-Djava.security.auth.login.config=/etc/kafka/client_jaas.conf"
使用 KafkaClient {}
或者使用客户端配置
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule 需要
用户名=“用户”
密码="psw";
https://docs.confluent.io/platform/current/kafka/authentication_sasl/index.html
或者如果您使用的是 java spring 框架,请查看此文档
https://docs.spring.io/spring-security/site/docs/4.2.x/reference/html/jaas.html
Jaas 是包含对 kafka 集群进行身份验证的应用用户信息的文件/配置