亚马逊 MQ 上的 RabbitMQ:LDAP ARN 无效 - Amazon MQ

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

亚马逊 MQ 上的 RabbitMQ:LDAP ARN 无效

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

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

诊断并解决 RABBITMQ_INVALID_ARN_LDAP

要诊断和解决 RABBITMQ_INVALID_ARN_LDAP 操作所需的代码,您必须使用亚马逊日志和控制台。 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
  2. 查找类似于以下内容的错误消息:

    [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"}}
  3. 检查 Secrets Manager 密钥并修复所有问题,例如:

    • 验证密钥是否与经纪人位于同一 AWS 区域

    • 确认 ARN 语法是否正确

    • 确保 IAM 角色具有 secretsmanager: 权限 GetSecretValue

  4. 在更新代理配置之前,使用 ARN 访问验证 API 端点验证修复程序。

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