

# Amazon S3 のログ記録オプション
<a name="logging-with-S3"></a>

ユーザー、ロール、または AWS のサービス よって実行されたアクションを Amazon S3 リソースに記録し、監査およびコンプライアンス目的でログレコードを管理することができます。これを行うには、サーバーアクセスのログ記録、AWS CloudTrail ログ記録、またはその両方を組み合わせて使用します。Amazon S3 リソースのバケットレベルおよびオブジェクトレベルのアクションをログ記録するには、CloudTrail を使用することをお勧めします。以下のセクションに各オプションの詳細を示します。
+ [サーバーアクセスログによるリクエストのログ記録](ServerLogs.md)
+ [AWS CloudTrail を使用した Amazon S3 API コールのログ記録](cloudtrail-logging.md)

Amazon S3 は、サーバーアクセスログの 2 つの配信パス (Amazon S3 汎用バケットへの直接配信と、Amazon CloudWatch Logs への配信) を提供しています。次の表の一部の機能は、注意書きのとおり、Amazon CloudWatch Logs 配信パスを通じた場合にのみサーバーアクセスログに適用されます。

CloudTrail ログおよび Amazon S3 サーバーアクセスログの主なプロパティを次の表に示します。テーブルとメモを確認し、CloudTrail がセキュリティ要件を満たしていることを確認してください。


| ログのプロパティ | AWS CloudTrail | Amazon S3 サーバーログ | 
| --- |--- |--- |
| 他のシステム (Amazon CloudWatch Logs、Amazon CloudWatch Events) に転送可能 | 可能 | はい | 
| ログを複数の宛先に配信する (例えば、同じログを 2 つの異なるバケットに送信する) | はい | あり 3 | 
| オブジェクトのサブセット (プレフィックス) のログを有効にする | はい | No | 
| クロスアカウントログ配信 (異なるアカウントが所有するターゲットバケットとソースバケット) | はい | あり 3 | 
| デジタル署名またはハッシュを使用したログファイルの整合性の検証 | はい | No | 
| ログファイルの暗号化 (デフォルトまたはカスタム) | はい | あり 3 | 
| オブジェクトオペレーション (Amazon S3 API を使用) | 可能 | はい | 
| バケットオペレーション (Amazon S3 API を使用) | 可能 | はい | 
| ログの検索可能な UI | はい | あり 3 | 
| オブジェクトロックパラメータのフィールド。ログ記録用の Amazon S3 Select プロパティ | はい | No | 
| ログレコードの `Object Size`、`Total Time`、`Turn-Around Time`、`HTTP Referer` の各フィールド | いいえ | はい | 
| ライフサイクルの移行、失効、復元 | いいえ | はい | 
| バッチ削除オペレーションでのキーのログ記録 | 可能 | はい | 
| 認証の失敗 1 | いいえ | はい | 
| ログが配信されるアカウント | バケット所有者 2、リクエスタ | バケット所有者、および Amazon CloudWatch Logs 配信の他のアカウント | 
| **Performance and Cost** | **AWS CloudTrail** | **Amazon S3 Server Logs** | 
| --- |--- |--- |
| 価格 | 管理イベント (初回配信) は無料です。データイベントには料金がかかります (ログの保存は別料金)。 | ログの保存以外に、Amazon S3 バケット配信のコストはかかりません。Amazon CloudWatch Logs 配信には CloudWatch のログ料金が適用されます。3 | 
| ログ配信の速度 | データイベント (5 分ごと)、管理イベント (15 分ごと) | 数時間以内 | 
| ログの形式 | JSON | Amazon S3 バケットに配信するためのスペース区切りテキストレコード。Amazon CloudWatch Logs に配信するための構造化 JSON。3 | 

**注意事項**

1. CloudTrail では、認証に失敗したリクエスト (提供された認証情報が有効でない場合) またはリダイレクトが原因で失敗したリクエスト (エラーコード `301 Moved Permanently`) のログは配信されません。ただし、承認に失敗したリクエスト (`AccessDenied`) および匿名ユーザーによるリクエストのログは含まれます。

1. リクエスト内のオブジェクトへのフルアクセス権がそのアカウントに付与されていない場合、S3 バケット所有者に CloudTrail ログが送信されます。詳細については、「[クロスアカウントのシナリオでの Amazon S3 オブジェクトレベルのアクション](cloudtrail-logging-s3-info.md#cloudtrail-object-level-crossaccount)」を参照してください。

1. Amazon S3 バケットへの直接配信に加えて、Amazon S3 サーバーアクセスログを Amazon CloudWatch Logs に配信することもできます。この配信パスを使用すると、他の宛先への転送、複数の宛先への配信、クロスアカウントおよびクロスリージョン集約、AWS KMS 暗号化、CloudWatch Logs Insights を使用したインタラクティブクエリなどの追加機能を利用できます。これらのログを、SQL 分析用に Apache Iceberg 形式で Amazon S3 Tables に配信することもできます。詳細については、「[サーバーアクセスログによるリクエストのログ記録](ServerLogs.md)」を参照してください。

1. S3 は、VPC エンドポイントポリシーで拒否されている場合、または VPC ポリシーが評価される前にリクエストが失敗した場合、VPC エンドポイントリクエストの CloudTrail ログまたはサーバーアクセスログのリクエスタまたはバケット所有者への配信をサポートしません。