Como posso criar uma regra de evento do EventBridge para me avisar que minha conta de usuário raiz da AWS foi usada?

Data da última atualização: 2021-12-08

Como posso receber notificações quando minha conta de usuário raiz da AWS é usada?

Resolução

Inicie uma pilha do AWS CloudFormation para criar um tópico do Amazon Simple Notification Service (Amazon SNS). Em seguida, crie uma regra de evento do Amazon EventBridge para monitorar logins raiz userIdentity no Console de Gerenciamento da AWS.

Importante: Antes de começar, verifique se os eventos de leitura/gravação de Gerenciamento de AWS CloudTrail estão definidos como All (Todos) ou Write-only (Somente gravação) para que os eventos do EventBridge acionem a notificação de evento de login. Para obter mais informações, consulte Eventos de leitura e gravação.

1.    Copie e cole esse template YAML em sua ferramenta de edição favorita e salve-o.

# 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 o console do CloudFormation na região Leste dos EUA (Norte da Virgínia) e escolha Create Stack (Criar pilha).

Observação: A pilha do CloudFormation deve ser criada na região Leste dos EUA (Norte da Virgínia).

3.    Escolha Create stack (Criar pilha) e, em seguida, escolha With new resources (standard) (Com novos recursos - padrão).

4.    Escolha Upload a template file (Carregar um arquivo de template), Next (Avançar) e, em seguida, Choose file (Escolher arquivo).

5.    Escolha o template salvo na etapa 1 e depois escolha Next (Avançar).

6.    Em Stack name (Nome da pilha), insira um nome que seja significativo para você, como Root-AWS-Console-Sign-In-CloudTrail.

7.    Em EmailAddress, insira seu endereço de e-mail e escolha Next (Avançar).

Observação: A AWS envia o e-mail de confirmação para esse endereço de e-mail.

8.    Em Options (Opções), escolha Next (Avançar) e, em seguida, selecione Create (Criar).

9.    Verifique sua caixa de entrada de e-mail para ver o e-mail de confirmação da AWS e escolha Confirm subscription (Confirmar assinatura) para confirmar a solicitação de assinatura do SNS. Você receberá uma mensagem de assinatura confirmada.

10.    Para testar as notificações, saia do Console de Gerenciamento da AWS. Em seguida, faça login no Console de Gerenciamento da AWS com sua conta de usuário raiz da AWS.

11.    Verifique sua caixa de entrada de e-mail para verificar se há uma mensagem de notificação da AWS. Observe que o CloudTrail registra userIdentity, sourceIPAddress e MFAUsed contendo detalhes para o evento de login.

Para interromper o recebimento de notificações, exclua a pilha do CloudFormation que você criou na etapa 2.