As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Suporte de ARN na configuração do RabbitMQ
O Amazon MQ para RabbitMQ suporta AWS ARNs os valores de algumas definições de configuração do RabbitMQ. Isso é habilitado pelo plug-in da comunidade RabbitMQ rabbitmq-aws.
Considerações importantes
-
Os valores de ARN resolvidos recuperados pelo plug-in aws são passados diretamente para o processo RabbitMQ em tempo de execução. Eles não são armazenados em outro lugar no nó RabbitMQ.
-
O Amazon MQ para RabbitMQ exige uma função do IAM que possa ser assumida pelo Amazon MQ para acessar o configurado. ARNs Isso é configurado pela configuração
aws.arns.assume_role_arn. -
Os usuários que UpdateBroker APIs ligam CreateBroker ou têm uma configuração de agente que inclui uma função do IAM devem ter a
iam:PassRolepermissão para essa função. -
A função do IAM deve existir na mesma AWS conta do broker RabbitMQ. Tudo ARNs na configuração deve estar presente na mesma AWS região do broker RabbitMQ.
-
O Amazon MQ adiciona chaves condicionais globais do IAM
aws:SourceAccounteaws:SourceArnao assumir a função do IAM. Esses valores devem ser usados na política do IAM anexada à função de proteção delegada confusa.
Nesta página
Chaves compatíveis
Função obrigatória do IAM
aws.arns.assume_role_arn-
ARN da função do IAM que o Amazon MQ assume para acessar outros recursos. AWS Obrigatório quando qualquer outra configuração de ARN é usada.
| Chave de configuração | Description |
|---|---|
aws.arns.ssl_options.cacertfile |
Arquivo de autoridade de certificação para conexões de SSL/TLS clientes. O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
| Chave de configuração | Description |
|---|---|
aws.arns.management.ssl.cacertfile |
Arquivo de autoridade de certificação para SSL/TLS conexões de interface de gerenciamento. O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
| Chave de configuração | Description |
|---|---|
aws.arns.auth_oauth2.https.cacertfile |
Arquivo de autoridade de certificação para conexões HTTPS OAuth 2.0. O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
| Chave de configuração | Description |
|---|---|
aws.arns.auth_http.ssl_options.cacertfile |
Arquivo de autoridade de certificação para SSL/TLS conexões de autenticação HTTP. O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
aws.arns.auth_http.ssl_options.certfile |
Arquivo de certificado para conexões TLS mútuas entre o Amazon MQ e o servidor de autenticação HTTP. O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
aws.arns.auth_http.ssl_options.keyfile |
Arquivo de chave privada para conexões TLS mútuas entre o Amazon MQ e o servidor de autenticação HTTP. O Amazon MQ exige o uso AWS Secrets Manager para armazenar a chave privada. |
| Chave de configuração | Description |
|---|---|
aws.arns.auth_ldap.ssl_options.cacertfile |
Arquivo de autoridade de certificação para conexões LDAP. SSL/TLS O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
aws.arns.auth_ldap.ssl_options.certfile |
Arquivo de certificado para conexões TLS mútuas entre o Amazon MQ e o servidor LDAP. O Amazon MQ exige o uso do Amazon S3 ou o armazenamento do certificado. |
aws.arns.auth_ldap.ssl_options.keyfile |
Arquivo de chave privada para conexões TLS mútuas entre o Amazon MQ e o servidor LDAP. O Amazon MQ exige o uso AWS Secrets Manager para armazenar a chave privada. |
aws.arns.auth_ldap.dn_lookup_bind.password |
Senha para associação de pesquisa LDAP DN. O Amazon MQ exige o uso AWS Secrets Manager para armazenar a senha como um valor de texto simples. |
aws.arns.auth_ldap.other_bind.password |
Senha para outro vínculo LDAP. O Amazon MQ exige o uso AWS Secrets Manager para armazenar a senha como um valor de texto simples. |
Exemplos de políticas do IAM
Para exemplos de políticas do IAM, incluindo documentos de política de assumir funções e documentos de política de funções, consulte o exemplo de implementação do CDK
Consulte Usando autenticação e autorização LDAP as etapas sobre como configurar AWS Secrets Manager os recursos do Amazon S3.
Validação de acesso
Para solucionar cenários em que os valores do ARN não podem ser buscados, o plug-in aws oferece suporte a um endpoint da API de gerenciamento do RabbitMQ
nota
O uso dessa API requer um usuário administrador existente do RabbitMQ. O Amazon MQ recomenda a criação de agentes de teste com um usuário interno, além de outros métodos de acesso. Consulte habilitar a autenticação OAuth 2.0 e a autenticação simples (interna). Esse usuário pode então ser usado para acessar a API de validação.
nota
Embora o plug-in aws ofereça suporte à transmissão de uma nova função como entrada para a API de validação, esse parâmetro não é suportado pelo Amazon MQ. A função do IAM usada para validação deve corresponder ao valor aws.arns.assume_role_arn da configuração do agente.
Estados de quarentena de corretores relacionados
Para obter informações sobre os estados de quarentena do corretor relacionados a problemas de suporte do ARN, consulte:
Exemplo de cenário
-
b-f0fc695e-2f9c-486b-845a-988023a3e55bO corretor foi configurado para usar a função IAM<role>para acessar o AWS Secrets Manager segredo<arn> -
Se a função fornecida ao Amazon MQ não tiver permissão de leitura no AWS Secrets Manager segredo, o seguinte erro será mostrado nos registros do RabbitMQ:
[error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}}Além disso, o corretor entrará no estado de
INVALID_ASSUMEROLEquarentena. Para obter mais informações, consulte INVALID_ASSUMEROLE. -
As tentativas de autenticação LDAP falharão com o seguinte erro:
[error] <0.254.0> LDAP bind failed: invalid_credentials -
Corrija a função do IAM com as permissões adequadas
-
Chame o endpoint de validação para verificar se o RabbitMQ agora consegue acessar o segredo:
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 '.'