第 8 章 保护 Kafka

一个安全部署 AMQ Streams 可以包括:

  • 数据交换加密
  • 证明身份的身份验证
  • 允许或拒绝用户执行操作的授权

8.1. Encryption

AMQ Streams 支持传输层安全(TLS),这是一个用于加密通信的协议。

在通信是始终进行加密:

  • Kafka 代理
  • Zookeeper 节点
  • Operator 和 Kafka 代理
  • operator 和 ZooKeeper 节点
  • Kafka Exporter

您还可以在 Kafka 代理和客户端之间配置 TLS 加密。为 Kafka 代理配置外部监听程序时,为外部客户端指定 TLS。

AMQ Streams 组件和 Kafka 客户端使用数字证书进行加密。Cluster Operator 设置证书以便在 Kafka 集群中启用加密。您可以提供自己的服务器证书,称为 Kafka 侦听器证书,用于 Kafka 客户端和 Kafka 代理之间的通信,以及集群间通信。

AMQ Streams 使用 secret 以 PEM 和 PKCS #12 格式存储 mTLS 所需的证书和私钥。

TLS CA (证书颁发机构)发布证书来验证组件的身份。AMQ Streams 根据 CA 证书验证组件的证书。

  • AMQ Streams 组件会根据 集群 CA CA 验证
  • Kafka 客户端会根据客户端 CA 验证