S3 の サーバーアクセスログで、ログに記録されていないアクセスが発見されました。なぜでしょうか?

2021.09.27

困っていた内容

S3 で サーバーアクセスログを有効にしています。監査のため実際のアクセスと突き合わせを行ったところ、記録されていないアクセスがあることが発覚しました。証跡となるため漏れがあると非常に困るのですが、何か設定が拙いのでしょうか。それとも AWS の障害でしょうか。

どう対応すればいいの?

CloudTrail データイベントをご使用ください。

サーバーアクセスログの目的は、バケットに対するトラフィック特性を理解するためであり、完全性は保証されていません。

サーバーアクセスログを使用したリクエストのログ記録 - Amazon Simple Storage Service

サーバーログの完全性や適時性は保証されません。リクエストのログレコードが、リクエストが実際に処理されてからかなり後に配信されたり、配信すらされないこともあり得ます。サーバーログの目的は、バケットに対するトラフィックの特性を理解することです。ログレコードが失われることはまれですが、すべてのリクエストが完全に報告されるとは限りません。

そのため、漏れなく全てのアクセスが記録されている必要がある場合は、CloudTrail の データイベントのご利用をご検討ください。なお、データイベントはデフォルトでは収集されないため、有効にする必要があります。

サーバーアクセスログとデータイベントは、料金や記録される内容等々に違いがあるため、ご要件にあわせて選択いただくことを推奨します。

CloudTrail S3オブジェクトレベルログ、S3サーバーアクセスログ、どちらを使えば良いか?違いをまとめてみた | DevelopersIO

参考資料