AWS User Notifications のログイン通知にはCloudTrailの証跡が必要だった

に公開

AWS User Notificationsで設定しても通知が来なかった

AWS User Notificationsでログイン通知を設定しようとしてハマった所を紹介します。
AWS User Notificationsは通知設定を簡単に設定できます。私はこちらの記事、AWS User Notificationsでマネジメントコンソールへのサインインを通知するを参考にして設定しました。
メールの承認もきちんと届いていましたが、実際にログインしても設定した通知が届きませんでした。

CloudTrailの証跡(Trail)の設定が必要

結論からいうと、CloudTrailの証跡を設定していなかったからでした。
S3バケットを用意してCloudTrailの証跡(Trail)を設定することで、ログイン通知が来るようになりました。
CloudTrailの証跡の設定方法はこちらを参照(CloudTrail コンソールで証跡を作成する)

なぜCloudTrailが必要なのか?

AWS User Notificationsの仕組み

user notificationsの仕組み
画像は公式サイトから拝借

AWS User Notificationsは設定すると指定した各リージョンにEventBridgeがのルールが設定されます。

EventBridgeがサインインイベントはCloudTrailの証跡が必須

サインインイベントを通知したい場合は、その挙動は公式ドキュメントを見るとCloudTrailの管理イベントの証跡が必須でした。

AWS Management Console サインインイベント を配信する AWS Console Sign In via CloudTrail 詳細イベントを選択します。詳細タイプの値が AWS Console Sign In via CloudTrail であるイベントを記録するには、管理イベントのログ記録を現在行っている証跡が必要です。

CloudTrail と Amazon EventBridge の統合

Discussion