- CloudTrailはAWSのすべてのAPI操作を記録し、セキュリティ監査の基盤となるサービス
- マルチリージョン証跡+暗号化+整合性検証が監査対応のベストプラクティス
- CloudWatch・GuardDuty・Security Hubと連携してリアルタイム脅威検知が可能
AWS環境のセキュリティ監査を求められたとき、何から手をつけるべきか迷ったことはありませんか。結論から言うと、CloudTrailの適切な設計と運用がすべてのセキュリティ監査の出発点です。
この記事はAWS完全攻略シリーズの第20回として、CloudTrailを使ったセキュリティ監査の実践テクニックを現場目線で解説します。
- CloudTrailが記録するイベントの種類と監査での活用法
- 証跡設計のベストプラクティス
- ログの暗号化と整合性検証の設定方法
- リアルタイム監視と脅威検知の構築手順
AWS CloudTrailとは?セキュリティ監査における役割
CloudTrailが記録するイベントの種類
CloudTrailは、AWSアカウント内で発生するすべてのAPI呼び出しを記録するサービスです。
記録される情報の例:
- 誰が(IAMユーザー・ロール・AWSサービス)
- いつ(タイムスタンプ)
- 何を(API アクション名)
- どこから(ソースIPアドレス)
- どのリソースに対して(ARN)
- 結果(成功・失敗・エラーコード)
AWS公式ドキュメント「CloudTrail の概念」でもこれらの記録内容が詳しく説明されています。
管理イベント vs データイベント
| イベント種別 | 記録対象 | デフォルト | コスト |
|---|---|---|---|
| 管理イベント | API操作(リソース作成・変更・削除) | 有効 | 無料(最初の証跡) |
| データイベント | S3オブジェクト・Lambda実行 | 無効 | 有料 |
| インサイトイベント | 異常なAPI呼び出しパターン | 無効 | 有料 |
監査要件に応じて、データイベントとインサイトイベントの有効化を検討しましょう。
CloudTrail証跡の設計ベストプラクティス
マルチリージョン証跡の作成
セキュリティ監査では、すべてのリージョンのイベントを記録することが必須です。
aws cloudtrail create-trail \
--name security-audit-trail \
--s3-bucket-name my-cloudtrail-logs \
--is-multi-region-trail \
--enable-log-file-validation \
--kms-key-id arn:aws:kms:ap-northeast-1:123456789:key/xxx
組織証跡によるマルチアカウント一元管理
AWS Organizationsを使っている場合、組織証跡で全アカウントのイベントを一元管理できます。
- 管理アカウントで組織証跡を作成
- メンバーアカウントのイベントも自動的に記録
- ログはセキュリティ専用アカウントのS3バケットに集約
ログ保存用S3バケットのセキュリティ設計
CloudTrailログを保存するS3バケットには、以下のセキュリティ設定が必須です。
- バケットポリシー:CloudTrailサービスからの書き込みのみ許可
- パブリックアクセスブロック:完全に有効化
- バージョニング:有効化(ログの改ざん・誤削除防止)
- ライフサイクルポリシー:Glacier への自動移行(コスト最適化)
- オブジェクトロック:コンプライアンスモードで改ざん防止

