

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

# Amazon MQ 上的 RabbitMQ：無效的 IAM 擔任角色 Amazon MQ
<a name="troubleshooting-action-required-codes-invalid-assumerole"></a>

 當 中指定的 IAM 角色 ARN `aws.arns.assume_role_arn` 無效或無法由 Amazon MQ 擔任時，Amazon MQ 上的 RabbitMQ 將引發 INVALID\$1ASSUMEROLE 關鍵動作必要程式碼。當角色不存在、與代理程式位於不同的 AWS 帳戶中，或缺乏與 mq.amazonaws.com 的必要信任關係時，就會發生這種情況。

 RABBITMQ\$1INVALID\$1ASSUMEROLE 隔離中的代理程式無法擷取 LDAP 身分驗證所需的登入資料或憑證，導致 LDAP 身分驗證無法使用。如果 LDAP 是唯一設定的身分驗證方法，使用者將無法連線到代理程式。Amazon MQ 需要 IAM 角色才能存取代理程式組態中 ARNs 參考 AWS 的資源，例如用於 LDAP 身分驗證的 AWS Secrets Manager 秘密或 Amazon S3 物件。

## 診斷和解決 RABBITMQ\$1INVALID\$1ASSUMEROLE
<a name="w2aac40c29b7"></a>

 若要診斷和解決 RABBITMQ\$1INVALID\$1ASSUMEROLE 動作所需的程式碼，您必須使用 Amazon CloudWatch Logs 和 AWS Identity and Access Management 主控台。

**解決無效的擔任角色問題**

1. 導覽至 Amazon CloudWatch Logs Insights，並針對代理程式的日誌群組 執行下列查詢`/aws/amazonmq/broker/<broker-id>/general`：

   ```
   fields @timestamp, @message
   | sort @timestamp desc
   | filter @message like /error.*aws_arn_config/
   | limit 10000
   ```

1. 尋找類似以下的錯誤訊息：

   ```
   [error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}}
   ```

1. 檢查 IAM 角色組態並修正任何問題，例如：
   + 確保角色與代理程式位於相同的 AWS 帳戶中
   + 驗證信任政策允許 mq.amazonaws.com 擔任該角色
   + 確認角色具有存取所需 AWS 資源的適當許可

1. 在更新代理程式組態之前，使用 [ARN 存取驗證](arn-support-rabbitmq-configuration.md#arn-support-validation) API 端點驗證修正。

1. 更新代理程式組態並重新啟動代理程式。