Je souhaite utiliser une règle Amazon EventBridge pour créer une réponse automatisée personnalisée aux appels d'API AWS CloudTrail.
Brève description
Pour configurer une action ou une notification personnalisée pour un appel d'API CloudTrail, créez une règle EventBridge avec un modèle d'événement correspondant à l'événement.
Résolution
Créer un journal d’activité CloudTrail
Remarque : Vous devez configurer un journal d’activité CloudTrail pour capturer les événements, puis les transmettre à EventBridge. La règle EventBridge ne démarre qu'à partir d'un journal d’activité, même si vous avez une correspondance de modèle d'événement valide.
Pour créer un journal d’activité CloudTrail, procédez comme suit :
- Ouvrez la console CloudTrail.
- Accédez à Journaux d’activité.
- S'il existe déjà un journal d’activité dans la région dans laquelle vous souhaitez créer votre règle, assurez-vous que l’état est défini sur Journalisation.
- Si vous ne disposez pas d’un journal d’activité existant, choisissez Créer un journal d’activité.
- Dans Nom du journal d’activité, entrez un nom.
- Dans Emplacement de stockage, choisissez Créer un nouveau compartiment S3.
- Dans Alias AWS KMS, entrez un alias pour la clé AWS Key Management Service (AWS KMS).
- Sélectionnez Suivant. Puis, choisissez de nouveau Suivant.
- Sélectionnez Créer un journal d’activité.
Pour plus d'informations, consultez la section Création d'un journal d’activité à l'aide de la console CloudTrail.
Créer une règle EventBridge et un modèle d'événement
Remarque : L'exemple de cette section utilise l'opération d'API Amazon Simple Queue Service (Amazon SQS), CreateQueue, pour générer un événement. Lorsque vous utilisez une opération d'API Amazon SQS, CloudTrail enregistre l'événement généré, puis le transmet au bus EventBridge par défaut.
Pour créer une règle EventBridge et un modèle d'événement, procédez comme suit :
- Ouvrez la console EventBridge.
- Dans le volet de navigation, sélectionnez Règles.
- Sélectionnez Créer une règle.
- Entrez le nom et la description de la règle, par exemple TestRule.
- Dans Bus d'événements, choisissez le bus d'événements que vous souhaitez associer à cette règle. Si vous souhaitez que votre règle corresponde aux événements provenant de votre compte, sélectionnez Par défaut.
Remarque : Lorsqu'un service AWS de votre compte crée un événement, celui-ci est transféré vers le bus d'événements par défaut de votre compte.
- Dans Type de règle, sélectionnez Règle avec un modèle d’événement.
- Sélectionnez Suivant.
- Dans Source de l'événement, sélectionnez AWS.
- Choisissez Modèle d'événement.
- Dans Source de l'événement, sélectionnez SQS.
- Dans Type d'événement, sélectionnez Appel d'API AWS via CloudTrail.
- Choisissez Opération(s) spécifique(s), puis saisissez CreateQueue. L'exemple suivant montre le modèle d'événement qui résulte des options que vous avez sélectionnées :
{ "source": ["aws.sqs"],
"detail-type": ["AWS API Call via CloudTrail"],
"detail": {
"eventSource": ["sqs.amazonaws.com"],
"eventName": ["CreateQueue"]
}
}
Remarque : Le modèle d'événement filtre sur un certain nombre de champs, tels que eventName et eventSource. Une correspondance d'événement doit contenir tous les champs et les valeurs correspondantes.
Sélectionnez Suivant.
Dans Types de cibles, sélectionnez Service AWS.
Dans Sélectionner une cible, sélectionnez Fonction Lambda.
Dans la liste, choisissez votre fonction.
Choisissez Ajouter une autre identification.
Dans la section Service AWS, sélectionnez Groupe de journaux CloudWatch.
Dans Sélectionner un groupe de journaux, choisissez un groupe de journaux existant ou créez-en un nouveau.
Sélectionnez Suivant. Puis, choisissez de nouveau Suivant.
Sélectionnez Créer une règle.
Valider la règle EventBridge
Procédez comme suit :
- Ouvrez la console SQS.
- Choisissez Créer une file d'attente.
- Dans Type, sélectionnez Type de file d'attente standard.
- Saisissez un nom pour votre règle.
- Conservez toutes les autres options par défaut, puis sélectionnez Créer une file d'attente.
- Utilisez les métriques TriggeredRules, Invocations et FailedInvocations pour confirmer que votre règle EventBridge a déclenché et invoqué les cibles.
- Pour afficher les mesures, accédez à la règle que vous avez créée, puis ouvrez l'onglet Surveillance. Vous pouvez également consulter les métriques dans la console CloudWatch dans l'espace de noms AWS/Événements.
- Vérifiez que la fonction Lambda a été correctement invoquée et que le groupe de journaux CloudWatch a capturé l'événement.
- Accédez à votre groupe de journaux cible dans la console CloudWatch Logs. Notez qu'un nouveau flux de journaux est visible avec l'événement de journal correspondant.
Informations connexes
Tutoriel : Créer une règle EventBridge qui réagit aux appels d'API AWS via CloudTrail
Comment puis-je créer un modèle d'événement personnalisé pour une règle EventBridge ?