

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

# 亚马逊 MQ 上的 RabbitMQ：LDAP ARN 无效
RABBITMQ\$1INVALID\$1ARN\$1LDAP

 当为 LDAP 服务账户密码配置的 ARN 无效或无法访问时，亚马逊 MQ 上的 RabbitMQ 将引发一个 INVALID\$1ARN\$1LDAP 关键操作所需的代码。这适用于`aws.arns.auth_ldap.dn_lookup_bind.password`或中 ARNs 指定的内容`aws.arns.auth_ldap.other_bind.password`，它必须引用包含纯文本 Amazon Secrets Manager 密码的密钥。

 RABBITMQ\$1INVALID\$1ARN\$1LDAP 隔离区中的代理无法使用 LDAP 服务账户进行身份验证，这导致 LDAP 身份验证不可用。如果 LDAP 是唯一配置的身份验证方法，则用户将无法连接到代理。无效 ARNs 可能是由于 ARN 语法格式错误、对不存在的密钥的引用、机密位于与代理 Amazon 不同的区域或 secretsmanager: IAM 角色中的权限GetSecretValue 不足。

## 诊断并解决 RABBITMQ\$1INVALID\$1ARN\$1LDAP


 要诊断和解决 RABBITMQ\$1INVALID\$1ARN\$1LDAP 操作所需的代码，您必须使用亚马逊日志和控制台。 CloudWatch 

**解决无效的 LDAP ARN 问题**

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: {<<"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"}}
   ```

1. 检查 Secrets Manager 密钥并修复所有问题，例如：
   + 验证密钥是否与经纪人位于同一 Amazon 区域
   + 确认 ARN 语法是否正确
   + 确保 IAM 角色具有 secretsmanager: 权限 GetSecretValue 

1. 在更新代理配置之前，使用 [ARN 访问验证](arn-support-rabbitmq-configuration.md#arn-support-validation) API 端点验证修复程序。

1. 更新代理配置并重启代理。