

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.

# Création de modèles pour les packs de conformité personnalisés pour AWS Config
<a name="custom-conformance-pack"></a>

Un pack de conformité personnalisé est un ensemble unique de AWS Config règles et d'actions correctives que vous pouvez déployer ensemble dans un compte et une AWS région, ou au sein d'une organisation dans. AWS Organizations

Pour créer un pack de conformité personnalisé, suivez les étapes décrites dans la section **Personnalisation du modèle** ci-dessous afin de créer un fichier YAML contenant la liste des [Règles AWS Config gérées](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_use-managed-rules.html) ou des [Règles AWS Config personnalisées](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules.html) avec lesquelles vous souhaitez travailler.

**Topics**
+ [Terminologie](#custom-conformance-pack-terminology)
+ [Personnalisation du modèle](#create-yaml-file.title)

## Terminologie
<a name="custom-conformance-pack-terminology"></a>

AWS Config Les *règles gérées* sont des règles prédéfinies détenues par AWS Config.

AWS Config Les *règles personnalisées* sont des règles que vous créez de toutes pièces.

Il existe deux manières de créer des règles AWS Config personnalisées : avec les fonctions Lambda ([Guide du AWS Lambda développeur](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-concepts.html#gettingstarted-concepts-function)) et avec Guard ([Guard GitHub Repository](https://github.com/aws-cloudformation/cloudformation-guard)), un policy-as-code langage. AWS Config les règles personnalisées créées avec AWS Lambda sont appelées règles *Lambda AWS Config personnalisées et les règles* AWS Config personnalisées créées avec Guard sont appelées règles de *politique AWS Config personnalisées*.

## Personnalisation du modèle
<a name="create-yaml-file.title"></a>

 **Création de votre fichier YAML** 

Pour créer un fichier YAML, ouvrez un éditeur de texte et enregistrez le fichier sous le nom *.yaml*. 

**Note**  
Votre fichier contiendra une section **Paramètres** et **Ressources**.

** Paramètres**

La `Parameters` section de votre fichier YAML contient les paramètres de règle de l'ensemble de AWS Config règles que vous ajouterez ultérieurement dans la `Resources` section. Créez la section `Parameters` en copiant et en collant le bloc de code suivant dans votre fichier YAML, en le personnalisant selon vos besoins et en le répétant pour chaque paramètre de règle.

```
Parameters:    
    NameOfRuleParamNameOfRuleParameter: 
        Default: Parameter value
        Type: Type    
    ...
```

Par exemple :

```
Parameters:
    IamPasswordPolicyParamMinimumPasswordLength:
        Default: '14'
        Type: String
```

**Note**  
Lorsque vous sélectionnez les AWS Config règles pour créer votre pack de conformité personnalisé, vérifiez que vous disposez des ressources fournies dans votre compte qui seront évaluées en fonction des AWS Config règles.

1. La première ligne de la section des paramètres qui suit `Parameters:` est une chaîne concaténée de *NameOfRule* \$1 Param \$1. *NameOfRuleParameter*

   1. Remplacez `NameOfRule` par un nom cohérent que vous avez créé pour la règle. Par exemple, cela pourrait être **IamPasswordPolicy**pour la **iam-password-policy **règle.

   1. Tapez `Param`.

   1. Remplacez ensuite `NameOfRuleParameter` par le nom du paramètre de règle correspondant à votre règle spécifique. Pour les règles AWS Config gérées, le nom du paramètre de règle se trouve dans la [liste des règles AWS Config gérées](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) (par exemple, **MinimumPasswordLength**il s'agit du nom d'un paramètre de règle pour la **iam-password-policy**règle). Pour les règles AWS Config personnalisées, le nom du paramètre de règle est le nom que vous avez choisi lors de la création de la règle.

1. Si vous utilisez une règle AWS Config gérée, recherchez la AWS Config règle appropriée dans la liste des règles gérées afin de connaître les valeurs acceptées pour `Default` et `Type` pour votre règle particulière. Pour les règles AWS Config personnalisées, utilisez les valeurs que vous avez sélectionnées lors de la création de votre règle.
**Note**  
Pour chaque paramètre, `Type` il faut le spécifier. `Type`peut être l'un des types « String », « int », « double », « CSV », « boolean » et « ». StringMap

**Ressources **

La section `Resources` répertorie les règles qui sont ajoutées à votre pack de conformité personnalisé. Ajoutez le bloc `Resources` suivant directement sous votre section `Parameters`, en le personnalisant selon vos besoins et en le répétant pour chaque règle. Pour plus d'informations sur les spécifications, consultez [AWS::Config::ConfigRule](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-config-configrule.html#aws-resource-config-configrule-syntax).

```
Resources:
     NameOfRule:
        Properties:
            ConfigRuleName: ActualConfigRuleName  
            InputParameters:
                NameOfRuleParameter: !Ref NameOfRuleParamNameOfRuleParameter
            Source:
                Owner: Owner
                SourceIdentifier: SOURCE_IDENTIFIER
        Type: AWS::Config::ConfigRule
     ...
```

Par exemple :

```
Resources:
    IamPasswordPolicy:
        Properties:
            ConfigRuleName: iam-password-policy
            InputParameters:
                MinimumPasswordLength: !Ref IamPasswordPolicyParamMinimumPasswordLength
            Source:
                Owner: AWS
                SourceIdentifier: IAM_PASSWORD_POLICY
        Type: AWS::Config::ConfigRule
```

**Note**  
Lorsque vous sélectionnez les AWS Config règles pour créer votre pack de conformité personnalisé, vérifiez que vous disposez des ressources qui seront évaluées en fonction des AWS Config règles fournies dans votre compte. Pour plus d'informations, consultez [Types de ressources pris en charge](https://docs.aws.amazon.com/config/latest/developerguide/resource-config-reference.html).

1. Remplacez `NameOfRule` par le même nom que celui que vous avez créé dans la section `Parameters`. 

1. Pour les règles AWS Config gérées, remplacez `ActualConfigRuleName` par le titre de la page de règles appropriée dans la [liste des règles AWS Config gérées](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html). Pour les règles AWS Config personnalisées, utilisez le nom de la règle de configuration que vous avez choisi lors de la création de la règle. 

1. Remplacez `NameOfRuleParameter` par le même nom que celui que vous avez utilisé dans la section `Parameters`. Après les deux points, copiez et collez la même chaîne concaténée de `!Ref` \$1 \$1 Param *NameOfRule* \$1 *NameOfRuleParameter* que celle que vous avez créée dans la section. `Parameters`

1. Remplacez `Owner` par la valeur appropriée.
**Note**  
**AWS Config Règles gérées**  
Pour les règles AWS Config gérées, la valeur de `Owner` sera`AWS`.  
**AWS Config Règles personnalisées**  
Pour les règles AWS Config personnalisées créées avec Guard, la valeur de `Owner` sera`CUSTOM_POLICY`. Pour les règles AWS Config personnalisées créées avec Lambda, la valeur de `Owner` sera. `CUSTOM_LAMBDA`

1. Remplacez `SOURCE_IDENTIFIER` par la valeur appropriée.
**Note**  
**AWS Config Règles gérées**  
Pour les règles AWS Config gérées, copiez l'identifiant en suivant le lien de la règle que vous sélectionnez dans la [liste des règles AWS Config gérées](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-aws-config.html) (par exemple, l'identifiant source de la **access-keys-rotated**règle est **ACCESS\$1KEYS\$1ROTATED**).   
**AWS Config Règles personnalisées**  
Pour les règles AWS Config personnalisées créées avec Lambda, `SourceIdentifier` il s'agit du nom de ressource Amazon (ARN) de la AWS Lambda fonction de la règle, par exemple. `arn:aws:lambda:us-east-2:123456789012:function:ActualConfigRuleName` Pour les règles AWS Config personnalisées créées avec Guard, ce champ n'est pas nécessaire.

Dans l'ensemble, votre pack de conformité personnalisé rempli devrait commencer à ressembler à ce qui suit, qui est un exemple utilisant ces règles AWS Config gérées : **iam-password-policy**, **access-keys-rotated**, et **iam-user-unused-credentials-check**.

```
Parameters:
    IamPasswordPolicyParamMinimumPasswordLength:
        Default: '14'
        Type: String
    AccessKeysRotatedParamMaxAccessKeyAge:
        Default: '90'
        Type: String
    IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge:
        Default: '45'
        Type: String
Resources:
    IamPasswordPolicy:
        Properties:
            ConfigRuleName: iam-password-policy
            InputParameters:
                MinimumPasswordLength: !Ref IamPasswordPolicyParamMinimumPasswordLength
            Source:
                Owner: AWS
                SourceIdentifier: IAM_PASSWORD_POLICY
        Type: AWS::Config::ConfigRule    
    AccessKeysRotated:
        Properties:
            ConfigRuleName: access-keys-rotated
            InputParameters:
                maxAccessKeyAge: !Ref AccessKeysRotatedParamMaxAccessKeyAge
            Source:
                Owner: AWS
                SourceIdentifier: ACCESS_KEYS_ROTATED
        Type: AWS::Config::ConfigRule
    IamUserUnusedCredentialsCheck:
        Properties:
            ConfigRuleName: iam-user-unused-credentials-check
            InputParameters:
                maxCredentialUsageAge: !Ref IamUserUnusedCredentialsCheckParamMaxCredentialUsageAge
            Source:
                Owner: AWS
                SourceIdentifier: IAM_USER_UNUSED_CREDENTIALS_CHECK
        Type: AWS::Config::ConfigRule
```