Passer au contenu

Comment créer une règle EventBridge pour les alertes de connexion de l'utilisateur racine d'un compte AWS ?

Lecture de 5 minute(s)
0

Dans le cadre de la sécurité de mon compte, je souhaite recevoir des notifications par e-mail lorsque quelqu'un utilise la console de gestion AWS pour accéder à l'utilisateur racine de mon compte AWS.

Résolution

Pour surveiller l'activité de connexion de l’](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html)utilisateur racine du compte[, créez une règle Amazon EventBridge qui surveille l'élément userIdentity dans les journaux AWS CloudTrail. La règle EventBridge utilise Amazon Simple Notification Service (Amazon SNS) pour envoyer des notifications lorsque l'utilisateur racine se connecte à la console de gestion AWS.

Pour que CloudTrail envoie des appels d'API à EventBridge, vous devez créer un journal de suivi dans la même région AWS que la règle EventBridge. Configurez les événements de gestion du journal de suivi en lecture et écriture ou en écriture uniquement.

Pour créer la règle EventBridge et la rubrique SNS, vous pouvez utiliser Amazon SNS et EventBridge. Vous pouvez également utiliser AWS CloudFormation.

Utiliser Amazon SNS et EventBridge

Créer une rubrique Amazon SNS et un abonnement

Procédez comme suit :

  1. Créez une rubrique Amazon SNS.
  2. Inscrivez un point de terminaison à la rubrique.
  3. Recherchez l'e-mail de confirmation d'AWS dans votre boîte de réception.
  4. Dans l'e-mail, choisissez Confirmer l'abonnement pour confirmer la requête d'abonnement au SNS. Vous recevrez ensuite le message « Abonnement confirmé ».

Créer une règle EventBridge

Procédez comme suit :

  1. Ouvrez la console EventBridge dans la région USA Est (Virginie du Nord).

  2. Dans le volet de navigation, choisissez Règles, puis Créer une règle.

  3. Pour Nom et Description, saisissez le nom et la description de la règle.

  4. Pour Type de règle, sélectionnez Règle avec un modèle d’événement, puis Suivant.

  5. Pour Source d’événement, sélectionnez Événements AWS ou événements partenaires EventBridge.

  6. Sous Modèle d’événement, sélectionnez Modèle personnalisé (éditeur JSON).

  7. Dans l'éditeur JSON Modèle d’événement, saisissez le modèle de connexion utilisateur racine suivant :

    {
    
    "detail-type": ["AWS Console Sign In via CloudTrail"],
    
    "detail": {
    
    "userIdentity": {
    
    "type": ["Root"]
    
    }
    
    }
    
    }
  8. Sélectionnez Suivant.

  9. Configurez les paramètres suivants pour votre cible :
    Pour Types de cibles, sélectionnez Service AWS.
    Pour Sélectionner une cible, sélectionnez Rubrique SNS.
    Pour Rubrique, sélectionnez la rubrique que vous avez créée.

  10. Sélectionnez Suivant.

  11. (Facultatif) Ajoutez des identifications à la règle.

  12. Sélectionnez Suivant.

  13. Vérifiez les détails de la règle, puis sélectionnez Créer une règle.

Utiliser CloudFormation

Créer le modèle CloudFormation

Pour créer la règle EventBridge et la rubrique SNS, saisissez le modèle YAML suivant dans un éditeur de texte, puis enregistrez le fichier :

# Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
# Permission is hereby granted, free of charge, to any person obtaining a copy of this
# software and associated documentation files (the "Software"), to deal in the Software
# without restriction, including without limitation the rights to use, copy, modify,
# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
# permit persons to whom the Software is furnished to do so.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

AWSTemplateFormatVersion: '2010-09-09'
Description: ROOT-AWS-Console-Sign-In-via-CloudTrail
Metadata:
  AWS::CloudFormation::Interface:
    ParameterGroups:
    - Label:
        default: Amazon SNS parameters
      Parameters:
      - Email Address
Parameters:
  EmailAddress:
    Type: String
    ConstraintDescription: Email address required.
    Description: Enter an email address you want to subscribe to the Amazon SNS topic
      that will send notifications if your account's AWS root user logs in.
Resources:
  RootActivitySNSTopic:
    Type: AWS::SNS::Topic
    Properties:
      DisplayName: ROOT-AWS-Console-Sign-In-via-CloudTrail
      Subscription:
      - Endpoint:
          Ref: EmailAddress
        Protocol: email
      TopicName: ROOT-AWS-Console-Sign-In-via-CloudTrail
  EventsRule:
    Type: AWS::Events::Rule
    Properties:
      Description: Events rule for monitoring root AWS Console Sign In activity
      EventPattern:
        detail-type:
        - AWS Console Sign In via CloudTrail
        detail:
          userIdentity:
            type:
            - Root
      Name:
        Fn::Sub: "${AWS::StackName}-RootActivityRule"
      State: ENABLED
      Targets:
      - Arn:
          Ref: RootActivitySNSTopic
        Id: RootActivitySNSTopic
    DependsOn:
    - RootActivitySNSTopic
  RootPolicyDocument:
    Type: AWS::SNS::TopicPolicy
    Properties:
      PolicyDocument:
        Id: RootPolicyDocument
        Version: '2012-10-17'
        Statement:
        - Sid: RootPolicyDocument
          Effect: Allow
          Principal:
            Service: events.amazonaws.com
          Action: sns:Publish
          Resource:
          - Ref: RootActivitySNSTopic
      Topics:
      - Ref: RootActivitySNSTopic
Outputs:
  EventsRule:
    Value:
      Ref: EventsRule
    Export:
      Name:
        Fn::Sub: "${AWS::StackName}-RootAPIMonitorEventsRule"
    Description: Event Rule ID.

Créer la pile CloudFormation

Utilisez la console CloudFormation pour créer la pile CloudFormation. Sur la page Créer une pile, choisissez Charger un fichier de modèle pour charger le modèle que vous avez créé. Sur la page Configurer les options de pile, sous Options de notifications, saisissez l'adresse e-mail à laquelle vous souhaitez qu'AWS envoie les notifications.

Tester votre configuration SNS

Procédez comme suit :

  1. Déconnectez-vous de la console de gestion AWS, puis connectez-vous à la console de gestion AWS en tant qu'utilisateur racine du compte.
  2. Vérifiez dans votre boîte de réception que vous avez reçu un message de notification envoyé par AWS.
  3. Notez les enregistrements userIdentity, sourceIPAddress et MFAUsed CloudTrail records qui contiennent des informations sur l'événement de connexion.

Remarque : Pour ne plus recevoir de notifications, supprimez la pile CloudFormation que vous avez créée.

Informations connexes

Comment recevoir des notifications lorsque les clés d'accès racine de votre compte AWS sont utilisées

Surveiller et signaler l'activité de l'utilisateur racine sur le compte AWS

AWS::CloudWatch::Alarm

AWS OFFICIELA mis à jour il y a 7 mois