开启 SASL_PLAINTEXT
SASL_PLAINTEXT 协议支持用户通过非加密传输方式上传访问凭证,服务端进行身份识别和校验,并对识别通过的身份主体进行 ACL 访问控制校验。 AutoMQ 提供的 SASL_PLAINTEXT 协议支持如下验证机制:PLAIN
, SCRAM-SHA-256
, SCRAM-SHA-512
。
步骤 1:服务端配置
-
使用 SASL_PLAINTEXT 需要在创建实例时点击高级选项 >> 开启如下参数 ,操作界面参考下图:
- TransitEncryption 选项:开启 Plaintext。
- Authentication Method:开启 SASL authentication。

- 开启 SASL_PLAINTEXT 后,进入实例详情页查看对应的接入点信息。

- 获取接入点后,需要为 Kafka 客户端创建 ACL 用户以及相应的 ACL 授权。后续客户端使用 ACL 用户凭证访问服务端。操作文档参考管理 ACL▸。
步骤 2:客户端配置
Kafka 客户端使用 SASL_PLAINTEXT 协议访问服务端,参考 Apache Kafka 文档示例,需要设置如下参数。其中用户名、密码参考上文创建的 ACL 用户信息。使用 SASL_PLAINTEXT 访问服务端之前,确保 ACL 用户已经被授予正确的资源操作权限。
开启 SASL_SSL
SASL_SSL 协议支持用户通过 TLS 加密传输方式上传访问凭证,服务端进行身份识别和校验,并对识别通过的身份主体进行 ACL 访问控制校验。AutoMQ BYOC 环境下开启 TLS 传输加密,需要用户提供 CA 和服务端证书,并确保证书和域名匹配。后续也需要用户定期论证证书,以免证书过期导致的服务受损。
步骤 1:创建 CA 和证书
如果您的组织无法获取受信任 CA 签发的证书,则可以参考下方文档自行签发维护私有 CA 和证书。此外,生产环境推荐通过 AWS Private CA 产品管理 CA 和证书。- 配置 CA 签名策略文件
ca.cnf
。
- 生成 CA 私钥
ca.key
并设置文件访问权限。
- 生成 CA 公共证书
ca.crt
。
ca.crt
文件作为 CA 公共证书,后续需要部署到 AutoMQ 实例以及 Kafka 客户端。
- 创建 Broker 证书配置文件
broker.cnf
。
AutoMQ BYOC 环境的 Broker 是以 IP 地址直接对外提供服务,因此暂不支持域名校验。因此 SAN 信息推荐保持默认值,后续客户端关闭域名校验。
- 生成 Broker 私钥
broker.key
。
- 生成 Broker 证书签名请求 CSR
broker.csr
。
- 用之前的 CA 私钥签名 CSR,生成 Broker 证书
broker.crt
。
broker.crt
为签名后的 Broker 公共证书。建议配置为只读权限。后续部署时需要 broker.crt
, broker.key
和 ca.crt
三个文件。
步骤 2:服务端配置
-
使用 SASL_SSL 需要在创建实例时点击高级选项 >> 开启如下参数 ,操作界面参考下图:
- TransitEncryption:开启 TLS Encryption。
- Authentication Method:开启 SASL authentication。
-
Upload CA:上传上一步获取的CA 证书文件
ca.crt
。 -
Upload Server Cert:上传上一步获取的 Broker 证书文件
broker.crt
。 -
Upload Private Key:上传上一步获取的 Broker 证书的秘钥文件
broker.key
。

- 开启 SASL_SSL 后,进入实例详情页查看对应的接入点信息。

- 获取接入点后,需要为 Kafka 客户端创建 ACL 用户以及相应的 ACL 授权。后续客户端使用 ACL 用户凭证访问服务端。操作文档参考管理 ACL▸。
注意:SASL_SSL 和 mTLS 协议仅支持创建实例时开启,暂不支持对已有实例开启传输加密。
步骤 3:客户端接入配置
Kafka 客户端使用 SASL_SSL 协议访问服务端,参考 Apache Kafka 文档示例,需要配置相应的参数。-
将前面生成的 CA 证书转化成 JKS trustStore。注意根据实际情况替换下方命令的参数。
- alias:填写 CA 证书的别名。
- file:填写上一步获取的 CA 证书文件。
- keystore:填写 jks 的名称,后续 Kafka 客户端需要配置。
- storepass:填写 jks 的访问密码,后续 Kafka 客户端需要配置。
- 在 Kafka 客户端配置属性中添加如下配置参数。使用 SASL_SSL 协议访问服务端之前,确保 ACL 用户已经被授予正确的资源操作权限。
注意:在签署私有 CA 和证书时,因为无法和 AutoMQ 集群的 IP 保持匹配。因此,客户端SSL 配置时需要关闭域名校验,即 ssl.endpoint.identification.algorithm 参数设置为空字符串 。
证书过期监控
BYOC 环境 TLS 证书是由用户提供,因此用户需要对证书的有效期进行监控,确保证书过期之前进行续期轮转。AutoMQ 服务端提供了以下 Metrics 用于监控服务端证书的过期时间:- kafka_stream_cert_expiry_timestamp_milliseconds:用于展示当前证书过期的毫秒时间戳。
- kafka_stream_cert_days_remaining:用于统计当前时刻到证书过期的剩余天数。