

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

# 适用于 RabbitMQ 的亚马逊 MQ 的 SSL 证书身份验证
<a name="ssl-for-amq-for-rabbitmq"></a>

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

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

**重要注意事项**  
客户证书必须由受信任的证书颁发机构 (CA) 签名。适用于 RabbitMQ 的亚马逊 MQ 会在身份验证期间验证证书链。
适用于 RabbitMQ 的 Amazon MQ 强制使用证书相关设置（例如 CA 证书）和需要访问本地文件系统的设置。 Amazon ARNs 有关更多详细信息，请参阅 [RabbitMQ 配置中的 ARN 支持](arn-support-rabbitmq-configuration.md)。
Amazon MQ 会自动创建一个名为 `monitoring-AWS-OWNED-DO-NOT-DELETE` 的系统用户，该用户仅具有监控权限。即使在支持 SSL 证书的代理上，该用户也使用 RabbitMQ 的内部身份验证系统，并且仅限于环回接口访问。Amazon MQ 通过添加[受保护的用户标签来防止删除该用户](https://github.com/rabbitmq/rabbitmq-server/blob/3751301d5a851f3f0a7d0b15583e52cb81af4e6b/release-notes/4.2.0.md#enhancements-3)。

有关如何为您的 Amazon MQ for RabbitMQ 代理配置 SSL 证书身份验证的信息，请参阅。[使用 SSL 证书身份验证](rabbitmq-ssl-tutorial.md)

**Topics**
+ [支持的 SSL 配置](#ssl-supported-configs)
+ [亚马逊 MQ 中 SSL 配置的其他验证](#ssl-additional-validations)

## 支持的 SSL 配置
<a name="ssl-supported-configs"></a>

适用于 RabbitMQ 的 Amazon MQ 支持 SSL/TLS 配置客户端连接。有关 ARN 支持的详细信息，请参阅 RabbitMQ 配置中的 [ARN 支持。](arn-support-rabbitmq-configuration.md)

### 需要的配置 ARNs
<a name="ssl-arn-required-configs"></a>

`ssl_options.cacertfile`  
请改用 `aws.arns.ssl_options.cacertfile`

### SSL 证书登录配置
<a name="ssl-cert-login-configs"></a>

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

`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 选项
<a name="ssl-options-configs"></a>

以下 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 选项
<a name="ssl-unsupported-options"></a>

不支持以下 SSL 配置选项：

#### 查看完整清单
<a name="ssl-options-list-content"></a>
+ `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 配置的其他验证
<a name="ssl-additional-validations"></a>

Amazon MQ 还对 SSL 证书身份验证强制执行以下额外验证：
+ 如果有任何设置需要使用 Amazon ARN，则`aws.arns.assume_role_arn`必须提供。