Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Soporte de ARN en la configuración de RabbitMQ
Amazon MQ para RabbitMQ admite AWS ARNs los valores de algunos ajustes de configuración de RabbitMQ. Esto lo habilita el complemento comunitario rabbitmq-aws de RabbitMQ.
Consideraciones importantes
-
Los valores de ARN resueltos recuperados por el complemento aws se pasan directamente al proceso RabbitMQ en tiempo de ejecución. No se almacenan en ningún otro lugar del nodo RabbitMQ.
-
Amazon MQ para RabbitMQ requiere una función de IAM que Amazon MQ pueda asumir para acceder a la configuración. ARNs Esto se configura mediante un ajuste.
aws.arns.assume_role_arn -
Los usuarios que CreateBroker utilicen o UpdateBroker APIs tengan una configuración de intermediario que incluya una función de IAM deben tener el
iam:PassRolepermiso para esa función. -
El rol de IAM debe existir en la misma AWS cuenta que el bróker de RabbitMQ. Todos los ARNs elementos de la configuración deben estar presentes en la misma AWS región que el bróker RabbitMQ.
-
Amazon MQ añade claves condicionales globales de IAM
aws:SourceAccountyaws:SourceArncuando asume la función de IAM. Estos valores deben utilizarse en la política de IAM asociada a la función de protección de diputado confusa.
En esta página
Claves compatibles
Función de IAM obligatoria
aws.arns.assume_role_arn-
Rol de IAM (ARN) que Amazon MQ asume para acceder a otros recursos. AWS Se requiere cuando se utiliza cualquier otra configuración de ARN.
| Clave de configuración | Description (Descripción) |
|---|---|
aws.arns.ssl_options.cacertfile |
Archivo de autoridad de certificación para las conexiones de los SSL/TLS clientes. Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
| Clave de configuración | Description (Descripción) |
|---|---|
aws.arns.management.ssl.cacertfile |
Archivo de autoridad de certificación para las conexiones de la interfaz de administración. SSL/TLS Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
| Clave de configuración | Description (Descripción) |
|---|---|
aws.arns.auth_oauth2.https.cacertfile |
Archivo de autoridad de certificación para conexiones HTTPS OAuth 2.0. Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
| Clave de configuración | Description (Descripción) |
|---|---|
aws.arns.auth_http.ssl_options.cacertfile |
Archivo de autoridad de certificación para conexiones de autenticación HTTP. SSL/TLS Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
aws.arns.auth_http.ssl_options.certfile |
Archivo de certificado para conexiones TLS mutuas entre Amazon MQ y el servidor de autenticación HTTP. Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
aws.arns.auth_http.ssl_options.keyfile |
Archivo de clave privada para conexiones TLS mutuas entre Amazon MQ y el servidor de autenticación HTTP. Amazon MQ requiere usarlo AWS Secrets Manager para almacenar la clave privada. |
| Clave de configuración | Description (Descripción) |
|---|---|
aws.arns.auth_ldap.ssl_options.cacertfile |
Archivo de autoridad de certificación para conexiones LDAP. SSL/TLS Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
aws.arns.auth_ldap.ssl_options.certfile |
Archivo de certificado para conexiones TLS mutuas entre Amazon MQ y el servidor LDAP. Amazon MQ requiere usar Amazon S3 o almacenar el certificado. |
aws.arns.auth_ldap.ssl_options.keyfile |
Archivo de clave privada para conexiones TLS mutuas entre Amazon MQ y el servidor LDAP. Amazon MQ requiere usarlo AWS Secrets Manager para almacenar la clave privada. |
aws.arns.auth_ldap.dn_lookup_bind.password |
Contraseña para el enlace de búsqueda de DN de LDAP. Amazon MQ requiere almacenar la contraseña como un valor de texto sin formato. AWS Secrets Manager |
aws.arns.auth_ldap.other_bind.password |
Contraseña para otro enlace de LDAP. Amazon MQ requiere almacenar la contraseña como un valor de texto sin formato. AWS Secrets Manager |
Ejemplos de políticas de IAM
Para ver ejemplos de políticas de IAM, incluidos documentos de políticas de asunción de roles y documentos de políticas de roles, consulte el ejemplo de implementación del CDK
Consulte Uso de la autenticación y la autorización de LDAP los pasos sobre cómo configurar AWS Secrets Manager y los recursos de Amazon S3.
Validación de acceso
Para solucionar problemas en los que no se pueden recuperar los valores del ARN, el complemento aws admite un punto final de la API de administración de RabbitMQ
nota
El uso de esta API requiere un usuario administrador de RabbitMQ existente. Amazon MQ recomienda crear corredores de prueba con un usuario interno además de otros métodos de acceso. Consulte Habilitar la autenticación OAuth 2.0 y la autenticación simple (interna). A continuación, se puede utilizar este usuario para acceder a la API de validación.
nota
Aunque el complemento aws admite la transferencia de un nuevo rol como entrada a la API de validación, Amazon MQ no admite este parámetro. El rol de IAM utilizado para la validación debe coincidir con el valor de la configuración del aws.arns.assume_role_arn bróker.
Estados de cuarentena relacionados con los corredores
Para obtener información sobre los estados de cuarentena de los corredores relacionados con problemas de soporte de ARN, consulte:
Escenario de ejemplo
-
El corredor se
b-f0fc695e-2f9c-486b-845a-988023a3e55bha configurado para usar la función de IAM para acceder al secreto<role>AWS Secrets Manager<arn> -
Si la función proporcionada a Amazon MQ no tiene permiso de lectura sobre el AWS Secrets Manager secreto, aparecerá el siguiente error en los registros de RabbitMQ:
[error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}}Además, el agente entrará en estado de cuarentena.
INVALID_ASSUMEROLEPara obtener más información, consulte INVALID_ASSUMEROLE. -
Los intentos de autenticación LDAP fallarán y generarán el siguiente error:
[error] <0.254.0> LDAP bind failed: invalid_credentials -
Corrija la función de IAM con los permisos adecuados
-
Llama al punto final de validación para comprobar si RabbitMQ ahora puede acceder al secreto:
curl -4su 'guest:guest' -XPUT -H 'content-type: application/json' <broker-endpoint>/api/aws/arn/validate -d '{"assume_role_arn":"arn:aws:iam::<account-id>:role/<role-name>","arns":["arn:aws:secretsmanager:<region>:<account-id>:secret:<secret-name>"]}' | jq '.'