本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
适用于 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_name或subject_alt_name-使用主题备用名称
ssl_cert_login_san_type-
使用主题备用名称时,指定 SAN 类型。支持的值:
dns、ip、email、uri、other_name ssl_cert_login_san_index-
使用主题备用名称时,指定要使用的 SAN 条目的索引(从零开始)。必须是非负整数。
用于客户端连接的 SSL 选项
以下 SSL 选项适用于客户端连接:
ssl_options.verify-
对等验证模式。支持的值:
verify_none,verify_peer ssl_options.fail_if_no_peer_cert-
如果客户端不提供证书,是否拒绝连接。布尔值。
ssl_options.depth-
用于验证的最大证书链深度。
ssl_options.hostname_verification-
主机名验证模式。支持的值:
wildcard,none
不支持的 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必须提供。