

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration d'un courtier RabbitMQ
<a name="rabbitmq-broker-configuration-parameters"></a>

Une configuration contient tous les paramètres de votre broker RabbitMQ au format Cuttlefish. Vous pouvez créer une configuration avant de créer des agents. Vous pouvez ensuite appliquer la configuration à un ou plusieurs agents.

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

La configuration d'un agent a plusieurs attributs, par exemple :
+ Un nom (MyConfiguration)
+ Un identifiant (c-1234a5b6-78cd-901e-2fgh-3i45j6k178l9)
+ Un nom de ressource Amazon (ARN) (arn:aws:mq:us-east- 2:123456789012:configuration:c-1234a5b678cd-901e-2fgh-3i45j6k178l9)

Pour obtenir la liste complète des attributs de configuration, consultez ce qui suit dans la référence d'API REST Amazon MQ :
+ [ID d'opération REST : Configuration](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration.html)
+ [ID d'opération REST : Configurations](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configurations.html)

Pour obtenir la liste complète des attributs des révisions de configuration, consultez les sections suivantes :
+ [ID d'opération REST : Révision de configuration](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revision.html)
+ [ID d'opération REST : Révisions de configuration](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/rest-api-configuration-revisions.html)

Rubriques
+ [Création et application de configurations de broker RabbitMQ](rabbitmq-creating-applying-configurations.md)
+ [Modifier une révision de configuration Amazon MQ pour RabbitMQ](edit-current-rabbitmq-configuration-console.md)
+ [Valeurs configurables pour RabbitMQ sur Amazon MQ](configurable-values.md)
+ [Support de l'ARN dans la configuration de RabbitMQ](arn-support-rabbitmq-configuration.md)

# Création et application de configurations d'agent RabbitMQ
<a name="rabbitmq-creating-applying-configurations"></a>

Une *configuration* contient tous les paramètres de votre agent RabbitMQ au format Cuttlefish. Vous pouvez créer une configuration avant de créer des agents. Vous pouvez ensuite appliquer la configuration à un ou plusieurs agents.

Les exemples suivants montrent comment créer une configuration d'agent RabbitMQ et comment l'appliquer à l'aide de la  AWS Management Console.

**Important**  
Vous ne pouvez **supprimer** une configuration qu'à l'aide de l'`DeleteConfiguration`API. Pour plus d'informations, consultez [Configurations](https://docs.aws.amazon.com/amazon-mq/latest/api-reference/configurations-configuration-id.html) dans le manuel *Amazon MQ API Reference*.

## Création d'une nouvelle configuration
<a name="creating-rabbitmq-configuration-from-scratch-console"></a>

 Pour appliquer une configuration à votre broker, vous devez d'abord créer la configuration. 

1. Connectez-vous à la [console Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Sur la gauche, développez le volet de navigation et choisissez **Configurations**.  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/fr_fr/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-create-configuration.png)

1. Sur la page **Configurations**, choisissez **Create configuration (Créer une configuration)**.

1. Sur la page **Create configuration** (Créer une configuration), dans la section **Details** (Détails), saisissez le **Configuration name** (Nom de configuration) (par exemple, `MyConfiguration`) et sélectionnez une version de **Broker engine** (Moteur d'agent).

   Pour en savoir plus sur les versions du moteur RabbitMQ prises en charge par Amazon MQ for RabbitMQ, consultez [Gestion des versions du moteur Amazon MQ for RabbitMQ](rabbitmq-version-management.md).

1. Choisissez **Créer une configuration**.

## Créer une révision de configuration
<a name="creating-new-rabbitmq-configuration-revision-console"></a>

 Après avoir créé une configuration, vous devez la modifier à l'aide d'une révision de configuration. 

1. Dans la liste des configurations, choisissez ***MyConfiguration***.
**Note**  
La première révision de configuration est toujours créée lorsqu'Amazon MQ crée la configuration.

   Sur la ***MyConfiguration***page, le type et la version du moteur de courtage utilisés par votre nouvelle révision de configuration (par exemple, **RabbitMQ 3.xx.xx**) sont affichés.

1. Dans l'onglet **Détails de configuration** figurent le numéro de révision de configuration, la description et la configuration d'agent au format Cuttlefish.
**Note**  
La modification de la configuration actuelle crée une nouvelle révision de configuration.

1. Choisissez **Modifier la configuration** et apportez les modifications à la configuration Cuttlefish.

1. Choisissez **Enregistrer**.

   La boîte de dialogue **Save revision (Enregistrer la révision)** s'affiche.

1. (Facultatif) Type `A description of the changes in this revision`.

1. Choisissez **Save (Enregistrer)**.

   La nouvelle révision de configuration est enregistrée.
**Important**  
Apporter des modifications à une configuration n'applique *pas* immédiatement les modifications à l'agent. Pour appliquer vos modifications, vous devez attendre la fenêtre de maintenance suivante ou [redémarrer l’agent](amazon-mq-rebooting-broker.md).  
Actuellement, vous ne pouvez pas supprimer une configuration.

## Appliquer une révision de configuration à votre agent
<a name="apply-rabbitmq-configuration-revision-creating-console"></a>

 Après avoir créé la révision de configuration, vous pouvez appliquer la révision de configuration à votre courtier. 

1. Sur la gauche, développez le volet de navigation et choisissez **Brokers (Agents)**.  
![\[Amazon MQ navigation panel showing Brokers and Configurations options.\]](http://docs.aws.amazon.com/fr_fr/amazon-mq/latest/developer-guide/images/amazon-mq-tutorials-apply-configuration.png)

1. Dans la liste des courtiers, sélectionnez votre courtier (par exemple **MyBroker**), puis choisissez **Modifier**.

1. Sur la *MyBroker* page **Modifier**, dans la section **Configuration**, sélectionnez une **configuration** et une **révision**, puis choisissez **Planifier les modifications**.

1. Dans la section **Schedule broker modifications (Planifier les modifications de l'agent)**, choisissez si les modifications doivent être appliquées **During the next scheduled maintenance window (Au cours de la prochaine fenêtre de maintenance)** ou **Immediately (immédiatement)**.
**Important**  
Les courtiers à instance unique sont hors ligne lors du redémarrage. Pour les courtiers en clusters, un seul nœud est en panne à la fois lorsque le courtier redémarre.

1. Cliquez sur **Appliquer**.

   Votre révision de configuration est appliquée à votre agent à l'heure spécifiée.

# Modifier une révision de configuration Amazon MQ pour RabbitMQ
<a name="edit-current-rabbitmq-configuration-console"></a>

 Les instructions suivantes décrivent comment modifier une révision de configuration pour votre courtier. 

1. Connectez-vous à la [console Amazon MQ](https://console.aws.amazon.com/amazon-mq/).

1. Dans la liste des courtiers, sélectionnez votre courtier (par exemple **MyBroker**), puis choisissez **Modifier**.

1. Sur la ***MyBroker***page, choisissez **Modifier**.

1. Sur la *MyBroker* page **Modifier**, dans la section **Configuration**, sélectionnez une **configuration** et une **révision**, puis choisissez **Modifier**.
**Note**  
Sauf si vous sélectionnez une configuration lorsque vous créez un agent, la première révision de configuration est toujours créée lorsqu'Amazon MQ crée l'agent.

   Sur la ***MyBroker***page, le type et la version du moteur de courtage utilisés par la configuration (par exemple, **RabbitMQ 3.xx.xx**) sont affichés.

1. Dans l'onglet **Détails de configuration** figurent le numéro de révision de configuration, la description et la configuration d'agent au format Cuttlefish.
**Note**  
La modification de la configuration actuelle crée une nouvelle révision de configuration.

1. Choisissez **Modifier la configuration** et apportez les modifications à la configuration Cuttlefish.

1. Choisissez **Enregistrer**.

   La boîte de dialogue **Save revision (Enregistrer la révision)** s'affiche.

1. (Facultatif) Type `A description of the changes in this revision`.

1. Choisissez **Save (Enregistrer)**.

   La nouvelle révision de configuration est enregistrée.
**Important**  
Apporter des modifications à une configuration n'applique *pas* immédiatement les modifications à l'agent. Pour appliquer vos modifications, vous devez attendre la fenêtre de maintenance suivante ou [redémarrer l’agent](amazon-mq-rebooting-broker.md).  
Actuellement, vous ne pouvez pas supprimer une configuration.

# Valeurs configurables
<a name="configurable-values"></a>

Vous pouvez définir la valeur des options de configuration de courtier suivantes en modifiant le fichier de configuration de courtier dans le AWS Management Console.

Outre les valeurs décrites dans le tableau suivant, Amazon MQ prend en charge des options de configuration de courtier supplémentaires liées à l'authentification et à l'autorisation ainsi qu'aux limites de ressources. Pour plus d'informations sur ces options de configuration, voir
+ [OAuth Configuration 2.0](configure-oauth2.md)
+ [Configuration LDAP](configure-ldap.md)
+ [Configuration du protocole HTTP](configure-http.md)
+ [Configuration du protocole SSL](configure-ssl.md)
+ [Configuration de MTLS](configure-mtls.md)
+ [Prise en charge de l'ARN](arn-support-rabbitmq-configuration.md)
+ [Limites des ressources](rabbitmq-resource-limits-configuration.md)
+ [Configuration SSL du client AMQP](rabbitmq-amqp-client-ssl-configuration.md)


| Configuration | Valeur par défaut | Valeur recommandée | Valeurs | Versions applicables | Description | 
| --- | --- | --- | --- | --- | --- | 
| consumer\$1timeout | 1800000 ms (30 minutes) | 1800000 ms (30 minutes) | 0 à 2 147 483 647 ms. Amazon MQ prend également en charge la valeur 0, qui signifie « infini ». | Toutes les versions | Un délai d'attente pour l'accusé de réception pour détecter les cas où les consommateurs n'emballent pas les livraisons. | 
| battement de coeur | 60 secondes | 60 secondes | 60 à 3600 secondes | Toutes les versions | Définit le délai avant qu'une connexion ne soit considérée comme indisponible par RabbitMQ. | 
| management.restrictions.operator\$1policy\$1changes.disabled | true | true | true, false | Toutes les versions | Désactive la modification des politiques de l'opérateur. Si vous apportez cette modification, nous vous encourageons vivement à inclure les propriétés de haute disponibiliété dans vos propres politiques d'opérateur. | 
| quorum\$1queue.property\$1equivalence.relaxed\$1checks\$1on\$1redeclaration | true | true | true, false | Toutes les versions | Lorsque cette valeur est définie sur TRUE, votre application évite une exception de canal lors de la redéclaration d'une file d'attente de quorum. | 
| secure.management.http.headers.enabled | true | true | true, false | Toutes les versions | Active les en-têtes de sécurité HTTP non modifiables. | 

## Configuration de l'accusé de réception pour le consommateur
<a name="configuring-consumer-delivery"></a>

Vous pouvez configurer consumer\$1timeout pour détecter les cas où les consommateurs n'emballent pas leurs livraisons. Si le consommateur n'envoie pas d'accusé de réception dans le délai imparti, le canal sera fermé. Par exemple, si vous utilisez la valeur par défaut de 1 800 000 millisecondes, si le consommateur n'envoie pas d'accusé de réception dans un délai de 1 800 000 millisecondes, le canal sera fermé. Amazon MQ prend également en charge la valeur 0, qui signifie « infini ».

## Configuration du rythme cardiaque
<a name="configuring-heartbeat"></a>

Vous pouvez configurer un délai d'expiration du rythme cardiaque pour savoir quand les connexions sont interrompues ou ont échoué. La valeur du rythme cardiaque définit le délai avant qu'une connexion ne soit considérée comme interrompue.

## Configuration des politiques de l'opérateur
<a name="configuring-operator-policies"></a>

La politique d'opérateur par défaut de chaque hôte virtuel présente les propriétés de haute disponibilité recommandées suivantes :

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

Les modifications apportées aux politiques de l'opérateur via l'API de gestion AWS Management Console or ne sont pas disponibles par défaut. Vous pouvez activer les modifications en ajoutant la ligne suivante à la configuration d'agent :

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

Si vous apportez cette modification, nous vous encourageons vivement à inclure les propriétés de haute disponibiliété dans vos propres politiques d'opérateur.

## Configuration de contrôles simplifiés lors de la déclaration des files d'attente
<a name="configuring-relaxed-checks"></a>

Si vous avez migré vos files d'attente classiques vers des files d'attente de quorum mais que vous n'avez pas mis à jour votre code client, vous pouvez éviter une exception de canal lorsque vous redéclarez une file d'attente de quorum en configurant quorum\$1queue.property\$1equivalence.relaxed\$1checks\$1on\$1redeclaration sur true.

## Configuration des en-têtes de sécurité HTTP
<a name="configuring-http-security"></a>

La configuration secure.management.http.headers.enabled active les en-têtes de sécurité HTTP suivants :
+ [X-Content-Type-Options : nosniff](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Content-Type-Options) : empêche les navigateurs de détecter du contenu, algorithmes utilisés pour déduire le format de fichier des sites Web.
+ [X-Frame-Options : DENY](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) : empêche les autres d'intégrer le plugin de gestion dans un cadre de leur propre site Web pour tromper les autres
+ [Strict-Transport-Security : max-age=47304000 ; includeSubDomains](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security) : oblige les navigateurs à utiliser le protocole HTTPS lors de connexions ultérieures au site Web et à ses sous-domaines pendant une longue période (1,5 an).

Les courtiers Amazon MQ pour RabbitMQ créés sur les versions 3.10 et supérieures auront la valeur true par défaut pour secure.management.http.headers.enabled. Vous pouvez activer ces en-têtes de sécurité HTTP en attribuant à secure.management.http.headers.enabled la valeur true. Si vous souhaitez désactiver ces en-têtes de sécurité HTTP, définissez secure.management.http.headers.enabled sur false.

# Configuration de l'authentification et de l'autorisation OAuth 2.0
<a name="configure-oauth2"></a>

Pour plus d'informations sur les options de configuration OAuth 2.0 et sur la configuration de l'authentification OAuth 2.0 pour vos courtiers, consultez les sections [Configurations OAuth 2.0 prises en charge](oauth-for-amq-for-rabbitmq.md#oauth-tutorial-supported-configs) et [Utilisation de l'authentification et de l'autorisation OAuth 2.0](oauth-tutorial.md).

# Configuration de l'authentification et de l'autorisation LDAP
<a name="configure-ldap"></a>

Pour plus d'informations sur les options de configuration LDAP et sur la configuration de l'authentification LDAP pour vos courtiers, consultez les sections Configurations [LDAP prises en charge](ldap-for-amq-for-rabbitmq.md#ldap-supported-configs) et. [Utilisation de l'authentification et de l'autorisation LDAP](rabbitmq-ldap-tutorial.md)

# Configuration de l'authentification et de l'autorisation HTTP
<a name="configure-http"></a>

Pour plus d'informations sur les valeurs de configuration de l'authentification HTTP et sur la configuration de l'authentification HTTP pour vos courtiers, voir [Authentification et autorisation HTTP](http-for-amq-for-rabbitmq.md) et[Utilisation de l'authentification et de l'autorisation HTTP](rabbitmq-http-tutorial.md).

**Note**  
Le plug-in d'authentification HTTP est uniquement disponible pour Amazon MQ pour RabbitMQ version 4 et supérieure.

# Configuration de l'authentification par certificat SSL
<a name="configure-ssl"></a>

Pour plus d'informations sur les valeurs de configuration de l'authentification par certificat SSL et sur la configuration de l'authentification par certificat SSL pour vos courtiers, voir [Authentification par certificat SSL](ssl-for-amq-for-rabbitmq.md) et[Utilisation de l'authentification par certificat SSL](rabbitmq-ssl-tutorial.md).

**Note**  
Le plug-in d'authentification par certificat SSL est uniquement disponible pour Amazon MQ pour RabbitMQ version 4 et supérieure.

# Configuration des MTL
<a name="configure-mtls"></a>

Amazon MQ pour RabbitMQ prend en charge le protocole TLS mutuel (MTL) pour des connexions sécurisées à divers points de terminaison et services externes. Le protocole mTLS améliore la sécurité en obligeant le client et le serveur à s'authentifier à l'aide de certificats.

**Note**  
L'utilisation d'autorités de certification privées pour les MTL n'est disponible que pour Amazon MQ pour RabbitMQ version 4 et supérieure.

**Important**  
Amazon MQ pour RabbitMQ impose l'utilisation de fichiers de certificat et de clé privée AWS ARNs . Voir le [support de l'ARN dans la configuration de RabbitMQ](arn-support-rabbitmq-configuration.md) pour plus de détails.

**Topics**
+ [Point de terminaison AMQP](#mtls-amqp-endpoint)
+ [Plugin de gestion RabbitMQ](#mtls-management-plugin)
+ [Plug-in RabbitMQ 2.0 OAuth](#mtls-oauth2-plugin)
+ [Plug-in d'authentification HTTP RabbitMQ](#mtls-http-plugin)
+ [Plug-in LDAP RabbitMQ](#mtls-ldap-plugin)
+ [Connexions client AMQP](#mtls-amqp-client)

## Point de terminaison AMQP
<a name="mtls-amqp-endpoint"></a>

Configurez les MTL pour les connexions client au point de terminaison AMQP. Ceci est utilisé avec l'authentification par certificat SSL. Pour les configurations prises en charge, consultez[Authentification par certificat SSL](ssl-for-amq-for-rabbitmq.md).

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

Configurez les MTL pour les connexions à l'interface de gestion RabbitMQ.

**Note**  
Les MTL stricts ne sont pas pris en charge pour l'API de gestion.

`aws.arns.management.ssl.cacertfile`  
Fichier d'autorité de certification pour valider les certificats clients se connectant à l'interface de gestion.

`management.ssl.verify`  
Mode de vérification par les pairs. Valeurs prises en charge :`verify_none`, `verify_peer`

`management.ssl.depth`  
Profondeur maximale de la chaîne de certificats pour la vérification.

`management.ssl.hostname_verification`  
Mode de vérification du nom d'hôte. Valeurs prises en charge :`wildcard`, `none`

Les valeurs de configuration SSL suivantes ne sont pas prises en charge :

### Voir la liste complète
<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>

Configurez les MTL pour les connexions entre Amazon MQ et OAuth le fournisseur d'identité 2.0. Pour les configurations prises en charge, consultez[OAuth Authentification et autorisation 2.0](oauth-for-amq-for-rabbitmq.md).

## Plug-in d'authentification HTTP RabbitMQ
<a name="mtls-http-plugin"></a>

Configurez les MTL pour les connexions entre Amazon MQ et le serveur d'authentification HTTP. Pour les configurations prises en charge, consultez[Authentification et autorisation HTTP](http-for-amq-for-rabbitmq.md).

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

Configurez les MTL pour les connexions entre Amazon MQ et le serveur LDAP. Pour les configurations prises en charge, consultez[Authentification et autorisation LDAP](ldap-for-amq-for-rabbitmq.md).

## Connexions client AMQP
<a name="mtls-amqp-client"></a>

Configurez la vérification par les pairs TLS pour les connexions client AMQP utilisées par Federation et Shovel. Pour plus d'informations, consultez la section [Configuration SSL du client AMQP](rabbitmq-amqp-client-ssl-configuration.md).

**Important**  
Amazon MQ ne prend actuellement pas en charge la configuration de certificats clients pour les connexions client AMQP. Par conséquent, Federation et Shovel ne peuvent pas se connecter aux courtiers compatibles MTLS qui nécessitent une authentification par certificat client.

# Configuration des limites de ressources
<a name="configure-resource-limits"></a>

Amazon MQ pour RabbitMQ prend en charge la configuration des limites de ressources des courtiers à partir de RabbitMQ 4. Lorsque vous créez un courtier, Amazon MQ applique automatiquement des valeurs par défaut à ces limites de ressources. Ces valeurs par défaut servent de garde-fous pour protéger la disponibilité de votre courtier tout en tenant compte des habitudes d'utilisation courantes des clients. Vous pouvez personnaliser le comportement de votre courtier en modifiant les valeurs de configuration des limites afin de mieux répondre à vos exigences spécifiques en matière de charge de travail. Pour plus de détails sur les valeurs par défaut et maximales autorisées, consultez[Directives de dimensionnement d'Amazon MQ pour RabbitMQ](rabbitmq-sizing-guidelines.md).

## Noms des ressources et clés de configuration
<a name="resource-limit-configuration-keys"></a>


| Nom de la ressource | Clé de configuration | 
| --- | --- | 
| Connexion | connection\$1max | 
| Channel | channel\$1max\$1per\$1node | 
| File d’attente | cluster\$1queue\$1limit | 
| Vhost | vhost\$1max | 
| Pelle | runtime\$1parameters.limits.shovel | 
| Exchange | cluster\$1exchange\$1limit | 
| Consommateur par canal | consumer\$1max\$1per\$1channel | 
| Taille maximale du message | max\$1message\$1size | 

## Comment contourner les limites de ressources
<a name="override-resource-limits"></a>

Vous pouvez contourner les limites de ressources à l'aide de l'API Amazon MQ et de la console Amazon MQ.

L'exemple suivant montre comment remplacer la limite par défaut du nombre de files d'attente à l'aide de AWS CLI :

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

Un appel réussi crée une révision de configuration. Vous devez associer la configuration à votre courtier RabbitMQ et redémarrer le courtier pour appliquer la dérogation. Pour plus de détails, voir [RabbitMQ Broker Configurations](rabbitmq-broker-configuration-parameters.md) 

## Erreurs de contournement des limites de ressources
<a name="resource-limit-override-errors"></a>

L'association ou la création d'un broker avec des valeurs de configuration situées en dehors de la plage prise en charge entraîne une réponse d'erreur similaire à la suivante :

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

# Support de l'ARN dans la configuration de RabbitMQ
<a name="arn-support-rabbitmq-configuration"></a>

Amazon MQ pour RabbitMQ prend en charge AWS ARNs les valeurs de certains paramètres de configuration de RabbitMQ. [Ceci est activé par le plugin communautaire RabbitMQ rabbitmq-aws.](https://github.com/amazon-mq/rabbitmq-aws) Ce plugin est développé et maintenu par Amazon MQ et peut également être utilisé par des courtiers RabbitMQ auto-hébergés qui ne sont pas gérés par Amazon MQ.

**Considérations importantes**  
Les valeurs ARN résolues récupérées par le plugin aws sont transmises directement au processus RabbitMQ lors de l'exécution. Ils ne sont pas stockés ailleurs sur le nœud RabbitMQ.
Amazon MQ pour RabbitMQ nécessite un rôle IAM qui peut être assumé par Amazon MQ pour accéder au configuré. ARNs Ceci est configuré par réglage`aws.arns.assume_role_arn`.
Les utilisateurs qui appellent CreateBroker ou UpdateBroker APIs dont la configuration de courtier inclut un rôle IAM doivent disposer de l'`iam:PassRole`autorisation pour ce rôle.
Le rôle IAM doit exister sur le même AWS compte que le courtier RabbitMQ. Tous ARNs les éléments de la configuration doivent être présents dans la même AWS région que le broker RabbitMQ.
Amazon MQ ajoute des clés conditionnelles globales IAM `aws:SourceAccount` et `aws:SourceArn` lorsqu'il assume le rôle IAM. Ces valeurs doivent être utilisées dans la politique IAM associée au rôle pour éviter toute [confusion dans la protection des adjoints](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html).

**Topics**
+ [Clés prises en charge](#arn-support-supported-keys)
+ [Exemples de politiques IAM](#arn-support-iam-policy-samples)
+ [Validation d'accès](#arn-support-validation)
+ [États de quarantaine des courtiers associés](#arn-support-quarantine-states)
+ [Exemple de scénario](#arn-support-example-scenario)

## Clés prises en charge
<a name="arn-support-supported-keys"></a>

`aws.arns.assume_role_arn`  
ARN du rôle IAM qu'Amazon MQ suppose pour accéder AWS à d'autres ressources. Obligatoire lorsqu'une autre configuration d'ARN est utilisée.

### Point de terminaison AMQP
<a name="arn-support-amqp-endpoint"></a>


| Clé de configuration | Description | 
| --- | --- | 
| aws.arns.ssl\$1options.cacertfile | Fichier d'autorité de certification pour les connexions SSL/TLS client. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 

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


| Clé de configuration | Description | 
| --- | --- | 
| aws.arns.management.ssl.cacertfile | Fichier d'autorité de certification pour les SSL/TLS connexions à l'interface de gestion. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 

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


| Clé de configuration | Description | 
| --- | --- | 
| aws.arns.auth\$1oauth2.https.cacertfile | Fichier d'autorité de certification pour les connexions HTTPS OAuth 2.0. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 

### Plug-in d'authentification HTTP RabbitMQ
<a name="arn-support-http-plugin"></a>


| Clé de configuration | Description | 
| --- | --- | 
| aws.arns.auth\$1http.ssl\$1options.cacertfile | Fichier d'autorité de certification pour les SSL/TLS connexions d'authentification HTTP. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 
| aws.arns.auth\$1http.ssl\$1options.certfile | Fichier de certificat pour les connexions TLS mutuelles entre Amazon MQ et le serveur d'authentification HTTP. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 
| aws.arns.auth\$1http.ssl\$1options.keyfile | Fichier de clé privée pour les connexions TLS mutuelles entre Amazon MQ et le serveur d'authentification HTTP. Amazon MQ doit être utilisé AWS Secrets Manager pour stocker la clé privée. | 

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


| Clé de configuration | Description | 
| --- | --- | 
| aws.arns.auth\$1ldap.ssl\$1options.cacertfile | Fichier d'autorité de certification pour les SSL/TLS connexions LDAP. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 
| aws.arns.auth\$1ldap.ssl\$1options.certfile | Fichier de certificat pour les connexions TLS mutuelles entre Amazon MQ et le serveur LDAP. Amazon MQ nécessite l'utilisation d'Amazon S3 ou le stockage du certificat. | 
| aws.arns.auth\$1ldap.ssl\$1options.keyfile | Fichier de clé privée pour les connexions TLS mutuelles entre Amazon MQ et le serveur LDAP. Amazon MQ doit être utilisé AWS Secrets Manager pour stocker la clé privée. | 
| aws.arns.auth\$1ldap.dn\$1lookup\$1bind.password | Mot de passe pour la liaison de recherche du DN LDAP. Amazon MQ nécessite l'utilisation AWS Secrets Manager pour stocker le mot de passe sous forme de valeur en texte brut. | 
| aws.arns.auth\$1ldap.other\$1bind.password | Mot de passe pour l'autre liaison LDAP. Amazon MQ nécessite l'utilisation AWS Secrets Manager pour stocker le mot de passe sous forme de valeur en texte brut. | 

## Exemples de politiques IAM
<a name="arn-support-iam-policy-samples"></a>

Pour des exemples de politique IAM, notamment des documents de politique d'acceptation des rôles et des documents de politique de rôle, consultez l'[exemple d'implémentation du CDK](https://github.com/aws-samples/amazon-mq-samples/blob/main/rabbitmq-samples/rabbitmq-ldap-activedirectory-sample/lib/rabbitmq-activedirectory-stack.ts#L232).

Consultez [Utilisation de l'authentification et de l'autorisation LDAP](rabbitmq-ldap-tutorial.md) les étapes de configuration AWS Secrets Manager et les ressources Amazon S3.

## Validation d'accès
<a name="arn-support-validation"></a>

Pour résoudre les scénarios dans lesquels les valeurs ARN ne peuvent pas être récupérées, le plugin aws prend en charge un point de [terminaison d'API de gestion RabbitMQ](https://github.com/amazon-mq/rabbitmq-aws/blob/main/API.md) qui peut être appelé pour vérifier si Amazon MQ est en mesure d'assumer correctement le rôle et de le résoudre. AWS ARNs Cela évite d'avoir à mettre à jour la configuration du courtier, à mettre à jour le courtier avec la nouvelle révision de configuration et à redémarrer le courtier pour tester les modifications de configuration.

**Note**  
L'utilisation de cette API nécessite un utilisateur administrateur RabbitMQ existant. Amazon MQ recommande de créer des courtiers de test avec un utilisateur interne en plus des autres méthodes d'accès. Consultez la section [Activation à la fois de l'authentification OAuth 2.0 et de l'authentification simple (interne)](oauth-tutorial.md#oauth-tutorial-config-both-auth-methods-using-cli). Cet utilisateur peut ensuite être utilisé pour accéder à l'API de validation.

**Note**  
Bien que le plugin aws prenne en charge le transfert d'un nouveau rôle en tant qu'entrée à l'API de validation, ce paramètre n'est pas pris en charge par Amazon MQ. Le rôle IAM utilisé pour la validation doit correspondre à la valeur de `aws.arns.assume_role_arn` dans la configuration du broker.

## États de quarantaine des courtiers associés
<a name="arn-support-quarantine-states"></a>

Pour plus d'informations sur les états de quarantaine des courtiers liés aux problèmes liés à la prise en charge de l'ARN, voir :
+ [RABBITMQ\$1INVALID\$1ASSUMEROLE](troubleshooting-action-required-codes-invalid-assumerole.md)
+ [RABBITMQ\$1INVALID\$1ARN\$1LDAP](troubleshooting-action-required-codes-invalid-arn-ldap.md)
+ [RABBITMQ\$1ARN\$1INVALIDE](troubleshooting-action-required-codes-invalid-arn.md)

## Exemple de scénario
<a name="arn-support-example-scenario"></a>
+ `b-f0fc695e-2f9c-486b-845a-988023a3e55b`Le courtier a été configuré pour utiliser le rôle IAM `<role>` pour accéder au secret AWS Secrets Manager `<arn>`
+ Si le rôle fourni à Amazon MQ ne dispose pas d'une autorisation de lecture sur le AWS Secrets Manager secret, l'erreur suivante sera affichée dans les journaux de RabbitMQ :

  ```
  [error] <0.254.0> aws_arn_config: {handle_assume_role,{error,{assume_role_failed,"AWS service is unavailable"}}}
  ```

  De plus, le courtier entrera dans l'état de `INVALID_ASSUMEROLE` quarantaine. Pour plus d'informations, consultez [INVALID\$1ASSUMEROLE](troubleshooting-action-required-codes-invalid-assumerole.md).
+ Les tentatives d'authentification LDAP échoueront avec l'erreur suivante :

  ```
  [error] <0.254.0> LDAP bind failed: invalid_credentials
  ```
+ Corrigez le rôle IAM avec les autorisations appropriées
+ Appelez le point de validation pour vérifier si RabbitMQ est désormais en mesure d'accéder au secret :

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

# Configuration SSL du client AMQP
<a name="rabbitmq-amqp-client-ssl-configuration"></a>

 Federation et Shovel utilisent l'AMQP pour communiquer entre les courtiers en amont et en aval. Par défaut, la *vérification par les pairs TLS* est activée pour les clients AMQP dans Amazon MQ pour RabbitMQ 4. Avec ce paramètre, les clients AMQP de fédération et de pelle exécutés sur des courtiers Amazon MQ effectueront une vérification par leurs pairs lors de l'établissement de connexions avec le courtier en amont. 

 Les clients AMQP s'exécutant sur les courtiers Amazon MQ prennent en charge les mêmes autorités de certification que Mozilla. Si vous n'utilisez pas [ACM](https://www.amazontrust.com/repository), utilisez un certificat émis par une autorité de certification figurant dans la [liste des certificats d'autorité de certification inclus par Mozilla](https://wiki.mozilla.org/CA/Included_Certificates). Si votre courtier local utilise des certificats provenant d'autres autorités de certification, la vérification SSL échouera. Vous pouvez désactiver la *vérification par les pairs TLS* pour ces cas d'utilisation. 

**Important**  
Amazon MQ ne prend actuellement pas en charge la configuration de certificats clients pour les connexions client AMQP. Par conséquent, Federation et Shovel ne peuvent pas se connecter aux courtiers compatibles MTLS qui nécessitent une authentification par certificat client.

**Important**  
 *Sur Amazon MQ pour RabbitMQ 3, les propriétés SSL des clients AMQP sont configurées avec les valeurs par défaut de RabbitMQ (verify\$1none).* Amazon MQ pour RabbitMQ 3 ne prend pas en charge le remplacement de ces valeurs par défaut. 

**Note**  
Avec le `verify_peer` paramètre par défaut, vous pouvez établir des connexions de fédération et de pelle entre deux courtiers Amazon MQ, mais cela ne permet pas d'établir la connexion entre le courtier Amazon MQ et des courtiers privés ou des courtiers sur site qui fonctionnent avec des certificats autres qu'Amazon MQ CA. Pour vous connecter à des courtiers privés ou locaux, vous devez désactiver la vérification par les pairs sur le courtier Amazon MQ en aval.

## Clé de configuration SSL du client AMQP
<a name="amqp-client-ssl-configuration-keys"></a>


| Configuration | Clé de configuration | Valeurs prises en charge | 
| --- | --- | --- | 
| Vérification par les pairs SSL du client AMQP | amqp\$1client.ssl\$1options.verify | verify\$1none, verify\$1peer | 

## Comment annuler la vérification SSL par les pairs du client AMQP
<a name="override-amqp-client-ssl-peer-verification"></a>

Vous pouvez annuler la vérification SSL par les pairs du client AMQP à l'aide de l'API Amazon MQ et de la console Amazon MQ sur les courtiers RabbitMQ 4.

L'exemple suivant montre comment annuler la vérification par les pairs SSL du client AMQP à l'aide de : AWS CLI

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

Un appel réussi crée une révision de configuration. Vous devez associer la configuration à votre courtier RabbitMQ et redémarrer le courtier pour appliquer la dérogation. Pour plus de détails, voir [Creating and applying broker configurations](rabbitmq-creating-applying-configurations.md) 

**Important**  
Lors de l'utilisation`verify_none`, le cryptage SSL est toujours actif, mais l'identité de l'homologue n'est pas vérifiée. Utilisez ce paramètre uniquement lorsque cela est nécessaire et assurez-vous que le chemin réseau menant au courtier de destination est fiable.