Didacticiel : Surveillance des modifications importantes apportées à votre organisation avec Amazon EventBridge - AWS Organizations

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.

Didacticiel : Surveillance des modifications importantes apportées à votre organisation avec Amazon EventBridge

Ce didacticiel explique comment configurer Amazon EventBridge, anciennement Amazon CloudWatch Events, pour contrôler les modifications apportées à votre organisation. Vous commencez par configurer une règle qui est déclenchée lorsque des utilisateurs appellent des opérations AWS Organizations spécifiques. Ensuite, vous configurez Amazon EventBridge pour exécuter une fonction AWS Lambda lorsque la règle est déclenchée et vous configurez Amazon SNS pour envoyer un e-mail avec les détails relatifs à l'événement.

L'illustration suivante montre les principales étapes du didacticiel.

Étape 1 : Configuration d'un journal d'activité et d'un sélecteur d'événements

Créez un journal, appelé journal d'activité, dans AWS CloudTrail. Vous le configurez pour capturer tous les appels d'API.

Étape 2 : Configuration d'une fonction Lambda

Créez une fonction AWS Lambda qui consigne les détails de l'événement dans un compartiment S3.

Étape 3 : Création d'une rubrique Amazon SNS qui envoie des e-mails aux abonnés

Créez une rubrique Amazon SNS qui envoie des e-mails à ses abonnés, puis abonnez-vous vous-même à la rubrique.

Étape 4 : Création d'une règle Amazon EventBridge

Créez une règle qui demande à Amazon EventBridge de transmettre les détails d'appels d'API spécifiés à la fonction Lambda et aux abonnés de la rubrique SNS.

Étape 5 : Test de votre règle Amazon EventBridge

Testez votre nouvelle règle en exécutant l'une des opérations surveillées. Dans ce didacticiel, l'opération surveillée est la création d'une unité d'organisation (UO). Vous affichez l'entrée de journal créée par la fonction Lambda et vous consultez l'e-mail qu'Amazon SNS envoie aux abonnés.

Conseil

Vous pouvez également utiliser ce didacticiel comme guide pour configurer des opérations similaires, telles que l'envoi de notifications par e-mail une fois la création du compte terminée. Comme la création du compte est une opération asynchrone, vous n'êtes pas informé par défaut lorsqu'elle se termine. Pour de plus amples informations sur l'utilisation de AWS CloudTrail et Amazon EventBridge avec AWS Organizations, consultez Connexion et surveillance AWS Organizations.

Prerequisites (Prérequis)

Ce didacticiel suppose ce qui suit :

  • Vous pouvez vous connecter à la AWS Management Console en tant qu'utilisateur IAM à partir du compte de gestion de votre organisation. L'utilisateur IAM doit être autorisé à créer et configurer un journal dans CloudTrail, une fonction dans Lambda, une rubrique dans Amazon SNS et une règle dans Amazon EventBridge. Pour plus d'informations sur l'octroi d'autorisations, consultez Gestion des accès dans le Guide de l'utilisateur IAM ou dans le guide du service pour lequel vous souhaitez configurer l'accès.

  • Vous avez accès à un compartiment Amazon Simple Storage Service (Amazon S3) existant (ou vous êtes autorisé à créer un compartiment) pour recevoir le journal CloudTrail que vous configurez à l'étape 1.

Important

Actuellement, AWS Organizations est hébergé uniquement dans la région USA Est (Virginie du Nord) (même si ce service est disponible dans le monde entier). Pour effectuer les étapes de ce didacticiel, vous devez configurer la AWS Management Console pour utiliser cette région.

Étape 1 : Configuration d'un journal d'activité et d'un sélecteur d'événements

