AWS ルートユーザーアカウントが使用されたことを通知する EventBridge イベントルールを作成するにはどうすればよいですか?

所要時間3分
0

AWS のルートユーザーアカウントが使用された際に通知を受け取る方法を教えてください。

解決策

AWS CloudFormation スタックを起動して、Amazon Simple Notification Service (Amazon SNS) トピックを作成します。その後、Amazon EventBridge イベントルールを作成して、AWS マネジメントコンソールから userIdentity ルートのログインをモニタリングします。

重要: 開始する前に、AWS CloudTrail Management の読み取り/書き込みイベントが [すべて] または [書き込み専用] に設定されていることを確認してください。これにより、EventBridge イベントによるログインイベントの通知を開始できます。詳細については、「読み取りおよび書き込みイベント」を参照してください。

  1. 次の YAML テンプレートをコピーしてお好みのエディターツールに貼り付け、保存します。

    # 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. 米国東部 (バージニア北部) リージョンで CloudFormation コンソールを開き、[スタックの作成] を選択します。

    注: CloudFormation スタックは、米国東部 (バージニア北部) リージョンで作成する必要があります。

  3. [スタックを作成] を選択し、[新しいリソースを使用 (標準)] を選択します。

  4. [テンプレートファイルをアップロード][次へ][ファイルを選択] の順に選択します。

  5. ステップ 1 で保存したテンプレートを選択し、[次へ] をクリックします。

  6. [スタック名] に、わかりやすい名前 (「Root-AWS-Console-Sign-In-CloudTrail」など) を入力します。

  7. [EmailAddress] にメールアドレスを入力し、[次へ] をクリックします。
    注: AWS からこの E メールアドレスに確認メールが送信されます。

  8. [オプション][次へ] を選択し、[作成] をクリックします。

  9. AWS からの確認メールを E メールの受信トレイで確認し、[サブスクリプションの確認] をクリックして SNS のサブスクリプションリクエストを確認します。[サブスクリプションが確認されました] というメッセージが送信されます。

  10. 通知をテストするには、AWS マネジメントコンソールからサインアウトします。次に、AWS のルートユーザーアカウントAWS マネジメントコンソールにサインインします。

  11. E メールの受信トレイで AWS の通知メッセージを確認します。CloudTrail には、ログインイベントの詳細を含むuserIdentitysourceIPAddress、および MFAUsed が記録されることに注意してください。

通知を受け取りたくない場合は、ステップ 2 で作成した CloudFormation スタックを削除してください。

関連情報

Creating a stack on the AWS CloudFormation console

How to Receive Notifications When Your AWS Account’s Root Access Keys Are Used

Monitor and Notify on AWS Account Root User Activity

AWS::CloudWatch::Alarm

AWS公式
AWS公式更新しました 8ヶ月前
コメントはありません

関連するコンテンツ