

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.

# Générez un CloudFormation modèle AWS contenant les règles gérées par AWS Config à l'aide de Troposphere
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere"></a>

*Lucas Nation et Freddie Wilson, Amazon Web Services*

## Résumé
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere-summary"></a>

De nombreuses organisations utilisent les règles [gérées par AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) pour évaluer la conformité de leurs ressources Amazon Web Services (AWS) par rapport aux meilleures pratiques courantes. Cependant, la maintenance de ces règles peut prendre beaucoup de temps et ce modèle vous permet de tirer parti de [Troposphere](https://troposphere.readthedocs.io/en/latest/quick_start.html), une bibliothèque Python, pour générer et gérer les règles gérées par AWS Config.

Le modèle vous aide à gérer vos règles gérées par AWS Config en utilisant un script Python pour convertir une feuille de calcul Microsoft Excel contenant des règles gérées par AWS en un CloudFormation modèle AWS. Troposphere agit comme une infrastructure en tant que code (IaC), ce qui signifie que vous pouvez mettre à jour la feuille de calcul Excel avec des règles gérées, au lieu d'utiliser un fichier au format JSON ou YAML. Vous utilisez ensuite le modèle pour lancer une CloudFormation pile AWS qui crée et met à jour les règles gérées dans votre compte AWS.

Le CloudFormation modèle AWS définit chaque règle gérée par AWS Config à l'aide de la feuille de calcul Excel et vous permet d'éviter de créer manuellement des règles individuelles dans l'AWS Management Console. *Le script définit par défaut les paramètres de chaque règle gérée sur un dictionnaire vide et les paramètres `ComplianceResourceTypes` par défaut de la portée sur. `THE_RULE_IDENTIFIER.template file`* Pour plus d'informations sur l'identifiant de règle, consultez la section [Création de règles gérées par AWS Config avec des CloudFormation modèles AWS](https://docs.aws.amazon.com/config/latest/developerguide/aws-config-managed-rules-cloudformation-templates.html) dans la documentation AWS Config.

## Conditions préalables et limitations
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere-prereqs"></a>

**Conditions préalables**
+ Un compte AWS actif.
+ Connaissance de l'utilisation de CloudFormation modèles AWS pour créer des règles gérées par AWS Config. Pour plus d'informations à ce sujet, consultez la section [Création de règles gérées par AWS Config avec CloudFormation des modèles](https://docs.aws.amazon.com/config/latest/developerguide/aws-config-managed-rules-cloudformation-templates.html) AWS dans la documentation AWS Config.  
+ Python 3, installé et configuré. Pour plus d'informations à ce sujet, consultez la [documentation Python](https://www.python.org/).
+ Un environnement de développement intégré (IDE) existant.  
+ Identifiez vos unités organisationnelles (OUs) dans une colonne de l'exemple de feuille de calcul `excel_config_rules.xlsx` Excel (ci-joint).

## Épopées
<a name="generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere-epics"></a>

### Personnalisation et configuration des règles gérées par AWS Config
<a name="customize-and-configure-the-aws-config-managed-rules"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Mettez à jour l'exemple de feuille de calcul Excel. | Téléchargez l'exemple de feuille de calcul `excel_config_rules.xlsx` Excel (ci-joint) et étiquetez `Implemented` les règles gérées par AWS Config que vous souhaitez utiliser. Les règles marquées comme étant `Implemented` seront ajoutées au CloudFormation modèle AWS. | Developer | 
| (Facultatif) Mettez à jour le fichier config\$1rules\$1params.json avec les paramètres des règles AWS Config. | Certaines règles gérées par AWS Config nécessitent des paramètres et doivent être transmises au script Python sous forme de fichier JSON à l'aide de l'`--param-file`option. Par exemple, la règle `access-keys-rotated` gérée utilise le `maxAccessKeyAge` paramètre suivant :<pre>{<br />         "access-keys-rotated": {<br />             "InputParameters": {<br />                 "maxAccessKeyAge": 90<br />             }<br />         }<br />     }</pre>Dans cet exemple de paramètre, la valeur `maxAccessKeyAge` est fixée à 90 jours. Le script lit le fichier de paramètres et ajoute ceux `InputParameters` qu'il trouve. | Developer | 
| (Facultatif) Mettez à jour le fichier config\$1rules\$1params.json avec AWS Config. ComplianceResourceTypes | Par défaut, le script Python `ComplianceResourceTypes` extrait les modèles définis par AWS. Si vous souhaitez modifier le champ d'application d'une règle gérée par AWS Config spécifique, vous devez la transmettre au script Python sous forme de fichier JSON à l'aide de l'`--param-file`option.Par exemple, l'exemple de code suivant montre comment le `ComplianceResourceTypes` formulaire `ec2-volume-inuse-check` est défini dans la `["AWS::EC2::Volume"]` liste :<pre>{<br />         "ec2-volume-inuse-check": {<br />             "Scope": {<br />                 "ComplianceResourceTypes": [<br />                     "AWS::EC2::Volume"<br />                 ]<br />             }<br />         }<br />     }</pre> | Developer | 

### Exécutez le script Python
<a name="run-the-python-script"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Installez les packages pip à partir du fichier requirements.txt.  | Téléchargez le `requirements.txt` fichier (joint) et exécutez la commande suivante dans votre IDE pour installer les packages Python :`pip3 install -r requirements.txt` | Developer | 
| Exécutez le script python.  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.html)Vous pouvez également ajouter les paramètres facultatifs suivants :[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.html) | Developer | 

### Déployez les règles gérées par AWS Config
<a name="deploy-the-aws-config-managed-rules"></a>


| Sous-tâche | Description | Compétences requises | 
| --- | --- | --- | 
| Lancez la CloudFormation pile AWS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/prescriptive-guidance/latest/patterns/generate-an-aws-cloudformation-template-containing-aws-config-managed-rules-using-troposphere.html) | Developer | 

## Pièces jointes
<a name="attachments-07c1cfff-fc9e-4a1f-bd36-48f025808bd8"></a>

[Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip](samples/p-attach/07c1cfff-fc9e-4a1f-bd36-48f025808bd8/attachments/attachment.zip)