Au cours de cette étape, vous vous connectez au compte de gestion et vous configurez un journal (appelé journal d'activité) dans AWS CloudTrail. Vous pouvez également configurer un sélecteur d'événements sur le journal de suivi pour capturer tous les appels d'API en lecture/écriture afin de fournir à Amazon EventBridge des appels sur lesquels effectuer des déclenchements.

Pour créer un journal d'activité
  1. Connectez-vous à AWS en tant qu'administrateur du compte de gestion de l'organisation, puis ouvrez la console CloudTrail à l'adresse https://console.aws.amazon.com/cloudtrail/.

  2. Sur la barre de navigation dans le coin supérieur droit de la console, choisissez la région USA Est (Virginie du Nord). Si vous choisissez une autre région, AWS Organizations n'apparaît pas comme option dans les paramètres de configuration d'Amazon EventBridge, et CloudTrail ne capture pas d'informations sur AWS Organizations.

  3. Dans le panneau de navigation, choisissez Journaux d'activité.

  4. Choisissez Créer un journal d'activité).

  5. Pour Nom du journal d'activité, saisissez My-Test-Trail.

  6. Sélectionnez l'une des options suivantes pour spécifier où CloudTrail doit fournir ses journaux :

    • Si vous devez créer un compartiment, choisissez Create new S3 bucket (Créer un compartiment S3), puis, pour Trail log bucket and folder (Compartiment et dossier des journaux de suivi), saisissez le nom du nouveau compartiment.

      Note

      Les noms de compartiment S3 doivent être globalement uniques.

    • Si vous disposez déjà d'un compartiment, choisissez Use existing S3 bucket (Utiliser un compartiment S3 existant), puis choisissez le nom du compartiment dans la liste de compartiments S3.

  7. Choisissez Next (Suivant).

  8. Sur la page Choisir les événements du journal, dans la section Événements de gestion, choisissez Read (Lire) et Write (Écrire).

  9. Choisissez Next (Suivant).

  10. Passez en revue vos sélections, puis choisissez Create trail (Créer un journal d'activité).

Amazon EventBridge vous permet de choisir parmi différentes méthodes pour envoyer des alertes lorsqu'une règle d'alarme correspond à un appel d'API entrant. Ce didacticiel explique deux méthodes : l'appel d'une fonction Lambda qui peut consigner l'appel d'API, et l'envoi d'informations vers une rubrique Amazon SNS qui envoie un e-mail ou un SMS aux abonnés de la rubrique. Dans les deux prochaines étapes, vous allez créer les composants dont vous avez besoin : la fonction Lambda et la rubrique Amazon SNS.

Étape 2 : Configuration d'une fonction Lambda

Au cours de cette étape, vous allez créer une fonction Lambda qui consigne l'activité d'API envoyée par la règle Amazon EventBridge que vous configurerez ultérieurement.

Pour créer une fonction Lambda qui consigne des événements Amazon EventBridge
  1. Ouvrez la console AWS Lambda à l'adresse https://console.aws.amazon.com/lambda/.

  2. Si vous débutez avec Lambda, choisissez Get Started Now (Démarrez maintenant) sur la page d'accueil ; sinon choisissez Create function (Créer une fonction).

  3. Sur la page Créer une fonction, choisissez Use a blueprint (Utiliser un plan).

  4. Dans la zone de recherche Blueprints (Plans), saisissez hello comme filtre et choisissez le plan hello-world.

  5. Choisissez Configure (Configurer).

  6. Sur la page Basic information (Informations de base), effectuez les opérations suivantes :

    1. Pour le nom de la fonction Lambda, saisissez LogOrganizationEvents dans la zone de texte Name (Nom).

    2. Pour Role (Rôle), choisissez Create a new role with basic Lambda permissions (Créer un nouveau rôle avec les autorisations Lambda de base). Ce rôle accorde à votre fonction Lambda les autorisations nécessaires pour accéder aux données dont celle-ci a besoin et pour écrire son journal de sortie.

  7. Modifiez le code pour la fonction Lambda, comme illustré dans l'exemple suivant.

    console.log('Loading function'); exports.handler = async (event, context) => { console.log('LogOrganizationsEvents'); console.log('Received event:', JSON.stringify(event, null, 2)); return event.key1; // Echo back the first key value // throw new Error('Something went wrong'); };

    Cet exemple de code consigne l'événement avec une chaîne de marqueur LogOrganizationEvents, suivie de la chaîne JSON qui constitue l'événement.

  8. Sélectionnez Create function (Créer une fonction).

Étape 3 : Création d'une rubrique Amazon SNS qui envoie des e-mails aux abonnés

Au cours de cette étape, vous allez créer une rubrique Amazon SNS qui envoie des informations à ses abonnés. Vous allez faire de cette rubrique une cible de la règle Amazon EventBridge que vous créerez ultérieurement.

Pour créer une rubrique Amazon SNS afin d'envoyer un e-mail aux abonnés
  1. Ouvrez la console Amazon SNS à l'adresse https://console.aws.amazon.com/sns/v3/.

  2. Dans le panneau de navigation, choisissez Topics (Rubriques).

  3. Choisissez Create new topic (Créer une rubrique).

    1. Pour Topic name (Nom de la rubrique), saisissez OrganizationsCloudWatchTopic.

    2. Pour Display name (Nom complet), saisissez OrgsCWEvnt.

    3. Choisissez Create topic (Créer la rubrique).

  4. Vous pouvez désormais créer un abonnement pour la rubrique. Choisissez l'ARN de la rubrique que vous venez de créer.

  5. Choisissez Create subscription (Créer un abonnement).

    1. Sur la page Create Subscription, pour Protocol (Protocole), choisissez Email (E-mail).

    2. Saisissez votre adresse e-mail dans Endpoint (Point de terminaison).

    3. Choisissez Create subscription (Créer l'abonnement). AWS envoie un e-mail à l'adresse e-mail que vous avez spécifiée à l'étape précédente. Attendez que l'e-mail arrive, puis choisissez le lien Confirm subscription (Confirmer l'abonnement) contenu dans l'e-mail pour confirmer que vous avez bien reçu l'e-mail.

    4. Revenez dans la console et actualisez la page. Le message Pending confirmation (En attente de confirmation) disparaît et est remplacé par l'ID d'abonnement désormais valide.

Étape 4 : Création d'une règle Amazon EventBridge

Maintenant que la fonction Lambda requise existe dans votre compte, vous créez une règle Amazon EventBridge qui l'appelle lorsque les critères de la règle sont remplis.

Pour créer une règle EventBridge
  1. Ouvrez la console Amazon EventBridge sur https://console.aws.amazon.com/events/.

  2. Définissez la console sur la région USA Est (Virginie du Nord), faute de quoi les informations sur Organizations ne sont pas disponibles. Sur la barre de navigation dans le coin supérieur droit de la console, choisissez la région USA Est (Virginie du Nord).

  3. Pour plus d'informations sur la création de règles, consultez Démarrage avec Amazon EventBridge dans le Guide de l'utilisateur Amazon EventBridge.

Étape 5 : Test de votre règle Amazon EventBridge

Au cours de cette étape, vous créez une unité d'organisation (UO) et observez que la règle Amazon EventBridge génère une entrée de journal et vous envoie un e-mail avec des détails relatifs à l'événement.

AWS Management Console
Pour créer une unité d'organisation
  1. Ouvrez la page Comptes AWS dans la console AWS Organizations.

  2. Cochez la case Root OU (UO Racine), choisissez Actions, puis sous Unité d'organisation, choisissez Create new (Créer une nouvelle).

  3. Pour le nom de l'unité d'organisation, saisissez TestCWEOU, puis choisissez Create organizational unit (Créer l'unité d'organisation).

Pour voir l'entrée de journal EventBridge
  1. Ouvrez la console CloudWatch à l'adresse https://console.aws.amazon.com/cloudwatch/.

  2. Dans la page de navigation, choisissez Logs (Journaux).

  3. Sous Log Groups (Groupes de journaux), choisissez le groupe associé à votre fonction Lambda : /aws/lambda/LogOrganizationEvents.

  4. Chaque groupe contient un ou plusieurs flux, et il devrait y avoir un groupe pour aujourd'hui. Choisissez-le.

  5. Affichez le journal. Vous devriez voir des lignes similaires aux suivantes.

  6. Sélectionnez la ligne du milieu de l'entrée pour voir l'intégralité du texte JSON de l'événement reçu. Vous pouvez voir tous les détails de la demande d'API dans les éléments requestParameters et responseElements de la sortie.

    2017-03-09T22:45:05.101Z 0999eb20-051a-11e7-a426-cddb46425f16 Received event: { "version": "0", "id": "123456-EXAMPLE-GUID-123456", "detail-type": "AWS API Call via CloudTrail", "source": "aws.organizations", "account": "123456789012", "time": "2017-03-09T22:44:26Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.04", "userIdentity": { ... }, "eventTime": "2017-03-09T22:44:26Z", "eventSource": "organizations.amazonaws.com", "eventName": "CreateOrganizationalUnit", "awsRegion": "us-east-1", "sourceIPAddress": "192.168.0.1", "userAgent": "AWS Organizations Console, aws-internal/3", "requestParameters": { "parentId": "r-exampleRootId", "name": "TestCWEOU" }, "responseElements": { "organizationalUnit": { "name": "TestCWEOU", "id": "ou-exampleRootId-exampleOUId", "arn": "arn:aws:organizations::1234567789012:ou/o-exampleOrgId/ou-exampleRootId-exampeOUId" } }, "requestID": "123456-EXAMPLE-GUID-123456", "eventID": "123456-EXAMPLE-GUID-123456", "eventType": "AwsApiCall" } }
  7. Vérifiez dans votre compte de messagerie la présence d'un message d'OrgsCWEvnt (nom d'affichage de votre rubrique Amazon SNS). Le corps de l'e-mail contient la même sortie de texte JSON que l'entrée de journal qui est illustrée dans l'étape précédente.

Nettoyage : supprimer les ressources devenues inutiles

Pour éviter de payer des frais, vous devez supprimer toutes les ressources AWS que vous avez créées dans le cadre de ce didacticiel et que vous ne souhaitez pas conserver.

Pour nettoyer votre environnement AWS
  1. Utilisez la console CloudTrail pour supprimer le journal d'activité nommé My-Test-Trail que vous avez créé à l'étape 1.

  2. Si vous avez créé un compartiment Amazon S3 à l'étape 1, utilisez la console Amazon S3 pour le supprimer.

  3. Utilisez la console Lambda pour supprimer la fonction nommée LogOrganizationEvents que vous avez créée à l'étape 2.

  4. Utilisez la Console Amazon SNS pour supprimer la rubrique Amazon SNS nommée OrganizationsCloudWatchTopicque vous avez créée lors de l'étape 3.

  5. Utilisez la console CloudWatch pour supprimer la règle EventBridge nommée OrgsMonitorRule que vous avez créée à l'étape 4.

  6. Enfin, utilisez la console Organizations pour supprimer l'unité d'organisation nommée TestCWEOU que vous avez créée à l'étape 5.

Vous avez terminé. Dans ce didacticiel, vous avez configuré EventBridge pour contrôler les modifications apportées à votre organisation. Vous avez configuré une règle qui est déclenchée lorsque des utilisateurs appellent des opérations AWS Organizations spécifiques. La règle exécutait une fonction Lambda qui consignait l'événement et envoyait un e-mail contenant des détails sur l'événement.