本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon MQ 上的 RabbitMQ:無效的 LDAP ARN Amazon MQ
當為 LDAP 服務帳戶密碼設定的 ARN 無效或無法存取時,Amazon MQ 上的 RabbitMQ 將引發 INVALID_ARN_LDAP 關鍵動作必要程式碼。 Amazon MQ 這適用於 aws.arns.auth_ldap.dn_lookup_bind.password或 中指定的 ARNsaws.arns.auth_ldap.other_bind.password,其必須參考包含純文字密碼的 AWS Secrets Manager 秘密。
RABBITMQ_INVALID_ARN_LDAP 隔離中的代理程式無法向 LDAP 服務帳戶進行身分驗證,導致 LDAP 身分驗證無法使用。如果 LDAP 是唯一設定的身分驗證方法,使用者將無法連線到代理程式。無效的 ARNs可能是由格式不正確的 ARN 語法、對不存在秘密的參考、與代理程式位於不同 AWS 區域的秘密,或 IAM 角色中的 Secretsmanager:GetSecretValue 許可不足所造成。
診斷和解決 RABBITMQ_INVALID_ARN_LDAP
若要診斷和解決 RABBITMQ_INVALID_ARN_LDAP 動作所需的程式碼,您必須使用 Amazon CloudWatch Logs 和 主控台。
解決無效的 LDAP ARN 問題
-
導覽至 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: {<<"could not resolve ARN 'arn:aws:secretsmanager:xxx' for configuration 'aws.arns.auth_ldap.dn_lookup_bind.password', error: \"AWS service is unavailable\"">>,{error,"AWS service is unavailable"}} -
檢查 Secrets Manager 秘密並修正任何問題,例如:
確認秘密與代理程式位於相同的 AWS 區域
確認 ARN 語法正確
確保 IAM 角色具有 secretsmanager:GetSecretValue 許可
-
在更新代理程式組態之前,使用 ARN 存取驗證 API 端點驗證修正。
-
更新代理程式組態並重新啟動代理程式。