第 6 章 保护对 Kafka 的访问
通过管理客户端对 Kafka 代理的访问来保护 Kafka 集群。指定保护 Kafka 代理和客户端的配置选项
Kafka 代理和客户端之间的安全连接可以包括以下内容:
- 数据交换加密
- 证明身份的身份验证
- 允许或拒绝用户执行操作的授权
为客户端指定的身份验证和授权机制必须与为 Kafka 代理指定的匹配。
6.1. 侦听器配置
Kafka 代理中的加密和验证会针对每个监听程序进行配置。有关 Kafka 侦听器配置的更多信息,请参阅 第 5.3.1 节 “监听器”。
Kafka 代理中的每个监听程序都使用自己的安全协议配置。配置属性 listener.security.protocol.map
定义哪个监听程序使用哪个安全协议。它将每个侦听器名称映射到其安全协议。支持的安全协议有:
PLAINTEXT
- 无加密或身份验证的监听程序。
SSL
- 使用 TLS 加密(可选)使用 TLS 客户端证书进行身份验证的监听程序。
SASL_PLAINTEXT
- 没有加密的监听程序,但使用基于 SASL 的身份验证。
SASL_SSL
- 带有基于 TLS 的加密和基于 SASL 的验证的监听程序。
根据以下 监听程序配置
:
listeners=INT1://:9092,INT2://:9093,REPLICATION://:9094
listener.security.protocol.map
可能如下所示:
listener.security.protocol.map=INT1:SASL_PLAINTEXT,INT2:SASL_SSL,REPLICATION:SSL
这会将侦听器 INT1
配置为使用带有 SASL 身份验证的未加密的连接,侦听器 INT2
使用 SASL 身份验证的加密连接,以及 REPLICATION
接口以使用 TLS 加密(可能与 TLS 客户端身份验证一起使用)。相同的安全协议可以多次使用。以下示例也是有效的配置:
listener.security.protocol.map=INT1:SSL,INT2:SSL,REPLICATION:SSL
此类配置将 TLS 加密和 TLS 身份验证(可选)用于所有接口。