AWS CloudTrail で実現する API 監査ログ - 証跡の設計とセキュリティ分析

全 API アクティビティを記録し、CloudTrail Lake の SQL クエリで高度な分析を実行する。Insights による異常パターンの自動検出と EventBridge 連携のリアルタイム検出を紹介します。

CloudTrail の概要

CloudTrail は AWS アカウントの API アクティビティを記録するサービスです。EC2 インスタンスの起動、S3 バケットの作成、IAM ポリシーの変更など、あらゆる API コールが記録されます。デフォルトで過去 90 日間のマネジメントイベントが無料で閲覧でき、証跡を作成すると S3 バケットに無期限で保存されます。

証跡設計と CloudTrail Lake

証跡は全リージョンに適用する組織証跡が推奨です。S3 バケットに JSON 形式でイベントが保存され、SSE-KMS で暗号化します。CloudTrail Lake はイベントデータストアに最大 7 年間イベントを保持し、SQL クエリで検索・分析できます。「過去 30 日間に IAM ユーザーを作成したイベント」「特定の IP アドレスからの API コール」などのクエリを即座に実行できます。Insights は ML で API コールのベースラインを学習し、異常なパターン (通常の 10 倍の API コール) を検出します。

データイベントとインサイト

データイベントは S3 オブジェクトレベルの操作 (GetObject 、 PutObject)、 Lambda 関数の呼び出し、 DynamoDB のテーブル操作を記録します。管理イベントと比較してイベント量が大幅に多いため、対象リソースを絞り込んで有効化します。 CloudTrail Insights は管理イベントの異常パターン (API コール数の急増、エラー率の上昇) を自動検出し、通常とは異なるアクティビティをハイライトします。例えば、通常 1 日 10 回程度の RunInstances が突然 1,000 回呼び出された場合にインサイトイベントが生成されます。 EventBridge との統合で、特定の API コール (DeleteBucket 、 StopLogging) をリアルタイムに検出して Lambda でアラートを発行できます。 CloudTrail の基礎から応用まで、書籍 (Amazon)で体系的に学べます。

CloudTrail の料金最適化

管理イベントの最初の証跡は無料で、追加の証跡は 100,000 イベントあたり約 2 ドルです。データイベントは 100,000 イベントあたり約 0.10 ドルで、S3 の読み取り操作が多い環境ではコストが急増します。CloudTrail Lake のクエリは スキャンしたデータ量で課金され、1 GB あたり約 0.005 ドルです。データイベントの対象を機密性の高いバケットや重要な Lambda 関数に限定し、全リソースへの一律適用を避けることでコストを管理します。S3 に保存されたログの保持期間をライフサイクルルールで管理し、古いログを Glacier に移行してストレージコストを削減します。

まとめ

CloudTrail は AWS アカウントの全 API アクティビティを記録する監査ログサービスです。CloudTrail Lake で SQL クエリによる高度な分析を実行し、Insights で異常な API コールパターンを自動検出します。組織証跡で全アカウントのログを一元管理し、EventBridge 連携でセキュリティイベントのリアルタイム検出を実現します。