概要
AWSマネジメントコンソールのサインインはイベントとして特定のリージョンに配信されます。
詳しくは以下の記事を参照してください。
EventBridgeでの監視メリット
サインイン失敗を監視する方法として、CloudTrail から CloudWatch Logs にイベントを転送し、メトリクスフィルターとアラームを使って通知を設定する方法もありますが、EventBridge を使用することで以下のメリットがあります。
即時通知が可能
EventBridge は CloudTrail のイベントを直接受け取り、リアルタイムで処理できます。CloudWatch Logs への転送やログの保存を待つ必要がないため、サインイン失敗の検知から通知までの遅延を最小限に抑えることができます。
特に、短時間で複数回のサインイン失敗が発生した場合など、迅速な対応が必要なセキュリティインシデントの検知において、即時性は重要な要素です。
設定がシンプル
EventBridge での監視設定は、イベントルールとターゲット(SNS トピックなど)を設定するだけで完了します。CloudWatch Logs への転送設定、メトリクスフィルターの作成、アラームの設定など、複数のステップが必要な方法と比較して、設定がシンプルで管理しやすくなります。
コスト効率
EventBridge を使用する場合、CloudWatch Logs へのログ転送や保存にかかるコストが発生しません。イベントルールの実行回数に応じた料金のみが発生するため、特に大量のログを扱う場合にはコスト削減につながります。
EventBridgeの監視設定
EventBridgeを使いログインイベントが発生した時、即時アクションを実行する方法を以下の構成で構築します。

SNSトピックの作成
EventBridgeのターゲットとなる、SNSトピックです。
今回は検証ということでスタンダードで作成します。


イベントルールの作成
ログインイベントをフィルターするためのルールを作成します。
トリガーイベントで、AWS Console Sign in Via CloudTrailを選択してください。

イベントパターンは以下の通りで、マネジメントコンソールのサインイン失敗をフィルターしています。
{
"source": ["aws.signin"],
"detail-type": ["AWS Console Sign In via CloudTrail"],
"detail": {
"eventSource": ["signin.amazonaws.com"],
"eventName": ["ConsoleLogin"],
"responseElements": {
"ConsoleLogin": ["Failure"]
}
}
}
ターゲットには先ほど作成したSNSトピックを指定して作成します。


Slackへの通知
SNS以降の通知は本筋とは外れますが確認のために設定をします。
Amazon Q Developer in chat applications (旧称: AWS Chatbot)を使ってSlackに通知を送信します。
クライアントの設定でSlackを選択し設定を開始します。

Slack側の許可画面が出るので、権限を確認し許可します。

作成後、チャンネル設定を行います。

プライベートチャンネルに通知する場合は、チャネルIDを入力してください。

チャネル用のロールは画面から作成できます。

作成完了。

確認
IAMユーザでサインインを試行します。
この時のURLは以下の通りで、ap-southeast-2(シドニー)からサインインされます。

確認のために誤った認証情報を入力しサインインを実行し失敗します。

Slack側にメッセージ着信。

試験での出題ポイント
CloudTrail から CloudWatch にイベントを記録して、アラームを設定する方法もありますが、即時通知であれば EventBridge での通知がシンプルです。
問題文の要件を確認し、適切な方法を選択しましょう。


コメント