

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.

# Ajouter des AWS Config règles
<a name="evaluate-config_add-rules"></a>

Vous pouvez utiliser la AWS Config console ou le AWS SDKs pour ajouter des règles.

**Topics**
+ [Utilisation de la console](#evaluate-config_add-rules-console)
+ [À l'aide du AWS SDKs](#evaluate-config_add-rules-cli)

## Ajouter des règles (console)
<a name="evaluate-config_add-rules-console"></a>

La page **Règles** affiche vos règles et leurs résultats de conformité actuels sous forme de tableau. Le résultat pour chaque règle est **Evaluer...** jusqu'à la AWS Config fin de l'évaluation de vos ressources par rapport à la règle. Vous pouvez mettre à jour les résultats avec le bouton Refresh. Lorsque AWS Config les évaluations sont terminées, vous pouvez voir les règles et les types de ressources conformes ou non conformes. Pour de plus amples informations, veuillez consulter [Afficher les informations de conformité et les résultats d'évaluation de vos AWS ressources avec AWS Config](evaluate-config_view-compliance.md).

**Note**  
Lorsque vous ajoutez une nouvelle règle, AWS Config elle évalue les ressources applicables dans votre inventaire de ressources, y compris les ressources précédemment enregistrées. Par exemple, si vous avez enregistré `AWS::IoT::Policy` des ressources mais que vous les avez ultérieurement exclues de l'enregistrement AWS Config , les éléments de configuration initiaux (CIs) sont conservés dans votre inventaire. Bien qu'il AWS Config ne les mette plus à jour CIs lorsque les types de ressources associés sont exclus de l'enregistrement, il conserve leur dernier état enregistré et les évalue lorsque vous ajoutez des règles applicables.  
AWS Config n'évalue pas les ressources qui ne figurent pas dans l'inventaire des ressources. Par exemple, si vous ajoutez la [amplify-branch-tagged](amplify-branch-tagged.md) règle mais que vous n'enregistrez pas et que vous n'avez jamais enregistré de `AWS::Amplify::Branch` ressources, AWS Config vous ne pouvez pas évaluer si les AWS Amplify succursales de votre compte sont conformes ou non conformes.  
Pour de plus amples informations, veuillez consulter [AWS Ressources d'enregistrement avec AWS ConfigConsidérations](select-resources.md).

### Ajout de règles
<a name="add-rules-console"></a>

**Pour ajouter une règle**

1. Connectez-vous à la AWS Config console AWS Management Console et ouvrez-la à la [https://console.aws.amazon.com/config/maison](https://console.aws.amazon.com/config/home).

1. Dans le AWS Management Console menu, vérifiez que le sélecteur de région est défini sur une région qui prend en charge les AWS Config règles. Pour obtenir la liste des régions prises en charge, consultez la section [Régions et points de terminaison AWS Config](https://docs.aws.amazon.com/general/latest/gr/awsconfig.html) dans le *Référence générale d'Amazon Web Services*. 

1. Dans le volet de navigation de gauche, choisissez **Règles**. 

1. Sur la page **Règles**, choisissez **Ajouter une règle**. 

1. Sur la page **Spécifier le type de règle**, indiquez le type de règle en effectuant les étapes suivantes :

   1. Commencez une saisie dans le champ de recherche pour filtrer la liste des règles gérées par nom de règle, description et étiquette. Par exemple, tapez **EC2** pour renvoyer des règles permettant d'évaluer des types de ressources EC2 ou tapez **périodique** pour renvoyer des règles déclenchées de façon périodique.

   1. Vous pouvez également créer votre propre règles personnalisée. Choisissez **Créer une règle personnalisée à l'aide de Lambda** ou **Créer une règle personnalisée à l'aide de Guard**, puis suivez la procédure décrite dans [Création de règles AWS Config Lambda personnalisées ou [Création AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules_cfn-guard.html) de règles](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_develop-rules_lambda-functions.html) de politique personnalisées. 

1. Sur la page **Configurer une règle**, configurez la règle en réalisant les étapes suivantes :

   1. Dans **Nom**, tapez un nom unique pour la règle.

   1. Saisissez une description de la règle dans le champ **Description**.

   1. Pour le **mode d'évaluation**, choisissez à quel moment du processus de création et de gestion des ressources vous AWS Config souhaitez évaluer vos ressources. Selon la règle, AWS Config vous pouvez évaluer vos configurations de ressources avant le déploiement d'une ressource, après le déploiement d'une ressource, ou les deux.

      1. Choisissez **Activer l'évaluation proactive** pour évaluer les paramètres de configuration de vos ressources avant leur déploiement.

         Après avoir activé l'évaluation proactive, vous pouvez utiliser l'[StartResourceEvaluation](https://docs.aws.amazon.com/config/latest/APIReference/API_StartResourceEvaluation.html)API et l'[GetResourceEvaluationSummary](https://docs.aws.amazon.com/config/latest/APIReference/API_GetResourceEvaluationSummary.html)API pour vérifier si les ressources que vous spécifiez dans ces commandes seront signalées comme NON CONFORMES par les règles proactives de votre compte dans votre région.

          Pour plus d'informations sur l'utilisation de ces commandes, consultez la section [Évaluation de vos ressources à l'aide de AWS Config règles](https://docs.aws.amazon.com/config/latest/developerguide/evaluating-your-resources.html#evaluating-your-resources-proactive). Pour obtenir la liste des règles gérées qui prennent en charge l'évaluation proactive, consultez la section [Liste des règles AWS Config gérées par mode d'évaluation](https://docs.aws.amazon.com/config/latest/developerguide/managed-rules-by-evaluation-mode.html).

      1. Choisissez **Activer l'évaluation détective** pour évaluer les paramètres de configuration de vos ressources existantes.

         Deux types de déclencheurs sont disponibles pour l'évaluation détective : **Lors de changements de configuration** et **Périodique**.

         1.  Si les types de déclencheurs de votre règle incluent des **modifications de configuration**, spécifiez l'une des options suivantes pour **Étendue des modifications** avec laquelle AWS Config votre fonction Lambda est appelée :
            +  **Ressources** : lorsqu'une ressource qui correspond au type de ressource spécifié, ou au type plus à l'identifiant, est créée, modifiée ou supprimée.
            +  **Balises** : lorsqu'une ressource portant la balise spécifiée est créée, modifiée ou supprimée.
            +  **Toutes les modifications** : lorsqu'une ressource enregistrée par AWS Config est créée, modifiée ou supprimée.

            AWS Config exécute l'évaluation lorsqu'il détecte une modification apportée à une ressource correspondant au champ d'application de la règle. Vous pouvez utiliser la portée afin de définir les ressources qui déclenchent des évaluations.

         1. Si les types de déclencheurs de votre règle incluent **Periodic**, spécifiez la **fréquence** à laquelle votre fonction Lambda est AWS Config invoquée.

   1. Vous pouvez personnaliser les valeurs des clés fournies dans le champ **Paramètres**, si votre règle comprend des paramètres. Un paramètre est un attribut que vos ressources doivent respecter pour pouvoir être considérées conformes à la règle.

1. Sur la page **Réviser et créer**, passez en revue toutes vos sélections avant d'ajouter la règle à votre Compte AWS. Si la règle ne fonctionne pas comme prévu, l'un des messages suivants relatifs à la **Conformité** s'affiche : 
   +  **Aucun résultat n'a été signalé**. Vos ressources ont AWS Config été évaluées par rapport à la règle. La règle ne s'appliquait pas aux AWS ressources incluses dans son champ d'application, les ressources spécifiées ont été supprimées ou les résultats de l'évaluation ont été supprimés. Pour obtenir les résultats de l'évaluation, mettez à jour la règle, modifiez sa portée ou choisissez **Re-evaluate (Réévaluer)**. 

     Ce message peut également apparaître si la règle n'a pas renvoyé de résultats d'évaluation.
   +  **Aucune ressource dans le champ d'application** : AWS Config impossible d'évaluer vos AWS ressources enregistrées par rapport à cette règle car aucune de vos ressources n'entre dans le champ d'application de la règle. Pour obtenir les résultats de l'évaluation, modifiez la règle et sa portée, ou ajoutez des ressources AWS Config à enregistrer à l'aide de la page **Paramètres**.
   +  **Evaluations failed (Échec des évaluations)** - pour obtenir des informations susceptibles de vous aider à déterminer le problème, choisissez le nom de la règle pour ouvrir sa page de détails et voir le message d'erreur.

## Ajouter des règles (AWS SDKs)
<a name="evaluate-config_add-rules-cli"></a>

### Ajout de règles
<a name="add-rules-cli"></a>

Les exemples de code suivants illustrent comment utiliser `PutConfigRule`.

------
#### [ CLI ]

**AWS CLI**  
**Pour ajouter une règle Config AWS gérée**  
La commande suivante fournit du code JSON pour ajouter une règle de configuration AWS gérée :  

```
aws configservice put-config-rule --config-rule file://RequiredTagsForEC2Instances.json
```
`RequiredTagsForEC2Instances.json` est un fichier JSON qui contient la configuration de la règle :  

```
{
  "ConfigRuleName": "RequiredTagsForEC2Instances",
  "Description": "Checks whether the CostCenter and Owner tags are applied to EC2 instances.",
  "Scope": {
    "ComplianceResourceTypes": [
      "AWS::EC2::Instance"
    ]
  },
  "Source": {
    "Owner": "AWS",
    "SourceIdentifier": "REQUIRED_TAGS"
  },
  "InputParameters": "{\"tag1Key\":\"CostCenter\",\"tag2Key\":\"Owner\"}"
}
```
Pour l'`ComplianceResourceTypes`attribut, ce code JSON limite la portée aux ressources de ce `AWS::EC2::Instance` type, de sorte que AWS Config évaluera uniquement les instances EC2 par rapport à la règle. Puisque la règle est une règle gérée, l’attribut `Owner` est défini sur `AWS` et l’attribut `SourceIdentifier` est défini sur l’identifiant de règle, `REQUIRED_TAGS`. Pour l’attribut `InputParameters`, les clés de balise requises par la règle, `CostCenter` et `Owner`, sont spécifiées.  
Si la commande aboutit, AWS Config ne renvoie aucune sortie. Pour vérifier la configuration de la règle, exécutez la describe-config-rules commande et spécifiez le nom de la règle.  
**Pour ajouter une règle Config gérée par le client**  
La commande suivante fournit du code JSON pour ajouter une règle Config gérée par le client :  

```
aws configservice put-config-rule --config-rule file://InstanceTypesAreT2micro.json
```
`InstanceTypesAreT2micro.json` est un fichier JSON qui contient la configuration de la règle :  

```
{
  "ConfigRuleName": "InstanceTypesAreT2micro",
  "Description": "Evaluates whether EC2 instances are the t2.micro type.",
  "Scope": {
    "ComplianceResourceTypes": [
      "AWS::EC2::Instance"
    ]
  },
  "Source": {
    "Owner": "CUSTOM_LAMBDA",
    "SourceIdentifier": "arn:aws:lambda:us-east-1:123456789012:function:InstanceTypeCheck",
    "SourceDetails": [
      {
        "EventSource": "aws.config",
        "MessageType": "ConfigurationItemChangeNotification"
      }
    ]
  },
  "InputParameters": "{\"desiredInstanceType\":\"t2.micro\"}"
}
```
Pour l'`ComplianceResourceTypes`attribut, ce code JSON limite la portée aux ressources de ce `AWS::EC2::Instance` type, de sorte que AWS Config évaluera uniquement les instances EC2 par rapport à la règle. Comme cette règle est une règle gérée par le client, l'`Owner`attribut est défini sur`CUSTOM_LAMBDA`, et l'`SourceIdentifier`attribut est défini sur l'ARN de la fonction AWS Lambda. L’objet `SourceDetails` est obligatoire. Les paramètres spécifiés pour l'`InputParameters`attribut sont transmis à la fonction AWS Lambda lorsque AWS Config l'invoque pour évaluer les ressources par rapport à la règle.  
Si la commande aboutit, AWS Config ne renvoie aucune sortie. Pour vérifier la configuration de la règle, exécutez la describe-config-rules commande et spécifiez le nom de la règle.  
+  Pour plus de détails sur l'API, reportez-vous [PutConfigRule](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/configservice/put-config-rule.html)à la section *Référence des AWS CLI commandes*. 

------
#### [ Python ]

**Kit SDK for Python (Boto3)**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/python/example_code/config#code-examples). 

```
class ConfigWrapper:
    """
    Encapsulates AWS Config functions.
    """

    def __init__(self, config_client):
        """
        :param config_client: A Boto3 AWS Config client.
        """
        self.config_client = config_client


    def put_config_rule(self, rule_name):
        """
        Sets a configuration rule that prohibits making Amazon S3 buckets publicly
        readable.

        :param rule_name: The name to give the rule.
        """
        try:
            self.config_client.put_config_rule(
                ConfigRule={
                    "ConfigRuleName": rule_name,
                    "Description": "S3 Public Read Prohibited Bucket Rule",
                    "Scope": {
                        "ComplianceResourceTypes": [
                            "AWS::S3::Bucket",
                        ],
                    },
                    "Source": {
                        "Owner": "AWS",
                        "SourceIdentifier": "S3_BUCKET_PUBLIC_READ_PROHIBITED",
                    },
                    "InputParameters": "{}",
                    "ConfigRuleState": "ACTIVE",
                }
            )
            logger.info("Created configuration rule %s.", rule_name)
        except ClientError:
            logger.exception("Couldn't create configuration rule %s.", rule_name)
            raise
```
+  Pour plus de détails sur l'API, consultez [PutConfigRule](https://docs.aws.amazon.com/goto/boto3/config-2014-11-12/PutConfigRule)le *AWS manuel de référence de l'API SDK for Python (Boto3*). 

------
#### [ SAP ABAP ]

**Kit SDK pour SAP ABAP**  
 Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le [référentiel d’exemples de code AWS](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/sap-abap/services/cfs#code-examples). 

```
    " Create a config rule for S3 bucket public read prohibition
    lo_cfs->putconfigrule(
      io_configrule = NEW /aws1/cl_cfsconfigrule(
        iv_configrulename = iv_rule_name
        iv_description = |S3 Public Read Prohibited Bucket Rule|
        io_scope = NEW /aws1/cl_cfsscope(
          it_complianceresourcetypes = VALUE /aws1/cl_cfscplncresrctypes_w=>tt_complianceresourcetypes(
            ( NEW /aws1/cl_cfscplncresrctypes_w( |AWS::S3::Bucket| ) )
          )
        )
        io_source = NEW /aws1/cl_cfssource(
          iv_owner = |AWS|
          iv_sourceidentifier = |S3_BUCKET_PUBLIC_READ_PROHIBITED|
        )
        iv_inputparameters = '{}'
        iv_configrulestate = |ACTIVE|
      )
    ).
    MESSAGE 'Created AWS Config rule.' TYPE 'I'.
```
+  Pour plus de détails sur l'API, reportez-vous [PutConfigRule](https://docs.aws.amazon.com/sdk-for-sap-abap/v1/api/latest/index.html)à la section de référence du *AWS SDK pour l'API SAP ABAP*. 

------