AWS CloudTrail 入門
AWSを利用する上で、セキュリティとガバナンスの要となるのが AWS CloudTrail です。 「誰が」「いつ」「どのリソースに対して」「何をしたか」をすべて記録します。
CloudTrail とは?
CloudTrailは、AWSアカウントに対するAPI呼び出しを記録するサービスです。 マネジメントコンソールでの操作、AWS CLIでのコマンド実行、SDKを使ったプログラムからの操作など、ほとんどすべてのアクションがログとして残ります。
なぜ CloudTrail が必要なのか?
- セキュリティ調査: 不審な操作があった場合、誰がやったのかを特定できます。
- コンプライアンス: 「ログを保存していること」自体が多くの監査要件(GDPR, SOX, HIPAAなど)で求められます。
- トラブルシューティング: 「昨日まで動いていたのに動かなくなった」場合、誰かが設定を変更した履歴を追えます。
CloudTrail の基本概念
1. イベントの種類
CloudTrailが記録するログ(イベント)には主に3つの種類があります。
| イベント種類 | 説明 | 課金 |
|---|---|---|
| 管理イベント (Management Events) | 「リソースの作成・変更・削除」などの管理操作。 例: RunInstances (EC2起動), CreateBucket (S3作成), AttachUserPolicy (権限付与) | 最初の1コピーは無料 |
| データイベント (Data Events) | リソース「内」でのデータ操作。頻度が高いためデフォルトOFF。 例: S3の GetObject, Lambdaの Invoke, DynamoDBの PutItem | 有料 |
| Insights イベント (Insights Events) | 通常のAPI利用パターンから逸脱した異常なアクティビティ。 例: APIエラーの急増、リソース作成数のスパイク | 有料 |
2. 証跡 (Trail)
ログを継続的にS3バケットやCloudWatch Logsに配信するための設定です。 現在は、証跡を作成しなくても過去90日間の管理イベントは「イベント履歴」から確認できますが、90日以上の保存や分析を行うには証跡の作成(またはCloudTrail Lakeの利用)が必須です。
ベストプラクティス構成
マルチアカウント環境 (AWS Organizations) の場合
AWS Organizationsを使用している場合、「組織の証跡 (Organization Trail)」 を管理アカウント(または委任された管理者)で作成することを強く推奨します。
- メリット: 全メンバーアカウントのログを1つのS3バケットに集約できます。
- セキュリティ: メンバーアカウントの管理者は、勝手にログ記録を停止できません。
シングルアカウントの場合
「マルチリージョン証跡」を有効にし、すべてのリージョンのログを取得するように設定しましょう。普段使っていないリージョンでの不正利用に気づくために重要です。
次のステップ
ログをただ貯めるだけでは意味がありません。実際にデータを分析し、セキュリティを強化する方法を学びましょう。
- 実践: CloudTrail Lake と AI分析
- 自然言語でログを検索する方法や、CloudTrail Lakeの使い方。
- 高度な活用: セキュリティとコンプライアンス
- ファイル改ざん検知、Insightsによる異常検知、SIEM連携。