

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

# Configurando um corretor RabbitMQ
<a name="rabbitmq-broker-configuration-parameters"></a>

Uma configuração contém todas as configurações do seu corretor RabbitMQ no formato Cuttlefish. Você pode criar uma configuração antes de criar qualquer agente. Em seguida, você pode aplicar a configuração a um ou mais agentes.

## Atributos
<a name="configuration-attributes"></a>

A configuração de um agente tem vários atributos, por exemplo:
+ Um nome (MyConfiguration)
+ Uma identificação (c-1234a5b6-78cd-901e-2fgh-3i45j6k178l9)
+ Um nome de recurso da Amazon (ARN) (arn:aws:mq:us-east- 2:123456789012:configuration:c-1234a5b678cd-901e-2fgh-3i45j6k178l9)

Para obter uma lista completa de atributos de configuração, consulte o seguinte na Referência de API Amazon MQ REST:
+ [ID da operação REST: Configuração](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html)
+ [ID da operação REST: Configurações](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html)

Para obter uma lista completa de atributos de revisão de configuração, consulte o seguinte:
+ [ID da operação REST: Revisão da configuração](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revision.html)
+ [ID da operação REST: Revisões de configuração](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revisions.html)

Tópicos
+ [Criando e aplicando configurações do corretor RabbitMQ](rabbitmq-creating-applying-configurations.md)
+ [Editar uma revisão de configuração do Amazon MQ para RabbitMQ](edit-current-rabbitmq-configuration-console.md)
+ [Valores configuráveis para RabbitMQ no Amazon MQ](configurable-values.md)
+ [Suporte de ARN na configuração do RabbitMQ](arn-support-rabbitmq-configuration.md)

# Criação e aplicação de configurações do agente do RabbitMQ
<a name="rabbitmq-creating-applying-configurations"></a>

Uma *configuração* contém todas as definições do agente do RabbitMQ, no formato Cuttlefish. Você pode criar uma configuração antes de criar qualquer agente. Depois, você pode aplicar a configuração a um ou mais agentes

Os exemplos a seguir mostram como criar e aplicar uma configuração do agente do RabbitMQ utilizando o Console de gerenciamento da AWS.

**Importante**  
Você só pode **excluir** uma configuração usando a API do `DeleteConfiguration`. Para obter mais informações, consulte [Configurações](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/configurations-configuration-id.html) na *Referência da API do Amazon MQ*.

## Criar uma configuração
<a name="creating-rabbitmq-configuration-from-scratch-console"></a>

 Para aplicar uma configuração ao agente, primeiro você deve criar a configuração. 

1. Faça login no [console do Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Do lado esquerdo, expanda o painel de navegação e selecione **Configurations (Configurações)**.  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/pt_br/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-create-configuration.png)

1. Na página **Configurações**, selecione **Criar configuração**.

1. Na página **Criar configuração**, na seção **Detalhes**, digite o **Nome da configuração** (por exemple, `MyConfiguration`) e selecione uma versão do **Mecanismo do agente**.

   Para saber mais sobre as versões do mecanismo do RabbitMQ compatíveis com o Amazon MQ para RabbitMQ, consulte [Gerenciando o Amazon MQ para versões do mecanismo RabbitMQ](rabbitmq-version-management.md).

1. Escolha **Criar configuração**.

## Criar uma revisão de configuração
<a name="creating-new-rabbitmq-configuration-revision-console"></a>

 Depois de criar uma configuração, você deverá editá-la usando uma revisão de configuração. 

1. Na lista de configuração, escolha ***MyConfiguration***.
**nota**  
A primeira revisão de configuração será sempre criada para você quando o Amazon MQ criar a configuração.

   Na ***MyConfiguration***página, o tipo e a versão do mecanismo do broker que sua nova revisão de configuração usa (por exemplo, **RabbitMQ 3.xx.xx**) são exibidos.

1. Na guia **Detalhes da configuração**, são exibidos o número de revisão da configuração, a descrição e a configuração do agente no formato Cuttlefish.
**nota**  
Editar a configuração atual irá criar uma nova revisão da configuração.

1. Selecione **Editar configuração** e faça as alterações na configuração do Cuttlefish.

1. Escolha **Salvar**.

   A caixa e diálogo **Save revision** (Salvar revisão) será exibida.

1. (Opcional) Tipo `A description of the changes in this revision`.

