Comment être notifié lorsqu'une ressource AWS n'est pas conforme en utilisant AWS Config ?

Dernière mise à jour : 20/10/2022

J'ai créé une règle Amazon EventBridge pour déclencher des notifications lorsque les ressources AWS ne sont pas conformes, mais les réponses sont au format JSON. Comment recevoir un courriel avec une notification personnalisée ?

Brève description

Utilisez une règle EventBridge avec un modèle d'événement personnalisé et un transformateur d'entrée pour faire correspondre une sortie de règle d'évaluation AWS Config en tant que NON_COMPLIANT. Dirigez ensuite la réponse vers une rubrique Amazon SNS (Amazon Simple Notification Service).

Solution

Dans l’exemple suivant, les notifications SNS sont reçues lorsque la règle gérée ec2-security-group-attached-to-eni signale les ressources AWS comme étant NON_COMPLIANT (non conformes) pour un groupe de sécurité Amazon EC2 (Amazon Elastic Compute Cloud).

Remarque : vous pouvez remplacer le type de ressource AWS Config et la règle pour votre service AWS spécifique et les règles AWS Config.

1.    Si vous n'avez pas encore créé de rubrique Amazon SNS, suivez les instructions pour commencer à utiliser Amazon SNS.

Important : la rubrique Amazon SNS doit se trouver dans la même région que votre service AWS Config.

2.    Ouvrez la console EventBridge.

3.    Choisissez Créer une règle.

4.    Dans Nom, saisissez un nom pour votre règle. Si nécessaire, entrez une description.

5.    Pour Rule type (Type de règle), sélectionnez Rule with an event pattern (Règle avec un modèle d'événement). Ensuite, sélectionnez Next.

6.    Pour Event source (Source d'événement), sélectionnez AWS events or EventBridge partner events (Événements AWS ou événements partenaires EventBridge).

7.    Dans le volet Event Pattern (Modèle d'événement), sélectionnez Custom patterns (JSON editor), puis collez l'exemple de modèle d'événement suivant :

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Rules Compliance Change"
  ],
  "detail": {
    "messageType": [
      "ComplianceChangeNotification"
    ],
    "configRuleName": [
      "ec2-security-group-attached-to-eni"
    ],
    "resourceType": [
      "AWS::EC2::SecurityGroup"
    ],
    "newEvaluationResult": {
      "complianceType": [
        "NON_COMPLIANT"
      ]
    }
  }
}

8.    Sélectionnez Suivant.

9.    Pour Target types (Types de cibles), sélectionnez AWS service (Service AWS).

10.    Pour Select a target (Sélectionner une cible), sélectionnez SNS topic (Rubrique SNS).

11.    Pour Topic (Rubrique), choisissez votre rubrique SNS.

12.    Développez Additional settings (Paramètres supplémentaires). Ensuite, pour Configure target input (Configurer l'entrée cible), sélectionnez Input transformer (Transformateur d'entrée).

13. Sélectionnez Configure input transformer (Configurer le transformateur d'entrée). Ensuite, sous Target input transformer (transformateur d'entrée cible), dans la zone de texte Input Path (chemin d'entrée), saisissez l'exemple de chemin suivant :

{
  "awsRegion": "$.detail.awsRegion",
  "resourceId": "$.detail.resourceId",
  "awsAccountId": "$.detail.awsAccountId",
  "compliance": "$.detail.newEvaluationResult.complianceType",
  "rule": "$.detail.configRuleName",
  "time": "$.detail.newEvaluationResult.resultRecordedTime",
  "resourceType": "$.detail.resourceType"
}

14.    Dans la zone de texte « Input Template » (modèle d'entrée), copiez et collez l'exemple de modèle suivant. Entrez l'heure, la règle, le type de ressource, l'identifiant de la ressource, l'identifiant de la compte AWS et la région AWS, la conformité et les informations sur les ressources, selon votre cas d'utilisation.

"On <time> AWS Config rule <rule> evaluated the <resourceType> with Id <resourceId> in the account <awsAccountId> region <awsRegion> as <compliance> For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resourceType>/<resourceId>/configuration"

15.    Cliquez sur Confirm (Confirmer). Ensuite, cliquez sur Next (Suivant).

16.    Vous pouvez éventuellement Add new tag (Ajouter une nouvelle balise). Ensuite, cliquez sur Next (Suivant).

17.    Sélectionnez Create rule (Créer une règle).

18.    Si un type d'événement est déclenché, vous recevez une notification SNS par e-mail avec les champs personnalisés renseignés de l'étape 13, comme suit :

"On ExampleTime AWS Config rule ExampleRuleName evaluated the ExampleResourceType with Id ExampleResource_ID in the account ExampleAccount_Id in Region ExampleRegion as ExamplecomplianceType. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=ExampleRegion#/timeline/ExampleResourceType/ExampleResource_ID/configuration"