适用于 RabbitMQ 的亚马逊 MQ 的 SSL 证书身份验证 - Amazon MQ
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

适用于 RabbitMQ 的亚马逊 MQ 的 SSL 证书身份验证

适用于 RabbitMQ 的 Amazon MQ 支持使用 X.509 客户端证书对经纪人用户进行身份验证。有关其他支持的方法,请参阅适用于 RabbitMQ 代理的 Amazon MQ 身份验证和授权

注意

SSL 证书身份验证插件仅适用于适用于 RabbitMQ 版本 4 及更高版本的亚马逊 MQ。

重要注意事项
  • 客户证书必须由受信任的证书颁发机构 (CA) 签名。适用于 RabbitMQ 的亚马逊 MQ 会在身份验证期间验证证书链。

  • 适用于 RabbitMQ 的 Amazon MQ 强制使用证书相关设置(例如 CA 证书)和需要访问本地文件系统的设置。 Amazon ARNs 有关更多详细信息,请参阅 RabbitMQ 配置中的 ARN 支持

  • Amazon MQ 会自动创建一个名为 monitoring-AWS-OWNED-DO-NOT-DELETE 的系统用户,该用户仅具有监控权限。即使在支持 SSL 证书的代理上,该用户也使用 RabbitMQ 的内部身份验证系统,并且仅限于环回接口访问。Amazon MQ 通过添加受保护的用户标签来防止删除该用户

有关如何为您的 Amazon MQ for RabbitMQ 代理配置 SSL 证书身份验证的信息,请参阅。使用 SSL 证书身份验证

支持的 SSL 配置

适用于 RabbitMQ 的 Amazon MQ 支持 SSL/TLS 配置客户端连接。有关 ARN 支持的详细信息,请参阅 RabbitMQ 配置中的 ARN 支持。

需要的配置 ARNs

ssl_options.cacertfile

请改用 aws.arns.ssl_options.cacertfile

SSL 证书登录配置

以下配置控制如何从客户端证书中提取用户名:

ssl_cert_login_from

指定用于提取用户名的证书字段。支持的值:

  • distinguished_name-使用完整的可分辨名称

  • common_name-使用公用名 (CN) 字段

  • subject_alternative_namesubject_alt_name-使用主题备用名称

ssl_cert_login_san_type

使用主题备用名称时,指定 SAN 类型。支持的值:dnsipemailuriother_name

ssl_cert_login_san_index

使用主题备用名称时,指定要使用的 SAN 条目的索引(从零开始)。必须是非负整数。

用于客户端连接的 SSL 选项

以下 SSL 选项适用于客户端连接:

ssl_options.verify

对等验证模式。支持的值:verify_noneverify_peer

ssl_options.fail_if_no_peer_cert

如果客户端不提供证书,是否拒绝连接。布尔值。

ssl_options.depth

用于验证的最大证书链深度。

ssl_options.hostname_verification

主机名验证模式。支持的值:wildcardnone

不支持的 SSL 选项

不支持以下 SSL 配置选项:

  • ssl_options.cert

  • ssl_options.client_renegotiation

  • ssl_options.dh

  • ssl_options.dhfile

  • ssl_options.honor_cipher_order

  • ssl_options.honor_ecc_order

  • ssl_options.key.RSAPrivateKey

  • ssl_options.key.DSAPrivateKey

  • ssl_options.key.PrivateKeyInfo

  • ssl_options.log_alert

  • ssl_options.password

  • ssl_options.psk_identity

  • ssl_options.reuse_sessions

  • ssl_options.secure_renegotiate

  • ssl_options.versions.$version

  • ssl_options.sni

  • ssl_options.crl_check

亚马逊 MQ 中 SSL 配置的其他验证

Amazon MQ 还对 SSL 证书身份验证强制执行以下额外验证:

  • 如果有任何设置需要使用 Amazon ARN,则aws.arns.assume_role_arn必须提供。