SASL_PLAINTEXT;使用 SASL_SSL 可通过 TLS 加密客户端流量。
开启 SASL_PLAINTEXT
服务端配置
创建实例时启用 SASL 身份验证和SASL_PLAINTEXT Listener。创建 ACL 用户,并仅授予应用所需的 Topic 和 Consumer Group 权限。
客户端配置
使用 AutoMQ 中创建的凭证配置 Kafka 客户端。以下示例使用 SASL/PLAIN:开启 SASL_SSL
SASL_SSL 同时提供 SASL 客户端身份验证、TLS 服务端身份验证和传输加密。服务端证书责任取决于创建实例时选择的 DNS Zone 模式。
创建实例时需要选择 DNS Zone 模式并启用
SASL_SSL。现有实例不能从未加密 Listener 变更为 SASL_SSL。使用 AutoMQ Managed Public DNS Zone
- 创建实例时选择 Public DNS Zone 和 AutoMQ Managed 模式。
- 启用
SASL_SSLListener 并配置 SASL 身份验证。 - 不要上传用户管理的服务端证书文件。AutoMQ 会签发并续期 Server Certificate。
- 创建 ACL 用户并授予所需资源权限。
使用用户管理的 Private DNS Zone
使用用户管理的 Private DNS Zone 时,用户必须提供 CA Certificate、Server Certificate 和 Server Private Key。优先使用组织证书颁发机构签发的证书。如果需要自行创建和维护私有 CA,可参考以下步骤。1. 创建私有 CA
创建ca.cnf,执行命令前替换证书主题信息。
2. 签发 Server Certificate
创建server.cnf。Subject Alternative Name(SAN)必须覆盖与 Private DNS Zone 关联的 AutoMQ 私有接入域名。请根据实例接入地址使用准确域名或所需的通配符域名,不要依赖 Common Name 完成主机名验证。
3. 配置 AutoMQ
- 创建实例时选择用户管理的 Private DNS Zone,并启用
SASL_SSLListener。 - 将
ca.crt作为 Server CA Certificate、server.crt作为 Server Certificate、server.key作为 Private Key 上传。 - 创建 ACL 用户,并仅授予应用所需的 Topic 和 Consumer Group 权限。
4. 配置 Kafka 客户端
如果客户端运行时默认不信任该私有 CA,将ca.crt 导入客户端 Truststore:
证书过期责任
- AutoMQ Managed Public DNS Zone: AutoMQ 监控并续期 Server Certificate,用户无需轮转服务端证书。
- 用户管理的 Private DNS Zone: 用户负责在 Server CA 和 Server Certificate 过期前完成监控和轮转。可使用
kafka_stream_cert_expiry_timestamp_milliseconds和kafka_stream_cert_days_remaining监控已安装的服务端证书。采集方法请参见 Prometheus 监控与告警。