

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.

# Appliquer des politiques à Amazon MQ pour RabbitMQ
<a name="rabbitmq-defaults-applying-policies"></a>

 Vous pouvez appliquer des politiques et des limites personnalisées avec les valeurs par défaut recommandées par Amazon MQ. Si vous avez supprimé les politiques et limites par défaut recommandées et que vous souhaitez les recréer, ou si vous avez créé des vhosts supplémentaires et souhaitez appliquer les politiques et limites par défaut à vos nouveaux vhosts, vous pouvez suivre les étapes suivantes. 

**Important**  
 Sur Amazon MQ pour les versions 3.13 et antérieures du moteur RabbitMQ, la politique d'opérateur par défaut actuelle est la suivante :   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"ha-mode":"all","ha-sync-mode":"automatic","queue-version":2} 0
```
 Sur les versions 4.0 et supérieures, la politique d'opérateur par défaut est passée à :   

```
vhost name pattern apply-to definition priority/ default_operator_policy_AWS_managed .* classic_queues {"queue-version":2} 0
```
 Cette modification est nécessaire car la mise en miroir de files d'attente classique et les paramètres de politique HA ne sont pas pris en charge dans RabbitMQ 4.   
 Vous ne pouvez pas créer de politique qui s'applique à la fois aux files d'attente classiques en miroir et aux files d'attente de quorum. Si vous souhaitez que votre politique ne s'applique qu'aux files d'attente du quorum, vous devez la `--apply-to` définir `quorum_queues` sur. Si vous utilisez des files d'attente en miroir classiques et des files d'attente de quorum, vous devez créer une politique distincte `--apply-to:classic_queues` ainsi qu'une politique de files d'attente de quorum. 

**Important**  
 Pour effectuer les opérations suivantes, vous devez disposer d'un utilisateur d'agent Amazon MQ for RabbitMQ avec des autorisations d'administrateur. Vous pouvez utiliser l'utilisateur administrateur créé lors de la création de l'agent pour la première fois, ou un autre utilisateur que vous avez créé par la suite. Le tableau suivant fournit la balise utilisateur administrateur et les autorisations nécessaires en tant que modèles d'expression régulière (regexp).   


| Étiquettes | Lire regexp | Configurer regexp | Regexp en écriture | 
| --- | --- | --- | --- | 
| administrator | .\* | .\* | .\* | 
Pour plus d'informations sur la création d'utilisateurs RabbitMQ et sur la gestion des balises utilisateur et des autorisations, consultez [Amazon MQ pour les utilisateurs du broker RabbitMQ](rabbitmq-simple-auth-broker-users.md#rabbitmq-basic-elements-user).

**Pour appliquer des politiques par défaut et des limites d'hôte virtuel à l'aide de la console web RabbitMQ**

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

1. Dans le panneau de navigation de gauche, choisissez **Brokers (Agents)**.

1. Dans la liste des agents, choisissez le nom de l'agent auquel vous souhaitez appliquer la nouvelle politique.

1. Sur la page de détails de l'agent, dans la section **Connections (Connexions)**, choisissez l'URL de **console web RabbitMQ**. La console web RabbitMQ s'ouvre dans un nouvel onglet ou une nouvelle fenêtre du navigateur.

1. Connectez-vous à la console web RabbitMQ à l'aide du nom d'utilisateur et du mot de passe de l'administrateur de l'agent.

1. Dans la console web RabbitMQ, en haut de la page, choisissez **Admin (Administrateur)**.

1. Dans la page **Admin (Administrateur)**, dans le volet de navigation droit, choisissez **Policies (Politiques)**.

1. Dans la page **Policies (Politiques)**, vous pouvez consulter la liste actuelle **User policies (Politiques utilisateur)** de l'agent. Sous **User policies (Politiques utilisateur)**, développez **Add/update a policy (Ajouter ou mettre à jour une politique)**.

1. Pour créer une politique d'agent, sous **Add/update a policy (Ajouter ou mettre à jour une politique)**, procédez comme suit :

   1. Pour **Virtual Host (Hôte virtuel)**, choisissez le nom du vhost auquel vous souhaitez attacher les politiques à partir de la liste déroulante. Pour choisir le vhost par défaut, choisissez **/**.
**Note**  
Si vous n'avez pas créé de vhosts supplémentaires, l'option **Virtual Host (Hôte virtuel)** n'est pas affichée dans la console RabbitMQ et les politiques sont appliquées uniquement au vhost par défaut.

   1. Dans **Name (Name)**, attribuez un nom à votre politique IAM, par exemple **policy-defaults**.

   1. Pour **Pattern (Modèle)**, entrez le modèle regexp **.\*** afin que la politique corresponde à toutes les files d'attente sur l'agent.

   1. Pour **Apply to (Appliquer à)**, choisissez **Exchanges and queues (Échanges et files d'attente)** dans la liste déroulante.

   1. Pour **Priority (Priorité)**, saisissez un entier supérieur à toutes les autres politiques appliquées au vhost. Vous pouvez appliquer exactement un ensemble de définitions de politiques aux files d'attente et aux échanges RabbitMQ à tout moment. RabbitMQ choisit la politique correspondante avec la valeur de priorité la plus élevée. Pour plus d'informations sur les priorités de politique et sur la façon de combiner des politiques, veuillez consulter [Policies (Politiques)](https://www.rabbitmq.com/parameters.html#policies) dans la documentation du serveur RabbitMQ.

   1. Pour **Definition (Définition)**, ajoutez les paires clé-valeur suivantes :
      + **queue-mode**=**lazy**. Choisissez **String (Chaîne)** dans la liste déroulante.
      + **overflow**=**reject-publish**. Choisissez **String (Chaîne)** dans la liste déroulante.
**Note**  
Ne s'applique pas aux agents à instance unique.
      + **max-length**=**{{number-of-messages}}**. {{number-of-messages}}Remplacez-la par la [valeur recommandée par Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) en fonction de la taille de l'instance et du mode de déploiement du courtier, par exemple **8000000** pour un `mq.m7g.large` cluster. Choisissez **Number (Numéro)** dans la liste déroulante.
**Note**  
Ne s'applique pas aux agents à instance unique.

   1. Choisissez **Add / update policy (Ajouter/mettre à jour une politique)**.

1. Confirmez que la nouvelle politique apparaît dans la liste **User policies (Politiques utilisateur)**.
**Note**  
Pour les agents en cluster, Amazon MQ applique automatiquement les définitions de politique `ha-mode: all` et `ha-sync-mode: automatic`.

1. Dans le panneau de navigation droit, cliquez sur **Limits (Limites)**.

1. Dans la page **Limits (limites)**, vous pouvez consulter une liste des **limites d'hôte virtuel** actuelles de l'agent. En dessous de **Virtual host limits (Limites d'hôte virtuel)**, développez **Set / update a virtual host limit (Définir/mettre à jour une limite d'hôte virtuel)**.

1. Pour créer une nouvelle limite de vhost, sous **Set / update a virtual host limit (Définir/mettre à jour une limite d'hôte virtuel)**, procédez comme suit :

   1. Pour **Virtual Host (Hôte virtuel)** choisissez dans la liste déroulante le nom du vhost auquel vous souhaitez attacher les politiques. Pour choisir le vhost par défaut, choisissez **/**.

   1. Pour **Limit (Limite)**, choisissez **max-connections** dans les options de la liste déroulante.

   1. Pour **Value (Valeur)**, entrez la [valeur Amazon MQ recommandée](rabbitmq-defaults.md#rabbitmq-defaults-values) en fonction de la taille de l'instance et du mode de déploiement de l'agent, par exemple, **15000** pour un cluster `mq.m5.large`.

   1. Choisissez **Set / update limit (Définir/mettre à jour la limite)**.

   1. Répétez les étapes ci-dessus et pour **Limit (Limite)**, choisissez **max-queues** dans les options de la liste déroulante.

1. Confirmez que les nouvelles limites apparaissent dans la liste des **limites d'hôte virtuel**.

**Pour appliquer des politiques et des limites d'hôte virtuel par défaut à l'aide de l'API de gestion RabbitMQ**

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

1. Dans le panneau de navigation de gauche, choisissez **Brokers (Agents)**.

1. Dans la liste des agents, choisissez le nom de l'agent auquel vous souhaitez appliquer la nouvelle politique.

1. Sur la page de l'agent, dans la section **Connection (Connexion)**, notez l'URL de la **console web RabbitMQ**. Il s'agit du point de terminaison de l'agent que vous utilisez dans une requête HTTP.

1. Ouvrez une nouvelle fenêtre de terminal ou de ligne de commande.

1. Pour créer une politique d'agent, entrez la commande `curl` suivante. Cette commande suppose la présence d'une file d'attente sur le vhost `/` par défaut, qui est encodé en tant que `%2F`. Pour appliquer la politique à un autre vhost, remplacez `%2F` par le nom du vhost.
**Note**  
Remplacez {{username}} et {{password}} par vos identifiants de connexion d'administrateur. {{number-of-messages}}Remplacez-la par la [valeur recommandée par Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) en fonction de la taille de l'instance et du mode de déploiement du courtier. {{policy-name}}Remplacez-le par le nom de votre police. {{broker-endpoint}}Remplacez-le par l'URL que vous avez indiquée précédemment.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"pattern":".*", "priority":1, "definition":{"queue-mode":lazy, "overflow":"reject-publish", "max-length":"{{number-of-messages}}"}}' \
   {{broker-endpoint}}/api/policies/%2F/{{policy-name}}
   ```

