説明
CloudTrailログを保存するS3バケットのサーバーアクセスログは、そのバケットへの要求を調査するのに役立ちます。必要なアクセス記録がなければ、ログファイルへのアクセスや運用上の問題を後から調査しにくくなります。
S3サーバーアクセスログは、証跡によるイベント記録やCloudTrailデータイベントとは別の機能です。ベストエフォートで配信され、遅延や欠落があり得るため、すべての要求の完全な記録として扱わないでください。
想定される影響
- ログファイルを保存するバケットへのアクセスを調べる資料が不足する可能性があります。
- 必要な保存期間や調査範囲を満たせない場合があります。
対処方法
LoggingConfigurationで必要なサーバーアクセスログを収集してください。S3を宛先にする場合は、同じアカウント・リージョンの別バケットとログ配信権限を用意し、アクセス制限と保存期間を管理してください。実際の配信とCloudTrailのイベント収集範囲を個別に確認してください。
例
バケット設定のみの抜粋です。CloudTrailの証跡と対応するバケットポリシーは含みません。AccessLogBucketNameに実際の保存先バケット名を渡し、ログ配信サービスの権限を別途設定してください。
変更前
yaml
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
このバケットにはサーバーアクセスログの宛先がありません。これだけでCloudTrailの証跡による記録が停止しているという意味にはなりません。
変更後
yaml
Resources:
MyBucket:
Type: AWS::S3::Bucket
Properties:
VersioningConfiguration:
Status: Enabled
LoggingConfiguration:
DestinationBucketName: !Ref AccessLogBucketName
LogFilePrefix: loga/
別のS3バケットにサーバーアクセスログを送ります。バージョニングは要求の記録を代替せず、ログ配信には遅延があり得ます。