【手順付き】AWS ルートユーザーのコンソールログインをメール通知する方法

【手順付き】AWS ルートユーザーのコンソールログインをメール通知する方法

2026.06.16

こんにちは、フニです。

本記事では、EventBridge と SNS を使って AWS ルートユーザーのコンソールログインをメールで通知する手順についてご紹介します。

概要

ルートユーザーは AWS アカウントですべての操作が可能な特権ユーザーであり、日常運用では使わないことがベストプラクティスとされています。
とはいえ、ルートユーザーの利用が必要になる場合もあり、「誰かがルートユーザーでログインしたら即座に気づきたい」というニーズもあります。
本記事では、EventBridge と SNS を組み合わせて実装する手順についてご紹介します。

詳細は以下の公式ドキュメントをご参照ください。

https://repost.aws/knowledge-center/root-user-account-eventbridge-rule

やってみた

構成イメージ

ルートユーザーがコンソールにログイン


   CloudTrail
        │  ConsoleLogin イベント

   EventBridge ルール(us-east-1)


   SNS トピック → メール通知

仕組みはシンプルで、CloudTrail がルートユーザーのコンソールログイン(ConsoleLogin)イベントを記録し、それを EventBridge のルールで拾って SNS トピック経由でメール通知する、という流れになります。

前提

  • EventBridge / SNS を操作できる IAM 権限を持っていること
  • 通知を受け取るメールアドレスがあること
  • CloudTrail 証跡が有効化されていること

CloudTrail のイベント履歴(90 日間の閲覧用ログ)だけでは、EventBridge にイベントが流れません。
管理イベントを記録する証跡の有効化が必須です。詳細は以下の公式ドキュメントをご参照ください。

https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event-cloudtrail.html

手順 1: SNS トピックとサブスクリプションの作成

通知の送信先となる SNS トピックを作成します。
リージョンは必ず バージニア北部(us-east-1) を選択してください。

  1. マネジメントコンソールで SNS コンソールを開きます。

CleanShot 2026-06-16 at 17.21.33@2x.png

  1. 「トピック」→「トピックの作成」を選択し、タイプは「スタンダード」、名前(例: RootUserLogin-SNS)を入力して作成します。

CleanShot 2026-06-16 at 17.25.23@2x.png

CleanShot 2026-06-16 at 17.26.19@2x.png

  1. 作成したトピックの画面で「サブスクリプションの作成」を選択します。プロトコルに「Eメール」、エンドポイントに通知を受け取るメールアドレスを入力して作成します。

CleanShot 2026-06-16 at 17.28.16@2x.png

CleanShot 2026-06-16 at 17.29.15@2x.png

  1. 入力したメールアドレスに AWS から確認メールが届くので、本文の「Confirm subscription」をクリックしてサブスクリプションを確定します。

CleanShot 2026-06-16 at 17.55.04@2x.png

CleanShot 2026-06-16 at 17.55.52@2x.png

  1. SNS コンソールに戻り、サブスクリプションのステータスが「確認済み(Confirmed)」になっていることを確認します。

CleanShot 2026-06-16 at 17.56.49@2x.png

手順 2: EventBridge ルールの作成

ルートユーザーのログインイベントを検知するルールを作成します。
リージョンは必ず バージニア北部(us-east-1) を選択してください。

  1. マネジメントコンソールで EventBridge コンソールを開きます。

CleanShot 2026-06-16 at 17.58.22@2x.png

  1. 「ルール」→「ルールを作成」を選択し、以下画像を参考に設定します。

CleanShot 2026-06-16 at 17.59.14@2x.png

"ConsoleLogin": ["Success"] でログインに成功した場合のみ通知を行っていますが、必要に応じて変更してください。

{
  "source": ["aws.signin"],
  "detail-type": ["AWS Console Sign In via CloudTrail"],
  "detail": {
    "eventSource": ["signin.amazonaws.com"],
    "eventName": ["ConsoleLogin"],
    "userIdentity": {
      "type": ["Root"]
    },
    "responseElements": {
      "ConsoleLogin": ["Success"]
    }
  }
}

CleanShot 2026-06-16 at 18.01.23@2x.png

CleanShot 2026-06-16 at 18.02.20@2x.png

CleanShot 2026-06-16 at 18.03.56@2x.png

  1. 名前(例: RootUserLogin-EventBridge)を入力して作成します。

CleanShot 2026-06-16 at 18.06.20@2x.png

動作確認

  1. ルートユーザーで AWS マネジメントコンソールにログインします。

CleanShot 2026-06-16 at 18.07.50@2x.png

  1. ログイン後、SNS に登録したメールアドレスに通知メールが届きます。

CleanShot 2026-06-16 at 18.08.48@2x.png

ルートユーザーログインのたびにメールが届けば設定は成功です。

さいごに

今回は、EventBridge と SNS を使ったルートユーザーログイン通知の設定手順についてご紹介しました。
仕組み自体はシンプルですが、ルートユーザーの利用を確実に検知できるセキュリティの基本対策でした。

この記事が誰かの助けになれば幸いです。

参考

https://repost.aws/knowledge-center/root-user-account-eventbridge-rule
https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-service-event-cloudtrail.html
https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-aws-console-sign-in-events.html


そのCCoE、つくって終わりになっていませんか

ガバナンスのルールも組織ポリシーも、整えた直後はちゃんと機能する。でも運用が属人化すれば、CCoEはいつのまにか形だけに。ベンダー依存から内製へ踏み出すために、中の人として実行まで伴走する。立ち上げと定着の進め方を、無料資料にまとめました。

CCoE総合支援

CCoE立ち上げ資料をダウンロード

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事