apache-kafka - 与 kafka 或其他框架一起使用时是否存在 JAAS / SASL / PLAIN / SCRAM 的安全架构图?
问题描述
我不是专家,但我知道通常与 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 如何适合它,但没有运气。
有人能帮忙吗。
解决方案
您正在将 jaas 文件设置为 KAFKA_OPTS 或客户端属性中的 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 集群进行身份验证的应用用户信息
推荐阅读
- z3 - 量词中的非零向量
- c++ - 为什么小于 4 字节的整数类型的位操作会出现意外行为?
- tcl - 如何向 tcl 脚本传递一个字符串并正确解释它
- java - 尝试将鼠标悬停在选项卡上并自动单击 Selenium 中的特定项目
- c# - 如何在unity2d中碰撞后向物体添加力,以模拟用球棒击打棒球
- amazon-web-services - 从 Glue Cloudformation 模板对 Athena 表进行分区
- java - Spring Boot Java 发布请求
- python - 在 Matplotlib 中将图形添加到子图中
- angular - nginx -AWS EC2 -Angular 子路径不适用于直接请求
- google-apps-script - 将数据从一个 Google 电子表格保存到另一个以创建数据库