第 10 章 保护 Kafka
一个安全部署 Apache Kafka 的 Streams 可能会包括以下一个或多个安全措施:
- Encryption
Apache Kafka 的流支持传输层安全(TLS),它是一个加密通信的协议。
- 通讯始终在 Apache Kafka 组件的 Streams 间加密。
-
要在 Kafka 和客户端之间建立 TLS 加密通信,您可以在
Kafka
自定义资源中配置监听程序。
- 身份验证
Kafka 侦听程序使用身份验证来确保到 Kafka 集群的安全客户端连接。也可以为 mutual 身份验证配置客户端。安全凭证由 Cluster 和 User Operator 创建和管理。
支持的验证机制:
- mTLS 身份验证(在启用了 TLS 的加密的监听程序中)
- SASL SCRAM-SHA-512
- 基于 OAuth 2.0 令牌的身份验证
- 自定义身份验证( Kafka 支持)
- 授权
授权控制特定客户端或用户在 Kafka 代理上允许的操作。
支持的授权机制:
- 使用 ACL 规则的简单授权
- OAuth 2.0 授权(如果您使用基于 OAuth 2.0 令牌的身份验证)
- 开放策略代理 (OPA) 授权
- 自定义授权( Kafka 支持)
- 联邦信息处理标准(FIPS)
- Apache Kafka 的流旨在在启用了 FIPS 的 Kubernetes 集群上运行,以确保数据安全性和系统互操作性。有关 NIST 验证程序并验证模块的更多信息,请参阅 NIST 网站上 的加密模块验证计划。