

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon MQ for RabbitMQ 的 HTTP 身分驗證和授權
<a name="http-for-amq-for-rabbitmq"></a>

Amazon MQ for RabbitMQ 支援使用外部 HTTP 伺服器的代理程式使用者的身分驗證和授權。如需其他支援的方法，請參閱 [Amazon MQ for RabbitMQ 代理程式的身分驗證和授權](rabbitmq-authentication.md)。

**注意**  
HTTP 身分驗證外掛程式僅適用於 Amazon MQ for RabbitMQ 第 4 版及更新版本。

**重要考量**  
HTTP 伺服器需要透過公有網際網路存取。Amazon MQ for RabbitMQ 可以設定為使用交互 TLS 驗證 HTTP 伺服器。
Amazon MQ for RabbitMQ 會對需要存取本機檔案系統的設定強制使用 AWS ARNs。如需詳細資訊，請參閱 [ RabbitMQ 組態中的 ARN 支援](arn-support-rabbitmq-configuration.md)。
您必須包含 IAM 許可 `mq:UpdateBrokerAccessConfiguration`，才能在現有代理程式上啟用 HTTP 身分驗證。
Amazon MQ 會自動建立名為 `monitoring-AWS-OWNED-DO-NOT-DELETE`且具有僅監控許可的系統使用者。即使已啟用 HTTP 的代理程式，此使用者也會使用 RabbitMQ 的內部身分驗證系統，且僅限於循環介面存取。Amazon MQ 會新增[受保護的使用者標籤，以防止刪除此使用者](https://github.com/rabbitmq/rabbitmq-server/blob/3751301d5a851f3f0a7d0b15583e52cb81af4e6b/release-notes/4.2.0.md#enhancements-3)。

如需有關如何為 Amazon MQ for RabbitMQ 代理程式設定 HTTP 身分驗證的資訊，請參閱 [使用 HTTP 身分驗證和授權](rabbitmq-http-tutorial.md)。

**Topics**
+ [支援的 HTTP 組態](#http-supported-configs)
+ [Amazon MQ 中 HTTP 組態的其他驗證](#http-additional-validations)

## 支援的 HTTP 組態
<a name="http-supported-configs"></a>

Amazon MQ for RabbitMQ 支援 [RabbitMQ HTTP 身分驗證外掛程式](https://github.com/rabbitmq/rabbitmq-auth-backend-http)中的所有可設定變數，但下列例外需要 AWS ARNs 如需 ARN 支援的詳細資訊，請參閱 [ RabbitMQ 組態中的 ARN 支援](arn-support-rabbitmq-configuration.md)。

### 需要 ARNs組態
<a name="http-arn-required-configs"></a>

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

`auth_http.ssl_options.certfile`  
改用 `aws.arns.auth_http.ssl_options.certfile`

`auth_http.ssl_options.keyfile`  
改用 `aws.arns.auth_http.ssl_options.keyfile`

### 不支援的 SSL 選項
<a name="http-unsupported-ssl-options"></a>

也不支援下列 SSL 組態選項：

#### 檢視完整清單
<a name="http-ssl-options-list-content"></a>
+ `auth_http.ssl_options.cert`
+ `auth_http.ssl_options.client_renegotiation`
+ `auth_http.ssl_options.dh`
+ `auth_http.ssl_options.dhfile`
+ `auth_http.ssl_options.honor_cipher_order`
+ `auth_http.ssl_options.honor_ecc_order`
+ `auth_http.ssl_options.key.RSAPrivateKey`
+ `auth_http.ssl_options.key.DSAPrivateKey`
+ `auth_http.ssl_options.key.PrivateKeyInfo`
+ `auth_http.ssl_options.log_alert`
+ `auth_http.ssl_options.password`
+ `auth_http.ssl_options.psk_identity`
+ `auth_http.ssl_options.reuse_sessions`
+ `auth_http.ssl_options.secure_renegotiate`
+ `auth_http.ssl_options.versions.$version`
+ `auth_http.ssl_options.sni`
+ `auth_http.ssl_options.crl_check`

## Amazon MQ 中 HTTP 組態的其他驗證
<a name="http-additional-validations"></a>

Amazon MQ 也會針對 HTTP 身分驗證和授權強制執行下列其他驗證：
+ `auth_http.http_method` 必須是 `get`或 `post`
+ 下列路徑組態必須使用 HTTPS URLs：
  + `auth_http.user_path`
  + `auth_http.vhost_path`
  + `auth_http.resource_path`
  + `auth_http.topic_path`
+ 如果有任何設定需要使用 AWS ARN，`aws.arns.assume_role_arn`則必須提供 。