ログの暗号化と整合性検証
SSE-KMSによる暗号化設定
CloudTrailログは**SSE-KMS(AWS KMS管理のキー)**で暗号化することが推奨されます。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Allow CloudTrail to encrypt logs",
"Effect": "Allow",
"Principal": {
"Service": "cloudtrail.amazonaws.com"
},
"Action": "kms:GenerateDataKey*",
"Resource": "*"
}
]
}
ログファイル整合性検証の有効化
整合性検証を有効にすると、CloudTrailはログファイルのハッシュダイジェストを定期的に生成します。
# 整合性検証の実行
aws cloudtrail validate-logs \
--trail-arn arn:aws:cloudtrail:ap-northeast-1:123456789:trail/security-audit-trail \
--start-time 2026-03-01T00:00:00Z \
--end-time 2026-03-15T00:00:00Z
これにより、ログファイルが改ざんされていないことを証明できます。
MFA Deleteによる削除防止
S3バケットのバージョニングにMFA Deleteを設定すると、MFA認証なしではログを削除できなくなります。これは監査対応の重要な要件です。
CloudWatch Logsとのリアルタイム監視
メトリクスフィルターの設定例
CloudTrailのイベントをCloudWatch Logsに配信し、リアルタイム監視を設定しましょう。
ルートアカウントの使用検知
{ $.userIdentity.type = "Root" && $.userIdentity.invokedBy NOT EXISTS && $.eventType != "AwsServiceEvent" }
セキュリティグループの変更検知
{ ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
不正ログインの検知アラーム
aws cloudwatch put-metric-alarm \
--alarm-name "ConsoleSignInFailures" \
--metric-name "ConsoleSignInFailureCount" \
--namespace "CloudTrailMetrics" \
--statistic Sum \
--period 300 \
--threshold 3 \
--comparison-operator GreaterThanOrEqualToThreshold \
--evaluation-periods 1 \
--alarm-actions arn:aws:sns:ap-northeast-1:123456789:security-alerts
リソース削除の即時通知
重要リソースの削除を検知するフィルターパターン:
{ ($.eventName = DeleteBucket) || ($.eventName = DeleteDBInstance) || ($.eventName = TerminateInstances) || ($.eventName = DeleteStack) }
IAMセキュリティの基本は「AWS IAMセキュリティガイド」を参照してください。
GuardDuty・Security Hub・Configとの統合
GuardDutyによる脅威検知
GuardDutyはCloudTrailのイベントを自動分析し、以下のような脅威を検知します。
- 不正なAPIコール:通常と異なるリージョンからの操作
- 暗号通貨マイニング:EC2インスタンスの異常な通信
- IAMクレデンシャルの不正使用:漏洩キーの使用検知
Security Hubでのコンプライアンス評価
Security HubはCIS AWS Foundations Benchmarkに基づくコンプライアンスチェックを自動実行します。
主なチェック項目:
- CloudTrailがすべてのリージョンで有効か
- ログの暗号化が設定されているか
- ログファイルの整合性検証が有効か
- S3バケットのパブリックアクセスが制限されているか
AWS Configとの構成変更追跡
AWS Configを併用することで、CloudTrailでは記録しきれないリソースの構成変更履歴も追跡できます。
- セキュリティグループのルール変更履歴
- IAMポリシーの変更前後の差分
- S3バケットポリシーの変更追跡
WAFやShieldとの連携については「AWS WAF/Shieldセキュリティガイド」を、CloudWatch全般は「CloudWatch監視ガイド」をご覧ください。
SES案件で求められるセキュリティ監査スキル
金融・官公庁案件での必須知識
金融業界や官公庁のSES案件では、以下のセキュリティ監査知識が必須です。
- FISC安全対策基準:金融機関向けのIT統制基準
- ISMAP:政府情報システムのクラウドサービス安全性評価
- PCI DSS:クレジットカード情報の保護基準
これらの案件では、CloudTrailの設計・運用経験が即戦力として評価されます。
CloudTrailスキルが単価に与える影響
セキュリティ監査のスキルは、SES案件の単価に大きく影響します。
| スキルレベル | 業務内容 | 想定月単価 |
|---|---|---|
| 基本 | CloudTrail設定・ログ確認 | 55〜65万円 |
| 中級 | セキュリティ設計・監視構築 | 65〜80万円 |
| 上級 | 監査対応・コンプライアンス設計 | 80〜100万円 |
セキュリティエンジニアの案件については「セキュリティエンジニアSES案件ガイド」を参考にしてください。
まとめ:CloudTrailで「監査できるエンジニア」になる
CloudTrailを使ったセキュリティ監査のポイントをまとめます。
- 証跡設計:マルチリージョン+暗号化+整合性検証が基本
- リアルタイム監視:CloudWatch連携で即時アラート
- 脅威検知:GuardDuty・Security Hubとの統合で自動化
- コンプライアンス:CIS Benchmark準拠でレポート自動生成
「セキュリティ監査ができるエンジニア」は希少価値が高く、SES案件でも高単価帯のポジションを獲得しやすくなります。CloudTrailをマスターして、キャリアの選択肢を広げましょう。
SES BASEでセキュリティ案件を探す
AWS・セキュリティ監査の経験を活かせるSES案件をSES BASEで検索してみてください。