¿Cómo puedo crear una regla de eventos de EventBridge para que me notifique que se utilizó mi cuenta de usuario raíz de AWS?

Última actualización: 08-12-2021

¿Cómo puedo recibir notificaciones cuando se utiliza mi cuenta de usuario raíz de AWS?

Resolución

Lance una pila de AWS CloudFormation para crear un tema de Amazon Simple Notification Service (Amazon SNS). A continuación, cree una regla de eventos de Amazon EventBridge para monitorear los inicios de sesión de la cuenta raíz de userIdentity desde la consola de administración de AWS.

Importante: Antes de comenzar, asegúrese de que los eventos de lectura/escritura de su administración de AWS CloudTrail estén configurados como All (Todos) o Write-only (Solo escritura) para que los eventos de EventBridge desencadenen la notificación de eventos de inicio de sesión. Para más información, consulte Eventos de lectura y escritura.

1.    Copie y pegue esta plantilla YAML en su herramienta de edición favorita y, luego, guárdela.

# 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
    AllowedPattern: "^[\\x20-\\x45]?[\\w-\\+]+(\\.[\\w]+)*@[\\w-]+(\\.[\\w]+)*(\\.[a-z]{2,})$"
    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.    Abra la consola de CloudFormation en la región Este de EE. UU. (Norte de Virginia) y, a continuación, seleccione Create Stack (Crear pila).

Nota: La pila de CloudFormation debe crearse en la región Este de EE. UU. (Norte de Virginia)

3.    Elija Create stack (Crear pila) y, a continuación, elija With new resources (Con nuevos recursos [estándar]).

4.    Elija Upload a template file (Cargar un archivo de plantilla), Next (Siguiente) y, a continuación, Choose file (Elegir archivo).

5.    Elija la plantilla que guardó en el paso 1 y, a continuación, seleccione Next (Siguiente).

6.    En Stack name (Nombre de la pila), ingrese un nombre que tenga sentido para usted, como Root-AWS-Console-Sign-In-CloudTrail.

7.    En EmailAddress (Dirección de correo electrónico), ingrese su dirección de correo electrónico y, luego, elija Next (Siguiente).

Nota: AWS envía el correo electrónico de confirmación a esta dirección de correo electrónico.

8.    En Options (Opciones), elija Next (Siguiente) y, a continuación, seleccione Create (Crear).

9.    Compruebe si ha llegado el correo electrónico de confirmación de AWS a su bandeja de entrada de correo y, luego, elija Confirm subscription (Confirmar suscripción) para confirmar la solicitud de suscripción SNS. Recibirá el mensaje de Subscription confirmed! (Suscripción confirmada).

10.    Para probar las notificaciones, cierre la sesión de la consola de administración de AWS A continuación, inicie sesión en la consola de administración de AWS con su cuenta de usuario raíz de AWS.

11.    Revise su bandeja de entrada de correo electrónico para ver si hay un mensaje de notificación de AWS. Tenga en cuenta que CloudTrail registra userIdentity, sourceIPAddress y MFAUsed con los detalles del evento de inicio de sesión.

Para dejar de recibir notificaciones, elimine la pila de CloudFormation que creó en el paso 2.