1. Escolha **Salvar**.

   A nova revisão da configuração é salva.
**Importante**  
Fazer alterações em uma configuração *não* aplica as alterações ao agente imediatamente. Para aplicar as alterações, você deve aguardar a próxima janela de manutenção ou [reiniciar o agente](amazon-mq-rebooting-broker.md).  
No momento, não é possível excluir uma configuração.

## Aplicar uma revisão de configuração ao operador
<a name="apply-rabbitmq-configuration-revision-creating-console"></a>

 Depois de criar a revisão da configuração, você pode aplicá-la ao agente. 

1. Do lado esquerdo, expanda o painel de navegação e selecione **Brokers (Agentes)**.  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/pt_br/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-apply-configuration.png)

1. Na lista de corretores, selecione seu corretor (por exemplo **MyBroker**) e escolha **Editar**.

1. Na *MyBroker* página **Editar**, na seção **Configuração**, selecione uma **Configuração** e uma **Revisão** e, em seguida, escolha **Programar Modificações**.

1. Na seção **Schedule broker modifications (Programar modificações no operador)**, escolha se deseja aplicar as modificações **During the next scheduled maintenance window (Durante a próxima janela de manutenção programada)** ou **Immediately (Imediatamente)**.
**Importante**  
Os agentes de instância única ficarão offline durante a reinicialização. Para agentes de cluster, somente um nó fica inativo por vez enquanto o agente é reinicializado.

1. Escolha **Aplicar**.

   Sua revisão de configuração será aplicada ao agente no horário especificado.

# Editar uma revisão de configuração do Amazon MQ para RabbitMQ
<a name="edit-current-rabbitmq-configuration-console"></a>

 As instruções a seguir descrevem como editar uma revisão de configuração para o agente. 

