

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
<a name="arn-support-rabbitmq-configuration"></a>

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.](https://github.com/amazon-mq/rabbitmq-aws) Esse plug-in é desenvolvido e mantido pelo Amazon MQ e também pode ser usado em corretores RabbitMQ auto-hospedados e não gerenciados pelo Amazon MQ.

**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:PassRole` permissã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:SourceAccount` e `aws:SourceArn` ao assumir a função do IAM. Esses valores devem ser usados na política do IAM anexada à função de [proteção delegada confusa](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

**Topics**
+ [Chaves compatíveis](#arn-support-supported-keys)
+ [Exemplos de políticas do IAM](#arn-support-iam-policy-samples)
+ [Validação de acesso](#arn-support-validation)
+ [Estados de quarentena de corretores relacionados](#arn-support-quarantine-states)
+ [Exemplo de cenário](#arn-support-example-scenario)

## Chaves compatíveis
<a name="arn-support-supported-keys"></a>

`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.

### Endpoint AMQP
<a name="arn-support-amqp-endpoint"></a>


| 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. | 

### Plugin de gerenciamento RabbitMQ
<a name="arn-support-management-plugin"></a>


| 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. | 

### Plug-in RabbitMQ 2.0 OAuth
<a name="arn-support-oauth2-plugin"></a>


| 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. | 

### Plugin de autenticação HTTP RabbitMQ
<a name="arn-support-http-plugin"></a>


| 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. | 

### Plug-in LDAP do RabbitMQ
<a name="arn-support-ldap-plugin"></a>


| 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
<a name="arn-support-iam-policy-samples"></a>

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](https://github.com/aws-samples/amazon-mq-samples/blob/main/rabbitmq-samples/rabbitmq-ldap-activedirectory-sample/lib/rabbitmq-activedirectory-stack.ts#L232).

Consulte [Usando autenticação e autorização LDAP](rabbitmq-ldap-tutorial.md) as etapas sobre como configurar AWS Secrets Manager os recursos do Amazon S3.

## Validação de acesso
<a name="arn-support-validation"></a>

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](https://github.com/amazon-mq/rabbitmq-aws/blob/main/API.md) que pode ser chamado para verificar se o Amazon MQ é capaz de assumir a função e resolver com êxito. AWS ARNs Isso evita a necessidade de atualizar a configuração do agente, atualizar o agente com a nova revisão de configuração e reinicializar o agente para testar as alterações na configuração.

**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)](oauth-tutorial.md#oauth-tutorial-config-both-auth-methods-using-cli). 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
<a name="arn-support-quarantine-states"></a>

Para obter informações sobre os estados de quarentena do corretor relacionados a problemas de suporte do ARN, consulte:
+ [RABBITMQ\_INVALID\_ASSUME ROLE](troubleshooting-action-required-codes-invalid-assumerole.md)
+ [RABBITMQ\_INVALID\_ARN\_LDAP](troubleshooting-action-required-codes-invalid-arn-ldap.md)
+ [RABBITMQ\_INVALID\_ARN](troubleshooting-action-required-codes-invalid-arn.md)

## Exemplo de cenário
<a name="arn-support-example-scenario"></a>
+ `b-f0fc695e-2f9c-486b-845a-988023a3e55b`O 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_ASSUMEROLE` quarentena. Para obter mais informações, consulte [INVALID\_ASSUMEROLE](troubleshooting-action-required-codes-invalid-assumerole.md).
+ 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 '.'
  ```