首页/数据/数据工程与 ETL 速查/Kafka 安全:SSL 与 SASL 要点
Kafka64 条

Kafka 安全:SSL 与 SASL 要点

生产集群建议同时启用传输加密与认证:TLS 保护链路、SASL 校验客户端身份、ACL 控制主题级权限;三者可以组合为 SASL_SSL。

加密SSL/TLS(keystore/truststore)
认证SASL 机制:SCRAM、GSSAPI、PLAIN(仅限内层加密)
授权ACL 控制主题/组/集群操作权限

服务端与客户端配置片段

服务端与客户端配置片段
# 服务端
listeners=SASL_SSL://0.0.0.0:9093
sasl.enabled.mechanisms=SCRAM-SHA-512
ssl.keystore.location=/etc/kafka/ssl/kafka.keystore.jks

# 客户端
security.protocol=SASL_SSL
sasl.mechanism=SCRAM-SHA-512
sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required \
  username="app-order" password="******";
开启认证/授权是分步迁移:先启用认证,再按客户端逐步启用 ACL,避免一次性全部拒绝造成业务中断。

易错点

  • 凭据写入配置文件要配合文件权限与密钥管理,禁止提交到代码仓库
  • 只启认证不配 ACL 等于“人人可读写全部主题”,安全收益有限

数据来源与参考

  • Apache Kafka 官方文档:Security(SSL、SASL、Authorization)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