本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon MQ 上的 RabbitMQ:無效的 IAM 擔任角色 Amazon MQ
當 中指定的 IAM 角色 ARN aws.arns.assume_role_arn 無效或無法由 Amazon MQ 擔任時,Amazon MQ 上的 RabbitMQ 將引發 INVALID_ASSUMEROLE 關鍵動作必要程式碼。當角色不存在、與代理程式位於不同的 AWS 帳戶中,或缺乏與 mq.amazonaws.com 的必要信任關係時,就會發生這種情況。
RABBITMQ_INVALID_ASSUMEROLE 隔離中的代理程式無法擷取 LDAP 身分驗證所需的登入資料或憑證,導致 LDAP 身分驗證無法使用。如果 LDAP 是唯一設定的身分驗證方法,使用者將無法連線到代理程式。Amazon MQ 需要 IAM 角色才能存取代理程式組態中 ARNs 參考 AWS 的資源,例如用於 LDAP 身分驗證的 AWS Secrets Manager 秘密或 Amazon S3 物件。
診斷和解決 RABBITMQ_INVALID_ASSUMEROLE
若要診斷和解決 RABBITMQ_INVALID_ASSUMEROLE 動作所需的程式碼,您必須使用 Amazon CloudWatch Logs 和 AWS Identity and Access Management 主控台。
解決無效的擔任角色問題
-
導覽至 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 -
尋找類似以下的錯誤訊息:
[error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}} -
檢查 IAM 角色組態並修正任何問題,例如:
確保角色與代理程式位於相同的 AWS 帳戶中
驗證信任政策允許 mq.amazonaws.com 擔任該角色
確認角色具有存取所需 AWS 資源的適當許可
-
在更新代理程式組態之前,使用 ARN 存取驗證 API 端點驗證修正。
-
更新代理程式組態並重新啟動代理程式。