Comment recevoir des notifications personnalisées par e-mail lorsqu'une ressource est créée dans mon compte AWS à l'aide du service AWS Config ?

Dernière mise à jour : 16/09/2021

J'ai créé une règle Amazon EventBridge pour la déclencher sur des types d'événements de service lorsque de nouvelles ressources AWS sont créées. Toutefois, les réponses sont au format JSON. Comment recevoir une notification par e-mail avec une réponse personnalisée ?

Solution

Utilisez un modèle d'événement personnalisé avec la règle EventBridge pour établir une correspondance avec un type de ressource pris en charge par AWS Config. Ensuite, acheminez la réponse à une rubrique Amazon Simple Notification Service (Amazon SNS).

Dans l'exemple suivant, des notifications SNS sont reçues lorsqu'une nouvelle instance Amazon Elastic Compute Cloud (Amazon EC2) est créée à l'aide du type de ressource AWS::EC2::Instance.

Remarque : vous avez la possibilité de remplacer le type de ressource de votre service AWS spécifique.

1.    Si vous n'avez pas déjà créé de rubrique Amazon SNS, suivez les instructions de mise en route d'Amazon SNS.

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

2.    Ouvrez la console EventBridge, puis choisissez Rules (Règles) dans le panneau de navigation.

3.    Choisissez Créer une règle.

4.    Pour Name (Nom), saisissez le nom de la règle.

5.    Dans Define Pattern (Définir le modèle), choisissez Event pattern (Modèle d'événement).

6.    Dans Event Matching pattern (Modèle de correspondance d'événement), choisissez Custom pattern (Modèle personnalisé).

7.    Dans le volet de prévisualisation Build custom event pattern (Modèle d'événement), saisissez l’exemple de modèle suivant :

Remarque : vous pouvez remplacer le type de ressource EC2::Instance par d'autres ressources. Pour obtenir liste des types de ressources disponibles, consultez la section resourceType ResourceIdentifier.

{
  "source": [
    "aws.config"
  ],
  "detail-type": [
    "Config Configuration Item Change"
  ],
  "detail": {
    "messageType": [
      "ConfigurationItemChangeNotification"
    ],
    "configurationItem": {
      "resourceType": [
        "AWS::EC2::Instance"
      ],
      "configurationItemStatus": [
        "ResourceDiscovered"
      ]
    }
  }
}

8.    Pour Target (Cible), choisissez SNS topic (Rubrique SNS).

9.    Dans Topic (Rubrique), choisissez votre rubrique SNS.

10.    Développez Configurer input (Configurer l'entrée), puis choisissez Input transformer (Transformateur d'entrée).

11.    Dans la zone de texte Input Path (Chemin d'entrée), saisissez l'exemple de chemin suivant :

{
    "awsRegion": "$.detail.configurationItem.awsRegion",
    "awsAccountId": "$.detail.configurationItem.awsAccountId",
    "resource_type": "$.detail.configurationItem.resourceType",
    "resource_ID": "$.detail.configurationItem.resourceId",
    "configurationItemCaptureTime": "$.detail.configurationItem.configurationItemCaptureTime"
}

12.    Dans la zone de texte Input Template (Modèle d'entrée), saisissez l’exemple de modèle suivant :

"On <configurationItemCaptureTime> AWS Config service recorded a creation of a new <resource_type> with Id <resource_ID> in the account <awsAccountId> region <awsRegion>. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=<awsRegion>#/timeline/<resource_type>/<resource_ID>/configuration"

13.    Choisissez Créer.

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

"On ExampleTime AWS Config service recorded a creation of a new AWS::EC2::Instance with Id ExampleID in the account AccountID region ExampleRegion. For more details open the AWS Config console at https://console.aws.amazon.com/config/home?region=*ExampleRegion*#/timeline/AWS::EC2::Instance/*ExampleID*/configuration"