エンタメ系企業の社内もろもろを担当しているakibinです。
最近はハマっているSummer FeelingsのPVがシティ・ポップぽくていい感じ。あー遊びに行きたいよ早くワクチン打たせてくれ!(年代バレる)
やりたいこと
IAM関連の操作がされた場合にメール通知してほしいと思いました。
IAM関連の作業はセキュリティインシデントに直結しますが、複数人で管理者やってる場合や、SDKの作業でどうしても開発者がIAMロールいじらないといけない場合など、念の為どんな作業してるか把握するためです。
これを実現するのにCloudTrailの証跡を作成する必要があり、証跡はS3に保存されるので、S3への保存費用が発生します。
作業の流れ
- CloudTrailに証跡を作成
- それ用のCloudWatchLogsも同時に作成
- CloudWatchLogsでメトリクスフィルターを設定
- 作成したメトリクスフィルターにアラートを設定
前提条件
Amazon SNSでメール通知用の設定がされている前提です。設定したことが無い方は以下の記事がわかりやすいので参照して作成してください。
[基本操作]Amazon SNSでメールを送信する
CloudTrailに証跡を作成(それ用のCloudWatchLogsも同時に作成)
- CloudTrail > [証跡] > [証跡の作成]をクリック
- [全般的な詳細]を入力
- CloudWatch Logsにチェック
- 次に進んで、[ログイベントを選択]
- 次に進んで、[確認と作成]で内容を確認して[証跡を作成]
CloudWatckLogsでメトリクスフィルターを設定
- 先程CloudTrailで作成したロググループを開き、[メトリクスフィルター]から[メトリクスフィルターを作成]をクリック
- [パターン定義]のフィルターパターンに
{ $.eventSource = "iam.amazonaws.com" }
を入力して[Next]
- [メトリクスの割り当て]で各項目を入力して[Next]
- 設定内容を確認して[メトリクスフィルターを作成]
作成したメトリクスフィルターにアラートを設定
-
デフォルト以外は以下を設定して[次へ]
-
プレビューを確認、問題なければ[アラームの作成]
動作確認
おまけ?
ちなみに、CloudCloudWatchEventsでもCloudTrailと連携してEC2関連のイベントとかの通知が可能なようですが、サービス名にIAMを選択できなかったので、IAM関連はいけないっぽい?なので、今回はCloudWatchLogsと連携で設定しました。もしEventsでも可能という方、教えてください!