Comment puis-je créer une règle d'événement EventBridge pour m'avertir que mon compte utilisateur root AWS a été utilisé ?

Lecture de 4 minute(s)
0

Je souhaite recevoir des notifications lorsque quelqu'un utilise mon compte utilisateur root AWS.

Résolution

Lancez une pile AWS CloudFormation pour créer une rubrique Amazon Simple Notification Service (Amazon SNS). Créez ensuite une règle d'événement Amazon EventBridge pour surveiller les connexions root userIdentity depuis la console de gestion AWS.

Important : avant de commencer, assurez-vous que vos événements de lecture et d'écriture AWS CloudTrail Management sont définis sur Tout ou Écriture seule. Cela permet aux événements EventBridge de déclencher la notification d'événement de connexion. Pour plus d'informations, reportez-vous à Événements de lecture et d'écriture.

  1. Copiez et collez ce modèle YAML dans votre éditeur favori, puis enregistrez-le :

    # 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.
  2. Ouvrez la console CloudFormation dans la région USA Est (Virginie du Nord), puis choisissez Créer une pile.

    Remarque : vous devez créer la pile CloudFormation dans la région USA Est (Virginie du Nord).

  3. Choisissez Créer une pile, puis Avec de nouvelles ressources (standard).

  4. Sélectionnez Charger un fichier modèle, Suivant, puis Choisir un fichier.

  5. Cliquez sur le modèle que vous avez enregistré à l'étape 1, puis sur Suivant.

  6. Dans Nom de la pile, saisissez un nom significatif pour vous, comme CloudTrail pour connexion à la console AWS avec compte root.

  7. Dans EmailAddress, saisissez votre adresse e-mail, puis cliquez sur Suivant.
    Remarque : AWS envoie l'e-mail de confirmation à cette adresse e-mail.

  8. Dans Options, cliquez sur Suivant, puis Créer.

  9. Vérifiez dans votre boîte de réception si vous avez reçu l'e-mail de confirmation envoyé par AWS, puis choisissez Confirmer l'abonnement pour confirmer la demande d'abonnement SNS. Vous recevrez le message Abonnement confirmé !

  10. Pour tester les notifications, déconnectez-vous de la console de gestion AWS. Connectez-vous ensuite à la console de gestion AWS avec votre compte utilisateur root AWS.

  11. Vérifiez dans votre boîte de réception que vous avez reçu un message de notification envoyé par AWS. Notez les userIdentity, sourceIPAddress et MFAUsed des enregistrements CloudTrail qui contiennent les détails de l'événement de connexion.

Si vous ne souhaitez pas recevoir de notifications, supprimez la pile CloudFormation que vous avez créée à l'étape 2.

Informations connexes

Création d'une pile sur la console AWS CloudFormation

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

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

AWS::CloudWatch::Alarm

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 7 mois