Direkt zum Inhalt

Wie erstelle ich eine EventBridge-Regel für Anmeldewarnungen bei Root-Benutzern des AWS-Kontos?

Lesedauer: 5 Minute
0

Im Rahmen meiner Kontosicherheit möchte ich E-Mail-Benachrichtigungen erhalten, wenn jemand die AWS-Managementkonsole verwendet, um auf den/die Root-Benutzer:in meines AWS-Kontos zuzugreifen.

Lösung

Um die Anmeldeaktivität von Konto-Root-Benutzern zu überwachen, erstelle eine Amazon-EventBridge-Regel, die das userIdentity-Element in den AWS-CloudTrail-Protokollen überwacht. Die EventBridge-Regel verwendet Amazon Simple Notification Service (Amazon SNS), um Benachrichtigungen zu senden, wenn sich Root-Benutzer bei der AWS-Managementkonsole anmelden.

Damit CloudTrail API-Aufrufe an EventBridge senden kann, musst du in derselben AWS-Region wie die EventBridge-Regel einen Trail erstellen. Konfiguriere die Verwaltungsereignisse des Trails als Lesen und Schreiben oder nur Schreiben.

Um die EventBridge-Regel und das SNS-Thema zu erstellen, kannst du Amazon SNS und EventBridge verwenden. Oder verwende AWS CloudFormation.

Verwendung von Amazon SNS und EventBridge

Erstellen eines Amazon-SNS-Themas und -Abonnements

Führe die folgenden Schritte aus:

  1. Erstelle ein Amazon-SNS-Thema.
  2. Abonniere einen Endpunkt für das Thema.
  3. Suche in deinem E-Mail-Posteingang nach der AWS-Bestätigungs-E-Mail.
  4. Wähle in der E-Mail Abonnement bestätigen aus, um die SNS-Abonnementanforderung zu bestätigen. Du erhältst die Nachricht „Subscription confirmed!“.

Erstellen einer EventBridge-Regel

Führe die folgenden Schritte aus:

  1. Öffne die EventBridge-Konsole in der Region USA Ost (Nord-Virginia).

  2. Wähle im Navigationsbereich Regeln und dann Regel erstellen aus.

  3. Gib im Feld Name und Beschreibungeinen Namen und eine Beschreibung für die Regel ein.

  4. Wähle als Typ der Regel Regel mit einem Ereignismuster und dann Nächster Schritt aus.

  5. Wähle als Ereignisquelle AWS-Veranstaltungen oder EventBridge-Partnerveranstaltungen aus.

  6. Wähle unter **Ereignismuster ** die Option Benutzerdefiniertes Muster (JSON-Editor) aus.

  7. Gib im JSON-Editor für Ereignismusterdas folgende Anmeldemuster für Root-Benutzer ein:

    {
    
    "detail-type": ["AWS Console Sign In via CloudTrail"],
    
    "detail": {
    
    "userIdentity": {
    
    "type": ["Root"]
    
    }
    
    }
    
    }
  8. Wähle Nächster Schritt aus.

  9. Konfiguriere die folgenden Einstellungen für das Ziel:
    Wähle als Zieltypen AWS-Service aus.
    Wähle unter Ein Ziel auswählen die Option SNS-Thema aus.
    Wähle unter Thema das Thema aus, das du erstellt hast.

  10. Wähle Nächster Schritt aus.

  11. (Optional) Füge der Rolle Tags hinzu.

  12. Wähle Nächster Schritt aus.

  13. Überprüfe die Details der Regel und wähle dann Regel erstellen aus.

CloudFormation verwenden

Die CloudFormation-Vorlage erstellen

Um die EventBridge-Regel und das SNS-Thema zu erstellen, gib die folgende YAML-Vorlage in einen Texteditor ein und speichere dann die Datei:

# 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.

Den CloudFormation-Stack erstellen

Verwende die CloudFormation-Konsole, um den CloudFormation-Stack zu erstellen. Wähle auf der Seite Stapel erstellen die Option Die Vorlagendatei hochladen aus, um die von dir erstellte Vorlage hochzuladen. Gib auf der Seite Stack-Optionen konfigurieren unter Benachrichtigungsoptionen die E-Mail-Adresse ein, an die AWS Benachrichtigungen senden soll.

Die SNS-Einrichtung testen

Führe die folgenden Schritte aus:

  1. Melde dich von der AWS-Managementkonsole ab und melde dich dann bei der AWS-Managementkonsole als Root-Benutzer:in an.
  2. Suche in deinem E-Mail-Posteingang nach einer AWS-Benachrichtigung.
  3. Notiere dir die CloudTrail-Datensätze userIdentity, sourceIPAddress und MFAUsed, die Einzelheiten zum Anmeldeereignis enthalten.

Hinweis: Um keine Benachrichtigungen mehr zu erhalten, lösche den von dir erstellten CloudFormation-Stack.

Ähnliche Informationen

So erhältst du Benachrichtigungen, wenn die Root-Zugriffsschlüssel deines AWS-Kontos verwendet werden

Überwachung und Benachrichtigung der Root-Benutzeraktivitäten des AWS-Kontos

AWS::CloudWatch::Alarm