1. Pour confirmer que la nouvelle politique est ajoutée aux politiques utilisateur de votre agent, entrez la commande `curl` suivante pour répertorier toutes les politiques de l'agent.

   ```
   curl -i -u {{username}}:{{password}} {{broker-endpoint}}/api/policies
   ```

1. Pour créer de nouvelles limites d'hôte virtuel `max-connections`, entrez les commandes `curl`. Cette commande suppose la présence d'une file d'attente sur le vhost `/` par défaut, qui est encodé en tant que `%2F`. Pour appliquer la politique à un autre vhost, remplacez `%2F` par le nom du vhost.
**Note**  
Remplacez {{username}} et {{password}} par vos identifiants de connexion d'administrateur. {{max-connections}}Remplacez-la par la [valeur recommandée par Amazon MQ](rabbitmq-defaults.md#rabbitmq-defaults-values) en fonction de la taille de l'instance et du mode de déploiement du courtier. Remplacez le point de terminaison de l'agent par l'URL que vous avez notée précédemment.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"value":"{{number-of-connections}}"}' \
   {{broker-endpoint}}/api/vhost-limits/%2F/max-connections
   ```

1. Pour créer une nouvelle limite d'hôte virtuel `max-queues`, répétez l'étape précédente, mais modifiez la commande curl comme illustré dans ce qui suit.

   ```
   curl -i -u {{username}}:{{password}} -H "content-type:application/json" -XPUT \
   -d '{"value":"{{number-of-queues}}"}' \
   {{broker-endpoint}}/api/vhost-limits/%2F/max-queues
   ```

1. Pour confirmer que les nouvelles limites sont ajoutées aux limites d'hôtes virtuels de votre agent, entrez la commande `curl` suivante pour répertorier toutes les limites des hôtes virtuels de l'agent.

   ```
   curl -i -u {{username}}:{{password}} {{broker-endpoint}}/api/vhost-limits
   ```