1. Faça login no [console do Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Na lista de corretores, selecione seu corretor (por exemplo **MyBroker**) e escolha **Editar**.

1. Na ***MyBroker***página, escolha **Editar**.

1. Na *MyBroker* página **Editar**, na seção **Configuração**, selecione uma **Configuração** e uma **Revisão** e escolha **Editar**.
**nota**  
A menos que você selecione uma configuração ao criar um agente, a primeira revisão de configuração será sempre criada para você quando o Amazon MQ criar o agente.

   Na ***MyBroker***página, o tipo e a versão do mecanismo do broker que a configuração usa (por exemplo, **RabbitMQ 3.xx.xx**) são exibidos.

1. Na guia **Detalhes da configuração**, são exibidos o número de revisão da configuração, a descrição e a configuração do agente no formato Cuttlefish.
**nota**  
Editar a configuração atual irá criar uma nova revisão da configuração.

1. Selecione **Editar configuração** e faça as alterações na configuração do Cuttlefish.

1. Escolha **Salvar**.

   A caixa e diálogo **Save revision** (Salvar revisão) será exibida.

1. (Opcional) Tipo `A description of the changes in this revision`.

1. Escolha **Salvar**.

   A nova revisão da configuração é salva.
**Importante**  
Fazer alterações em uma configuração *não* aplica as alterações ao agente imediatamente. Para aplicar as alterações, você deve aguardar a próxima janela de manutenção ou [reiniciar o agente](amazon-mq-rebooting-broker.md).  
No momento, não é possível excluir uma configuração.

# Valores configuráveis
<a name="configurable-values"></a>

Você pode definir o valor das opções de configuração do agente a seguir modificando o arquivo de configuração do agente no Console de gerenciamento da AWS.

Além dos valores descritos na tabela a seguir, o Amazon MQ oferece suporte a opções adicionais de configuração de agentes relacionadas à autenticação e autorização, bem como aos limites de recursos. Para obter mais informações sobre essas opções de configuração, consulte
+ [OAuth Configuração 2.0](configure-oauth2.md)
+ [Configuração LDAP](configure-ldap.md)
+ [Configuração HTTP](configure-http.md)
+ [Configuração do SSL](configure-ssl.md)
+ [Configuração mTLS](configure-mtls.md)
+ [Suporte para ARN](arn-support-rabbitmq-configuration.md)
+ [Limites de recurso](rabbitmq-resource-limits-configuration.md)
+ [Configuração SSL do cliente AMQP](rabbitmq-amqp-client-ssl-configuration.md)


| Configuração | Valor padrão | Valores recomendados | Valores | Versões aplicáveis | Description | 
| --- | --- | --- | --- | --- | --- | 
| consumer\$1timeout | 1.800.000 ms (30 minutos) | 1.800.000 ms (30 minutos) | 0 a 2.147.483.647 ms. O Amazon MQ também suporta o valor 0, que significa “infinito”. | Todas as versões | Um tempo limite na confirmação da entrega do consumidor para detectar quando os consumidores não confirmam as entregas. | 
| heartbeat | 60 segundos | 60 segundos | De 60 a 3.600 segundos | Todas as versões | Define o tempo antes de uma conexão ser considerada indisponível pelo RabbitMQ. | 
| management.restrictions.operator\$1policy\$1changes.disabled | true | true | true, false | Todas as versões | Desabilita a realização de alterações nas políticas do operador. Se você fizer essa alteração, é altamente recomendável incluir as propriedades de HA em suas próprias políticas de operador. | 
| quorum\$1queue.property\$1equivalence.relaxed\$1checks\$1on\$1redeclaration | true | true | true, false | Todas as versões | Quando definido como TRUE, a aplicação evita uma exceção do canal ao redeclarar uma fila de quórum. | 
| secure.management.http.headers.enabled | true | true | true, false | Todas as versões | Habilita cabeçalhos de segurança HTTP não modificáveis. | 

## Configurar uma confirmação de entrega do consumidor
<a name="configuring-consumer-delivery"></a>

Você pode configurar consumer\$1timeout para detectar quando os consumidores não embalam as entregas. Se o consumidor não enviar uma confirmação dentro do tempo limite, o canal será fechado. Por exemplo, se você estiver usando o valor padrão de 1.800.000 milissegundos, se o consumidor não enviar uma confirmação de entrega dentro de 1.800.000 milissegundos, o canal será fechado. O Amazon MQ também suporta o valor 0, que significa “infinito”.

## Configurar pulsação
<a name="configuring-heartbeat"></a>

Você pode configurar um tempo limite de pulsação para descobrir quando as conexões foram interrompidas ou falharam. O valor da pulsação define o limite de tempo antes de uma conexão ser considerada inativa.

## Configurar políticas do operador
<a name="configuring-operator-policies"></a>

A política de operador padrão em cada host virtual tem as seguintes propriedades de HA recomendadas:

```
{
"name": "default_operator_policy_AWS_managed",
"pattern": ".*",
"apply-to": "all",
"priority": 0,
"definition": {
"ha-mode": "all",
"ha-sync-mode": "automatic"
}
}
```

As alterações nas políticas do operador por meio da API de gerenciamento Console de gerenciamento da AWS ou não estão disponíveis por padrão. Você pode ativar as alterações adicionando a seguinte linha à configuração do agente:

```
management.restrictions.operator_policy_changes.disabled=false
```

Se você fizer essa alteração, é altamente recomendável incluir as propriedades de HA em suas próprias políticas de operador.

## Configurar verificações flexíveis na declaração de filas
<a name="configuring-relaxed-checks"></a>

Se você migrou suas filas clássicas para filas de quórum, mas não atualizou seu código de cliente, você pode evitar uma exceção de canal ao redeclarar uma fila de quórum configurando quorum\$1queue.property\$1equivalence.relaxed\$1checks\$1on\$1redeclaration definido como true.

## Configurar cabeçalhos de segurança HTTP
<a name="configuring-http-security"></a>

A configuração secure.management.http.headers.enabled ativa os seguintes cabeçalhos de segurança HTTP:
+ [X-Content-Type-Options: nosniff:](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) impede que os navegadores realizem a detecção de conteúdo, algoritmos usados para deduzir o formato dos arquivos dos sites.
+ [X-Frame-Options: DENY:](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) impede que alguém incorpore o plug-in de gerenciamento em um quadro em seu próprio site para enganar outras pessoas.
+ [Strict-Transport-Security: max-age=47304000; includeSubDomains](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security): obriga os navegadores a usarem HTTPS ao fazer conexões subsequentes ao site e seus subdomínios por um longo período de tempo (1,5 anos).

Os corretores do Amazon MQ para RabbitMQ criados nas versões 3.10 e superiores terão secure.management.http.headers.enabled definido como true por padrão. Você pode ativar esses cabeçalhos de segurança HTTP definindo secure.management.http.headers.enabled como true. Se você quiser desativar esses cabeçalhos de segurança HTTP, defina secure.management.http.headers.enabled como false.

# Configurando a autenticação e autorização OAuth 2.0
<a name="configure-oauth2"></a>

Para obter informações sobre as opções de configuração OAuth OAuth 2.0 e a configuração da autenticação 2.0 para seus corretores, consulte [Configurações OAuth 2.0 suportadas](oauth-for-amq-for-rabbitmq.md#oauth-tutorial-supported-configs) e [Usando autenticação e OAuth autorização 2.0](oauth-tutorial.md).

# Configurando a autenticação e autorização LDAP
<a name="configure-ldap"></a>

[Para obter informações sobre as opções de configuração do LDAP e a configuração da autenticação LDAP para seus corretores, consulte Configurações de LDAP suportadas e.](ldap-for-amq-for-rabbitmq.md#ldap-supported-configs) [Usando autenticação e autorização LDAP](rabbitmq-ldap-tutorial.md)

# Configurando a autenticação e autorização HTTP
<a name="configure-http"></a>

Para obter informações sobre os valores de configuração da autenticação HTTP e a configuração da autenticação HTTP para seus corretores, consulte [Autenticação e [Usando autenticação e autorização HTTP](rabbitmq-http-tutorial.md) autorização HTTP](http-for-amq-for-rabbitmq.md) e.

**nota**  
O plug-in de autenticação HTTP está disponível somente para o Amazon MQ for RabbitMQ versão 4 e superior.

# Configurando a autenticação do certificado SSL
<a name="configure-ssl"></a>

Para obter informações sobre os valores de configuração da autenticação do certificado SSL e a configuração da autenticação do certificado SSL para seus corretores, consulte Autenticação do certificado [SSL e.](ssl-for-amq-for-rabbitmq.md) [Usando a autenticação de certificado SSL](rabbitmq-ssl-tutorial.md)

**nota**  
O plug-in de autenticação de certificado SSL está disponível somente para o Amazon MQ for RabbitMQ versão 4 e superior.

# Configurando o mTLS
<a name="configure-mtls"></a>

O Amazon MQ para RabbitMQ oferece suporte a TLS mútuo (mTLS) para conexões seguras com vários endpoints e serviços externos. O mTLS fornece segurança aprimorada ao exigir que o cliente e o servidor se autentiquem usando certificados.

**nota**  
O uso de autoridades de certificação privadas para mTLS está disponível somente para Amazon MQ para RabbitMQ versão 4 e superior.

**Importante**  
O Amazon MQ para RabbitMQ impõe o uso de arquivos de AWS ARNs certificado e chave privada. Consulte [Suporte de ARN na configuração do RabbitMQ](arn-support-rabbitmq-configuration.md) para obter mais detalhes.

**Topics**
+ [Endpoint AMQP](#mtls-amqp-endpoint)
+ [Plugin de gerenciamento RabbitMQ](#mtls-management-plugin)
+ [Plug-in RabbitMQ 2.0 OAuth](#mtls-oauth2-plugin)
+ [Plugin de autenticação HTTP RabbitMQ](#mtls-http-plugin)
+ [Plug-in LDAP do RabbitMQ](#mtls-ldap-plugin)
+ [Conexões de cliente AMQP](#mtls-amqp-client)

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

Configure o mTLS para conexões de clientes com o endpoint AMQP. Isso é usado com a autenticação do certificado SSL. Para configurações compatíveis, consulte[Autenticação de certificado SSL](ssl-for-amq-for-rabbitmq.md).

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

Configure o mTLS para conexões com a interface de gerenciamento do RabbitMQ.

**nota**  
O mTLS estrito não é compatível com a API de gerenciamento.

`aws.arns.management.ssl.cacertfile`  
Arquivo de autoridade de certificação para validar certificados de clientes conectados à interface de gerenciamento.

`management.ssl.verify`  
Modo de verificação por pares. Valores suportados:`verify_none`, `verify_peer`

`management.ssl.depth`  
Profundidade máxima da cadeia de certificados para verificação.

`management.ssl.hostname_verification`  
Modo de verificação do nome do host. Valores suportados:`wildcard`, `none`

Os seguintes valores de configuração de SSL não são suportados:

### Veja a lista completa
<a name="management-ssl-options-list-content"></a>
+ `management.ssl.cert`
+ `management.ssl.client_renegotiation`
+ `management.ssl.dh`
+ `management.ssl.dhfile`
+ `management.ssl.fail_if_no_peer_cert`
+ `management.ssl.honor_cipher_order`
+ `management.ssl.honor_ecc_order`
+ `management.ssl.key.RSAPrivateKey`
+ `management.ssl.key.DSAPrivateKey`
+ `management.ssl.key.PrivateKeyInfo`
+ `management.ssl.log_alert`
+ `management.ssl.password`
+ `management.ssl.psk_identity`
+ `management.ssl.reuse_sessions`
+ `management.ssl.secure_renegotiate`
+ `management.ssl.versions.$version`
+ `management.ssl.sni`

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

Configure mTLS para conexões do Amazon MQ com OAuth o provedor de identidade 2.0. Para configurações compatíveis, consulte[OAuth Autenticação e autorização 2.0](oauth-for-amq-for-rabbitmq.md).

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

Configure o mTLS para conexões do Amazon MQ com o servidor de autenticação HTTP. Para configurações compatíveis, consulte[Autenticação e autorização HTTP](http-for-amq-for-rabbitmq.md).

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

Configure mTLS para conexões do Amazon MQ com o servidor LDAP. Para configurações compatíveis, consulte[Autenticação e autorização LDAP](ldap-for-amq-for-rabbitmq.md).

## Conexões de cliente AMQP
<a name="mtls-amqp-client"></a>

Configure a verificação por pares TLS para conexões de clientes AMQP usadas pela federação e pelo shovel. Para obter mais informações, consulte Configuração [SSL do cliente AMQP](rabbitmq-amqp-client-ssl-configuration.md).

**Importante**  
No momento, o Amazon MQ não oferece suporte à configuração de certificados de cliente para conexões de clientes AMQP. Como resultado, a federação e o shovel não podem se conectar a corretores habilitados para mTLS que exigem autenticação de certificado de cliente.

# Configuração do limite de recursos
<a name="configure-resource-limits"></a>

O Amazon MQ para RabbitMQ suporta a configuração dos limites de recursos do agente a partir do RabbitMQ 4. Quando você cria um agente, o Amazon MQ aplica automaticamente valores padrão a esses limites de recursos. Esses padrões atuam como barreiras para proteger a disponibilidade de seu corretor e, ao mesmo tempo, acomodar os padrões comuns de uso do cliente. Você pode personalizar o comportamento do seu agente alterando os valores de configuração limite para melhor atender aos seus requisitos específicos de carga de trabalho. Para obter mais detalhes sobre os valores padrão e máximos permitidos, consulte[Diretrizes de dimensionamento do Amazon MQ para RabbitMQ](rabbitmq-sizing-guidelines.md).

## Nomes de recursos e chaves de configuração
<a name="resource-limit-configuration-keys"></a>


| Nome do recurso | Chave de configuração | 
| --- | --- | 
| Conexão | connection\$1max | 
| Canal | channel\$1max\$1per\$1node | 
| Fila | cluster\$1queue\$1limit | 
| Vhost | vhost\$1max | 
| Shovel | runtime\$1parameters.limits.shovel | 
| Exchange | cluster\$1exchange\$1limit | 
| Consumidor por canal | consumer\$1max\$1per\$1channel | 
| Tamanho máximo de mensagem | max\$1message\$1size | 

## Como substituir os limites de recursos
<a name="override-resource-limits"></a>

Você pode substituir os limites de recursos usando a API do Amazon MQ e o console do Amazon MQ.

O exemplo a seguir mostra como substituir o limite padrão de contagem de filas usando: AWS CLI

```
aws mq update-configuration --configuration-id <config-id> --data "$(echo "cluster_queue_limit=500" | base64 --wrap=0)"
```

Uma invocação bem-sucedida cria uma revisão de configuração. Você deve associar a configuração ao seu broker RabbitMQ e reinicializar o broker para aplicar a substituição. Para obter mais detalhes, consulte [RabbitMQ Broker Configurations](rabbitmq-broker-configuration-parameters.md) 

## Erros de substituição do limite de recursos
<a name="resource-limit-override-errors"></a>

Associar ou criar um agente com valores de configuração fora do intervalo suportado resulta em uma resposta de erro semelhante à seguinte:

```
Configuration Revision N for configuration:cluster_queue_limit has limit: of value: 100000000 larger than maximum allowed limit:5000
```

# 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\$1options.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\$1oauth2.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\$1http.ssl\$1options.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\$1http.ssl\$1options.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\$1http.ssl\$1options.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\$1ldap.ssl\$1options.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\$1ldap.ssl\$1options.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\$1ldap.ssl\$1options.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\$1ldap.dn\$1lookup\$1bind.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\$1ldap.other\$1bind.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\$1INVALID\$1ASSUME ROLE](troubleshooting-action-required-codes-invalid-assumerole.md)
+ [RABBITMQ\$1INVALID\$1ARN\$1LDAP](troubleshooting-action-required-codes-invalid-arn-ldap.md)
+ [RABBITMQ\$1INVALID\$1ARN](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\$1ASSUMEROLE](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 '.'
  ```

# Configuração SSL do cliente AMQP
<a name="rabbitmq-amqp-client-ssl-configuration"></a>

 Federation e shovel usam o AMQP para comunicação entre corretores upstream e downstream. Por padrão, a *verificação por pares TLS* está habilitada para clientes AMQP no Amazon MQ para RabbitMQ 4. Com essa configuração, os clientes AMQP da federação e do shovel que executam nos corretores Amazon MQ realizarão a verificação por pares ao estabelecer conexões com o corretor upstream. 

 Os clientes AMQP executados em corretores Amazon MQ oferecem suporte às mesmas autoridades de certificação da Mozilla. Se você não usa o [ACM](https://www.amazontrust.com/repository), use um certificado emitido por uma CA na Lista de [certificados de CA incluídos da Mozilla](https://wiki.mozilla.org/CA/Included_Certificates). Se seu agente local usar certificados de outras autoridades de certificação, a verificação de SSL falhará. Você pode desativar a *verificação por pares do TLS para esses casos de* uso. 

**Importante**  
No momento, o Amazon MQ não oferece suporte à configuração de certificados de cliente para conexões de clientes AMQP. Como resultado, a federação e o shovel não podem se conectar a corretores habilitados para mTLS que exigem autenticação de certificado de cliente.

**Importante**  
 *No Amazon MQ para RabbitMQ 3, as propriedades SSL dos clientes AMQP são configuradas com os padrões do RabbitMQ (verify\$1none).* O Amazon MQ para RabbitMQ 3 não suporta a substituição desses padrões. 

**nota**  
Com a `verify_peer` configuração padrão, você pode estabelecer conexões de federação e escavação entre quaisquer 2 agentes do Amazon MQ, mas isso não dá suporte ao estabelecimento da conexão entre o agente do Amazon MQ e os corretores privados ou agentes locais que estejam executando com certificados CA que não sejam do Amazon MQ. Para se conectar com corretores particulares ou locais, você precisa desativar a verificação por pares no agente downstream do Amazon MQ.

## Chave de configuração SSL do cliente AMQP
<a name="amqp-client-ssl-configuration-keys"></a>


| Configuração | Chave de configuração | Valores suportados | 
| --- | --- | --- | 
| Verificação por pares SSL do cliente AMQP | amqp\$1client.ssl\$1options.verify | verify\$1none, verify\$1peer | 

## Como substituir a verificação por pares SSL do cliente AMQP
<a name="override-amqp-client-ssl-peer-verification"></a>

Você pode substituir a verificação por pares SSL do cliente AMQP usando a API Amazon MQ e o console Amazon MQ nos corretores RabbitMQ 4.

O exemplo a seguir mostra como substituir a verificação por pares SSL do cliente AMQP usando o: AWS CLI

```
aws mq update-configuration --configuration-id <config-id> --data "$(echo "amqp_client.ssl_options.verify=verify_none" | base64 --wrap=0)"
```

Uma invocação bem-sucedida cria uma revisão de configuração. Você deve associar a configuração ao seu broker RabbitMQ e reinicializar o broker para aplicar a substituição. Para obter mais detalhes, consulte [Creating and applying broker configurations](rabbitmq-creating-applying-configurations.md) 

**Importante**  
Durante o uso`verify_none`, a criptografia SSL ainda está ativa, mas a identidade do par não é verificada. Use essa configuração somente quando necessário e certifique-se de confiar no caminho da rede até o agente de destino.