

# AWS CloudTrail を使用した Amazon S3 API コールのログ記録
<a name="cloudtrail-logging"></a>

[AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) は、ユーザーやロール、AWS のサービスによって実行されたアクションを記録するサービスです。CloudTrail は、Amazon S3 へのすべての API コールをイベントとしてキャプチャします。キャプチャされた呼び出しには、Amazon S3 コンソールからの呼び出しと、Amazon S3 API オペレーションへのコード呼び出しが含まれます。CloudTrail で収集された情報を使用して、Amazon S3 に対するリクエスト、リクエスト元の IP アドレス、リクエストの作成日時、その他の詳細を確認できます。

各イベントまたはログエントリには、リクエストの生成者に関する情報が含まれます。アイデンティティ情報は、以下を判別するのに役立ちます。
+ ルートユーザーまたはユーザー認証情報のどちらを使用してリクエストが送信されたか。
+ リクエストが IAM Identity Center ユーザーに代わって行われたかどうか。
+ リクエストがロールまたはフェデレーションユーザーのテンポラリなセキュリティ認証情報を使用して行われたかどうか。
+ リクエストが、別の AWS のサービス によって送信されたかどうか。

アカウントを作成すると、AWS アカウント で CloudTrail がアクティブになり、自動的に CloudTrail の**[イベント履歴]** にアクセスできるようになります。CloudTrail の **[イベント履歴]** では、AWS リージョン で過去 90 日間に記録された管理イベントの表示、検索、およびダウンロードが可能で、変更不可能な記録を確認できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[CloudTrail イベント履歴の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)」を参照してください。**[イベント履歴]** の閲覧には CloudTrail の料金はかかりません。

AWS アカウント で過去 90 日間のイベントを継続的に記録するには、証跡または [CloudTrail Lake](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html) イベントデータストアを作成します。

**CloudTrail 証跡**  
*証跡*により、CloudTrail はログファイルを Amazon S3 バケットに配信できます。AWS マネジメントコンソール を使用して作成した証跡はマルチリージョンです。AWS CLI を使用する際は、単一リージョンまたは複数リージョンの証跡を作成できます。アカウント内のすべて AWS リージョン でアクティビティを把握するため、マルチリージョン証跡を作成することをお勧めします。単一リージョンの証跡を作成する場合、証跡の AWS リージョン に記録されたイベントのみを表示できます。証跡の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS アカウントの証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)」および「[組織の証跡の作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/creating-trail-organization.html)」を参照してください。  
証跡を作成すると、進行中の管理イベントのコピーを 1 つ無料で CloudTrail から Amazon S3 バケットに配信できますが、Amazon S3 ストレージには料金がかかります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。Amazon S3 の料金に関する詳細については、「[Amazon S3 の料金](https://aws.amazon.com/s3/pricing/)」を参照してください。

**CloudTrail Lake イベントデータストア**  
*[CloudTrail Lake]* を使用すると、イベントに対して SQL ベースのクエリを実行できます。CloudTrail Lake は、行ベースの JSON 形式の既存のイベントを [Apache ORC](https://orc.apache.org/) 形式に変換します。ORC は、データを高速に取得するために最適化された単票ストレージ形式です。イベントは、*イベントデータストア*に集約されます。イベントデータストアは、[高度なイベントセレクタ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-concepts.html#adv-event-selectors)を適用することによって選択する条件に基づいた、イベントのイミュータブルなコレクションです。どのイベントが存続し、クエリに使用できるかは、イベントデータストアに適用するセレクタが制御します。CloudTrail Lake の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS CloudTrail Lake の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake.html)」を参照してください。  
CloudTrail Lake のイベントデータストアとクエリにはコストがかかります。イベントデータストアを作成する際に、イベントデータストアに使用する[料金オプション](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-lake-manage-costs.html#cloudtrail-lake-manage-costs-pricing-option)を選択します。料金オプションによって、イベントの取り込みと保存にかかる料金、および、そのイベントデータストアのデフォルトと最長の保持期間が決まります。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

必要な場合はログファイルを自身のバケットに保管できますが、ログファイルを自動的にアーカイブまたは削除するにように Amazon S3 ライフサイクルルールを定義することもできます。デフォルトでは Amazon S3 のサーバー側の暗号化 (SSE) を使用して、ログファイルが暗号化されます。

## CloudTrail ログを Amazon S3 サーバーアクセスログと CloudWatch Logs と併用する
<a name="cloudtrail-logging-vs-server-logs"></a>

AWS CloudTrail ログは、Amazon S3 のユーザー、ロール、または AWS のサービスによって実行されたアクションの記録を提供するのに対し、Amazon S3 サーバーアクセスログは、S3 バケットに対して行われたリクエストの詳細な記録を提供します。ログ別の機能とプロパティ、パフォーマンス、コストの詳細については、[Amazon S3 のログ記録オプション](logging-with-S3.md) を参照してください。

AWS CloudTrail ログは、Amazon S3 のサーバーアクセスログと一緒に使用できます。CloudTrail ログを使用すると、Amazon S3 バケットレベルおよびオブジェクトレベルのオペレーションの詳細な API トラッキングが提供されます。Amazon S3 のサーバーアクセスログでは、Amazon S3 内のオブジェクトレベルのデータオペレーションが可視化されます。サーバーアクセスログの詳細については、[サーバーアクセスログによるリクエストのログ記録](ServerLogs.md) を参照してください。

CloudTrail ログは、Amazon S3 の Amazon CloudWatch と一緒に使用することもできます。CloudTrail を CloudWatch Logs と統合すると、CloudTrail が取得した S3 バケットレベル API アクティビティが、指定した CloudWatch ロググループの CloudWatch ログストリームに送られます。特定の API アクティビティをモニタリングする CloudWatch アラームを作成し、その API アクティビティが発生した時に電子メールの通知を受け取ることができます。特定の API アクティビティをモニタリングするための CloudWatch アラームの詳細については、[AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)を参照してください。Amazon S3 と CloudWatch の併用の詳細については、[Amazon CloudWatch によるメトリクスのモニタリング](cloudwatch-monitoring.md) を参照してください。

**注記**  
S3 は、VPC エンドポイントポリシーで拒否されている場合、VPC エンドポイントリクエストのリクエスタまたはバケット所有者への CloudTrail ログの配信をサポートしません。

## Amazon S3 SOAP API コールを使用した CloudTrail トラッキング
<a name="cloudtrail-s3-soap"></a>

CloudTrail は、Amazon S3 SOAP API コールを追跡します。Amazon S3 SOAP のサポートは HTTP 経由で非推奨ですが、HTTPS 経由では引き続き利用可能です。Amazon S3 SOAP サポートの詳細については、「Amazon S3 API リファレンス」の「[Appendix: SOAP API](https://docs.aws.amazon.com/AmazonS3/latest/API/APISoap.html)」を参照してください。**

**重要**  
新しい Amazon S3 機能は、SOAP ではサポートされません。REST API か AWS SDK を使用することをお勧めします。

 次の表は、CloudTrail のログ記録によって追跡される Amazon S3 SOAP アクションを示しています。


| SOAP API 名 | CloudTrail ログで使用される API イベント名 | 
| --- | --- | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPListAllMyBuckets.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPListAllMyBuckets.html)  | ListBuckets | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPCreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPCreateBucket.html)  | CreateBucket | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPDeleteBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPDeleteBucket.html)  | DeleteBucket | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPGetBucketAccessControlPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPGetBucketAccessControlPolicy.html)  | GetBucketAcl | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPSetBucketAccessControlPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPSetBucketAccessControlPolicy.html)  | PutBucketAcl | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPGetBucketLoggingStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPGetBucketLoggingStatus.html)  | GetBucketLogging | 
|  [https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPSetBucketLoggingStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/SOAPSetBucketLoggingStatus.html)  | PutBucketLogging | 

 CloudTrail と Amazon S3 の詳細については、以下のトピックを参照してください。

**Topics**
+ [CloudTrail ログを Amazon S3 サーバーアクセスログと CloudWatch Logs と併用する](#cloudtrail-logging-vs-server-logs)
+ [Amazon S3 SOAP API コールを使用した CloudTrail トラッキング](#cloudtrail-s3-soap)
+ [Amazon S3 CloudTrail イベント](cloudtrail-logging-s3-info.md)
+ [Simple Storage Service (Amazon S3) と S3 on Outposts の CloudTrail ログファイルエントリ](cloudtrail-logging-understanding-s3-entries.md)
+ [S3 バケットとオブジェクトの CloudTrail イベントログ記録の有効化](enable-cloudtrail-logging-for-s3.md)
+ [CloudTrail を使用した Amazon S3 リクエストの識別](cloudtrail-request-identification.md)

# Amazon S3 CloudTrail イベント
<a name="cloudtrail-logging-s3-info"></a>

**重要**  
Amazon S3 では、Amazon S3 内のすべてのバケットの基本レベルの暗号化として、Amazon S3 が管理するキー (SSE-S3) によるサーバー側の暗号化が適用されるようになりました。2023 年 1 月 5 日以降、Amazon S3 にアップロードされるすべての新しいオブジェクトは、追加費用なしで、パフォーマンスに影響を与えずに自動的に暗号化されます。S3 バケットのデフォルト暗号化設定と新しいオブジェクトのアップロードのための自動暗号化ステータスは、CloudTrail ログ、S3 インベントリ、S3 ストレージレンズ、Amazon S3 コンソール、および AWS CLI と AWS SDK の追加の Amazon S3 API レスポンスヘッダーとして利用できるようになりました。詳細については、「[デフォルト暗号化に関するよくある質問](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)」を参照してください。

このセクションでは、S3 が CloudTrail に記録するイベントについて説明します。

## CloudTrail の Amazon S3 データイベント
<a name="cloudtrail-data-events"></a>

[データイベント](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events)では、リソース上またはリソース内で実行されるリソースオペレーション (Amazon S3 オブジェクトの読み取りまたは書き込みなど) についての情報が得られます。これらのイベントは、データプレーンオペレーションとも呼ばれます。データイベントは、多くの場合、高ボリュームのアクティビティです。デフォルトでは、CloudTrail はデータイベントをログ記録しません。CloudTrail **[イベント履歴]** にはデータイベントは記録されません。

追加の変更がイベントデータに適用されます。CloudTrail の料金の詳細については、「[AWS CloudTrail の料金](https://aws.amazon.com/cloudtrail/pricing/)」を参照してください。

CloudTrail コンソール、AWS CLI、または CloudTrail API オペレーションを使用して、Amazon S3 リソースタイプのデータイベントをログ記録できます。データイベントをログに記録する方法の詳細については、「*AWS CloudTrail ユーザーガイド*」の「[AWS マネジメントコンソール を使用したデータイベントのログ記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console)」および「[AWS Command Line Interface を使用したデータイベントのログ記録](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#creating-data-event-selectors-with-the-AWS-CLI)」を参照してください。

次の表に、データイベントをログに記録できる Amazon S3 リソースタイプを示します。**データイベントタイプ (コンソール)** 列には、CloudTrail コンソールの**[データイベントタイプ]**リストから選択する値が表示されます。**resources.type 値**列には、AWS CLI または CloudTrail API を使用して高度なイベントセレクタを設定するときに指定する `resources.type` 値が表示されます。**CloudTrail に記録されたデータ API** 列には、リソースタイプの CloudTrail にログ記録された API コールが表示されます。




| データイベントタイプ (コンソール) | resources.type 値 | CloudTrail にログ記録されたデータ API | 
| --- | --- | --- | 
| S3  |  AWS::S3::Object  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)  | 
| S3 Express One Zone |  AWS::S3Express::Object  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)  | 
| S3 アクセスポイント |  AWS::S3::Access Point  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)  | 
| S3 Object Lambda |  AWS::S3ObjectLambda::AccessPoint  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)  | 
| S3 Outposts |  AWS::S3Outposts::Object  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/cloudtrail-logging-s3-info.html)  | 

`eventName`、`readOnly`、および `resources.ARN` フィールドでフィルタリングして、自分にとって重要なイベントのみをログに記録するように高度なイベントセレクタを設定できます。オブジェクトの詳細については、「*AWS CloudTrail API リファレンス*」の「[https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html)」を参照してください。

## CloudTrail の Amazon S3 管理イベント
<a name="cloudtrail-management-events"></a>

Amazon S3 は、すべてのコントロールプレーンオペレーションを管理イベントとして記録します。S3 API オペレーションの詳細については、「[Amazon S3 API Reference](https://docs.aws.amazon.com/AmazonS3/latest/API/API_Operations.html)」を参照してください。

## CloudTrail が Amazon S3 に対して行われたリクエストをキャプチャする方法
<a name="cloudtrail-logging-s3-requests"></a>

デフォルトでは、CloudTrail は過去 90 日間の S3 バケットレベルの API コールをログに記録しますが、オブジェクトに対して行われたログリクエストは記録しません。バケットレベルの呼び出しには `CreateBucket`、`DeleteBucket`、`PutBucketLifecycle`、`PutBucketPolicy` などのイベントが含まれます。バケットレベルのイベントは CloudTrail コンソールで確認できますが、そこでデータイベント (Amazon S3 オブジェクトレベルのコール) を確認することはできません。それらについて CloudTrail ログを解析またはクエリする必要があります。

AWS CloudTrail でデータアクティビティをログに記録する場合、Amazon S3 `DeleteObjects` データイベントのイベントレコードには、そのオペレーションの一部として削除された各オブジェクトの `DeleteObjects` イベントと `DeleteObject` イベントの両方が含まれます。削除されたオブジェクトに関する追加の可視性をイベントレコードから除外できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[データイベントのフィルタリングの AWS CLI の例](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/filtering-data-events.html#filtering-data-events-deleteobjects)」を参照してください。

## CloudTrail ロギングによって追跡される Amazon S3 アカウントレベルのアクション
<a name="cloudtrail-account-level-tracking"></a>

CloudTrail はアカウントレベルのアクションを記録します。Amazon S3 レコードは、他の AWS のサービス のレコードと一緒にログファイルに記録されます。CloudTrail は、期間とファイルサイズに基づいて、新しいファイルをいつ作成して書き込むかを決定します。

このセクションでは、CloudTrail によるログ記録でサポートされている Amazon S3 アカウントレベルのアクションの一覧を示します。

CloudTrail のログ記録によって追跡される Amazon S3 アカウントレベルの API アクションは、以下のイベント名で表示されます。CloudTrail イベント名は API アクション名とは異なります。例えば、DeletePublicAccessBlock は DeleteAccountPublicAccessBlock です。
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_DeletePublicAccessBlock.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_GetPublicAccessBlock.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_PutPublicAccessBlock.html)

## CloudTrail ログ記録によって追跡される Amazon S3 バケットレベルのアクション
<a name="cloudtrail-bucket-level-tracking"></a>

デフォルトでは、CloudTrail はバケットレベルのアクションをログに記録します。Amazon S3 レコードは、他の AWS のサービスレコードと一緒にログファイルに記録されます。CloudTrail は、期間とファイルサイズに基づいて、新しいファイルをいつ作成して書き込むかを決定します。

このセクションには、CloudTrail によるログ記録でサポートされている Amazon S3 バケットレベルのアクションの一覧が記載されています。

CloudTrail のログ記録によって追跡される Amazon S3 バケットレベルの API アクションは、以下のイベント名で表示されます。CloudTrail イベント名が API アクション名と異なる場合があります。たとえば、`PutBucketLifecycleConfiguration` は `PutBucketLifecycle` です。
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataConfiguration.html) (V2 API オペレーション)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketMetadataTableConfiguration.html) (V1 API オペレーション)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataConfiguration.html) (V2 API オペレーション)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html) (V1 API オペレーション)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketOwnershipControls.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAcl.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLocation.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataConfiguration.html) (V2 API オペレーション)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html) (V1 API オペレーション)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotification.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotification.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketOwnershipControls.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAcl.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectLockConfiguration.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketOwnershipControls.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketRequestPayment.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketRequestPayment.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguratione.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguratione.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html)

これらの API オペレーションに加えて、[OPTIONS オブジェクト](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html)のオブジェクトレベルのアクションを使用することもできます。このアクションは、バケットの CORS 設定を確認するため、CloudTrail ログ記録のバケットレベルアクションと同様に扱われます。

**注記**  
HeadBucket API は、CloudTrail の Amazon S3 データイベントとしてサポートされています。

## CloudTrail ログ記録が追跡する Amazon S3 Express One Zone バケットレベル (リージョン API エンドポイント) アクション
<a name="cloudtrail-bucket-level-tracking-s3express"></a>

デフォルトでは、CloudTrail はディレクトリバケットのバケットレベルのアクションを管理イベントとして記録します。S3 Express One Zone の CloudTrail 管理イベントの `eventsource` は、`s3express.amazonaws.com` です。

次のリージョンエンドポイント API オペレーションが CloudTrail に記録されます。
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketPolicy.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListDirectoryBuckets.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListDirectoryBuckets.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html)
+ [https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html)

詳細については、「[S3 Express One Zone の AWS CloudTrail によるログ記録](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone-logging.html)」を参照してください。

## クロスアカウントのシナリオでの Amazon S3 オブジェクトレベルのアクション
<a name="cloudtrail-object-level-crossaccount"></a>

クロスアカウントのシナリオでオブジェクトレベルの API コールに関連する特殊なユースケースと CloudTrail ログが報告される方法を次に示します。CloudTrail は、ログエントリが編集または省略される一部のアクセス拒否ケースを除き、リクエスタ (API コールを行ったアカウント) にログを配信します。クロスアカウントアクセスを設定する際には、このセクションの例を検討します。

**注記**  
例では、CloudTrail ログが適切に設定されていることを前提とします。

### 例 1: CloudTrail がバケット所有者にログを配信する
<a name="cloudtrail-crossaccount-example1"></a>

CloudTrail は、バケット所有者が同じオブジェクト API オペレーションに対するアクセス許可を持たない場合でも、バケット所有者にログを配信します。次のクロスアカウントのシナリオを検討してください。
+ アカウント A がバケットを所有しています。
+ アカウント B (リクエスタ) が、そのバケット内のオブジェクトへのアクセスを試みます。
+ アカウント C がオブジェクトを所有しています。アカウント C はアカウント A と同じアカウントである場合とそうでない場合があります。

**注記**  
CloudTrail は、常にオブジェクトレベルの API ログをリクエスタ (アカウント B) に配信します。さらに、CloudTrail は、バケット所有者 (アカウント A) がそのオブジェクト (アカウント C) を所有していないか、そのオブジェクトに対する同じ API オペレーションへのアクセス許可がない場合でも、バケット所有者に同じログを配信します。

### 例 2: CloudTrail は設定オブジェクト ACL で使用されている E メールアドレスを拡散しない
<a name="cloudtrail-crossaccount-example2"></a>

次のクロスアカウントのシナリオを検討してください。
+ アカウント A がバケットを所有しています。
+  アカウント B (リクエスタ) は、E メールアドレスを使用してオブジェクト ACL の付与を設定するためのリクエストを送信します。ACL の詳細については、「[アクセスコントロールリスト (ACL) の概要](acl-overview.md)」を参照してください。

リクエスタは E メール情報と共にログを取得します。ただし、例 1 のようにバケット所有者がログの受信資格を持つ場合、バケット所有者はイベントを報告する CloudTrail ログを取得します。一方、バケット所有者は ACL 設定情報 (具体的には被付与者の E メールと権限) を取得しません。ログがバケット所有者に通知する情報は、アカウント B によって ACL API コールが行われたということだけです。

# Simple Storage Service (Amazon S3) と S3 on Outposts の CloudTrail ログファイルエントリ
<a name="cloudtrail-logging-understanding-s3-entries"></a>

**重要**  
Amazon S3 では、Amazon S3 内のすべてのバケットの基本レベルの暗号化として、Amazon S3 が管理するキー (SSE-S3) によるサーバー側の暗号化が適用されるようになりました。2023 年 1 月 5 日以降、Amazon S3 にアップロードされるすべての新しいオブジェクトは、追加費用なしで、パフォーマンスに影響を与えずに自動的に暗号化されます。S3 バケットのデフォルト暗号化設定と新しいオブジェクトのアップロードのための自動暗号化ステータスは、CloudTrail ログ、S3 インベントリ、S3 ストレージレンズ、Amazon S3 コンソール、および AWS CLI と AWS SDK の追加の Amazon S3 API レスポンスヘッダーとして利用できるようになりました。詳細については、「[デフォルト暗号化に関するよくある質問](https://docs.aws.amazon.com/AmazonS3/latest/userguide/default-encryption-faq.html)」を参照してください。

各イベントは任意の送信元からの単一のリクエストを表し、リクエストされた API オペレーション、オペレーションの日時、リクエストパラメータなどに関する情報を含みます。CloudTrail ログファイルは、パブリック API コールの順序付けられたスタックトレースではないため、イベントは特定の順序で表示されません。

**注記**  
Amazon S3 Express One Zone の CloudTrail ログファイルの例を表示するには、「[S3 Express One Zone の CloudTrail ログファイルの例](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-log-files.html)」を参照してください。

詳細については、以下の例を参照してください。

**Topics**
+ [例: Amazon S3 の CloudTrail ログファイルのエントリ](#example-ct-log-s3)

## 例: Amazon S3 の CloudTrail ログファイルのエントリ
<a name="example-ct-log-s3"></a>

次は、[GET サービス](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTServiceGET.html)、[https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTacl.html) および [https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketGETversioningStatus.html) のアクションを示す CloudTrail ログエントリの例です。

```
{
    "Records": [
    {
        "eventVersion": "1.03",
        "userIdentity": {
            "type": "IAMUser",
            "principalId": "111122223333",
            "arn": "arn:aws:iam::111122223333:user/myUserName",
            "accountId": "111122223333",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "userName": "myUserName"
        },
        "eventTime": "2019-02-01T03:18:19Z",
        "eventSource": "s3.amazonaws.com",
        "eventName": "ListBuckets",
        "awsRegion": "us-west-2",
        "sourceIPAddress": "127.0.0.1",
        "userAgent": "[]",
        "requestParameters": {
            "host": [
                "s3.us-west-2.amazonaws.com"
            ]
        },
        "responseElements": null,
        "additionalEventData": {
            "SignatureVersion": "SigV2",
            "AuthenticationMethod": "QueryString",
            "aclRequired": "Yes"
    },
        "requestID": "47B8E8D397DCE7A6",
        "eventID": "cdc4b7ed-e171-4cef-975a-ad829d4123e8",
        "eventType": "AwsApiCall",
        "recipientAccountId": "444455556666",
        "tlsDetails": {
            "tlsVersion": "TLSv1.2",
            "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
            "clientProvidedHostHeader": "s3.amazonaws.com"
    }      
    },
    {
       "eventVersion": "1.03",
       "userIdentity": {
            "type": "IAMUser",
            "principalId": "111122223333",
            "arn": "arn:aws:iam::111122223333:user/myUserName",
            "accountId": "111122223333",
            "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
            "userName": "myUserName"
        },
      "eventTime": "2019-02-01T03:22:33Z",
      "eventSource": "s3.amazonaws.com",
      "eventName": "PutBucketAcl",
      "awsRegion": "us-west-2",
      "sourceIPAddress": "",
      "userAgent": "[]",
      "requestParameters": {
          "bucketName": "",
          "AccessControlPolicy": {
              "AccessControlList": {
                  "Grant": {
                      "Grantee": {
                          "xsi:type": "CanonicalUser",
                          "xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
                          "ID": "d25639fbe9c19cd30a4c0f43fbf00e2d3f96400a9aa8dabfbbebe1906Example"
                       },
                      "Permission": "FULL_CONTROL"
                   }
              },
              "xmlns": "http://s3.amazonaws.com/doc/2006-03-01/",
              "Owner": {
                  "ID": "d25639fbe9c19cd30a4c0f43fbf00e2d3f96400a9aa8dabfbbebe1906Example"
              }
          },
          "host": [
              "s3.us-west-2.amazonaws.com"
          ],
          "acl": [
              ""
          ]
      },
      "responseElements": null,
      "additionalEventData": {
          "SignatureVersion": "SigV4",
          "CipherSuite": "ECDHE-RSA-AES128-SHA",
          "AuthenticationMethod": "AuthHeader"
      },
      "requestID": "BD8798EACDD16751",
      "eventID": "607b9532-1423-41c7-b048-ec2641693c47",
      "eventType": "AwsApiCall",
      "recipientAccountId": "111122223333",
      "tlsDetails": {
            "tlsVersion": "TLSv1.2",
            "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
            "clientProvidedHostHeader": "s3.amazonaws.com"
    }              
    },
    {
      "eventVersion": "1.03",
      "userIdentity": {
          "type": "IAMUser",
          "principalId": "111122223333",
          "arn": "arn:aws:iam::111122223333:user/myUserName",
          "accountId": "111122223333",
          "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
          "userName": "myUserName"
        },
      "eventTime": "2019-02-01T03:26:37Z",
      "eventSource": "s3.amazonaws.com",
      "eventName": "GetBucketVersioning",
      "awsRegion": "us-west-2",
      "sourceIPAddress": "",
      "userAgent": "[]",
      "requestParameters": {
          "host": [
              "s3.us-west-2.amazonaws.com"
          ],
          "bucketName": "amzn-s3-demo-bucket1",
          "versioning": [
              ""
          ]
      },
      "responseElements": null,
      "additionalEventData": {
          "SignatureVersion": "SigV4",
          "CipherSuite": "ECDHE-RSA-AES128-SHA",
          "AuthenticationMethod": "AuthHeader"
    },
      "requestID": "07D681279BD94AED",
      "eventID": "f2b287f3-0df1-4961-a2f4-c4bdfed47657",
      "eventType": "AwsApiCall",
      "recipientAccountId": "111122223333",
      "tlsDetails": {
            "tlsVersion": "TLSv1.2",
            "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
            "clientProvidedHostHeader": "s3.amazonaws.com"
    }                 
    }
  ]
}
```

# S3 バケットとオブジェクトの CloudTrail イベントログ記録の有効化
<a name="enable-cloudtrail-logging-for-s3"></a>

CloudTrail データイベントを使用して、Amazon S3 のバケットおよびオブジェクトレベルのリクエストに関する情報を取得できます。すべてのバケットまたは特定のバケットのリストの CloudTrail データイベントを有効にするには、[CloudTrail で手動で証跡を作成](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)する必要があります。

**注記**  
CloudTrail のデフォルト設定では、管理イベントのみが検出されます。アカウントに対してデータイベントを有効にしていることをチェックして確認します。
 高いワークロードを生成している S3 バケットがある場合、短期間で数千のログを生成する可能性があります。ビジーなバケットでは、CloudTrail データイベントを有効にする期間にご注意ください。

 CloudTrail は、選択した S3 バケットに Amazon S3 データイベントを保存します。クエリと分析を簡素化するには、所有する複数のバケットのイベントを適切にまとめられるように別の AWS アカウント のバケットの使用を検討することをお勧めします。AWS Organizations では、モニタリングしているバケットを所有しているアカウントにリンクされた AWS アカウント を簡単に作成することができます。詳細については、「*AWS Organizations ユーザーガイド*」の「[What is AWS Organizations?](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)」を参照してください。

CloudTrail で証跡のデータイベントをログに記録する場合、汎用バケットに保存されたオブジェクトのデータイベントを記録するために、高度なイベントセレクタとベーシックイベントセレクタのどちらを使用するかを選択できます。ディレクトリバケットに保存されているオブジェクトのデータイベントをログに記録するには、高度なイベントセレクタを使用する必要があります。詳細については、「[S3 Express One Zone の AWS CloudTrail によるログ記録](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone-logging.html)」を参照してください。

アドバンストイベントセレクタを使用して CloudTrail コンソールで証跡を作成する場合、データイベントセクションで、**[ログセレクタテンプレート]** の **[すべてのイベントをログに記録する]** を選択して、すべてのオブジェクトレベルのイベントをログ記録できます。ベーシックイベントセレクタを使用して CloudTrail コンソールで証跡を作成する場合、データイベントセクションで、**[アカウントのすべての S3 バケットを選択する]** チェックボックスを選択して、すべてのオブジェクトレベルイベントをログ記録できます。

**注記**  
ベストプラクティスとして、AWS CloudTrail データイベントバケットに対してライフサイクル設定を作成することをお勧めします。ログファイルを監査する必要があると考える期間が経過したらログファイルを定期的に削除するように、ライフサイクル設定を設定します。これにより、各クエリで Athena が分析するデータの量が減ります。詳細については、[バケットに S3 ライフサイクル設定を設定する](how-to-set-lifecycle-configuration-intro.md) を参照してください。
ロギング形式の詳細については、[AWS CloudTrail を使用した Amazon S3 API コールのログ記録](cloudtrail-logging.md) を参照してください。
CloudTrail ログをクエリする方法の例については、*AWS ビッグデータブログ*の記事 [Analyze Security, Compliance, and Operational Activity Using AWS CloudTrail and Amazon Athena](https://aws.amazon.com/blogs/big-data/aws-cloudtrail-and-amazon-athena-dive-deep-to-analyze-security-compliance-and-operational-activity/) を参照してください。

## コンソールを使用してバケット内のオブジェクトのログ記録を有効にする
<a name="enable-cloudtrail-events"></a>

AWS CloudTrail コンソールを使用し、CloudTrail 証跡を設定して、S3 バケット内のオブジェクトのデータイベントをログに記録できます。CloudTrail では、`GetObject`、`DeleteObject`、`PutObject` など、Amazon S3 オブジェクトレベルの API オペレーションのログ記録がサポートされます。これらのイベントは、*データイベント*と呼ばれます。

デフォルトでは CloudTrail 証跡はデータイベントを記録しませんが、証跡を設定して、指定した S3 バケットのデータイベントを記録するか、AWS アカウントですべての Amazon S3 バケットのデータイベントを記録するようにできます。詳細については、[AWS CloudTrail を使用した Amazon S3 API コールのログ記録](cloudtrail-logging.md) を参照してください。

CloudTrail では、CloudTrail イベント履歴にデータイベントが設定されません。さらに、すべてのバケットレベルのアクションが CloudTrail イベント履歴に入力されるわけではありません。CloudTrail のログ記録によって追跡される Amazon S3 バケットレベルの API アクションの詳細については、「[CloudTrail ログ記録によって追跡される Amazon S3 バケットレベルのアクション](cloudtrail-logging-s3-info.md#cloudtrail-bucket-level-tracking)」を参照してください。CloudTrail ログのクエリ方法の詳細については、[Amazon CloudWatch Logs のフィルタパターンと Amazon Athena を使用した CloudTrail ログのクエリ](https://aws.amazon.com/premiumsupport/knowledge-center/find-cloudtrail-object-level-events/)に関する AWS ナレッジセンターの記事を参照してください。

**注記**  
AWS CloudTrail でデータアクティビティをログに記録する場合、Amazon S3 `DeleteObjects` データイベントのイベントレコードには、そのオペレーションの一部として削除された各オブジェクトの `DeleteObjects` イベントと `DeleteObject` イベントの両方が含まれます。削除されたオブジェクトに関する追加の可視性をイベントレコードから除外できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[データイベントのフィルタリングの AWS CLI の例](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/filtering-data-events.html#filtering-data-events-deleteobjects)」を参照してください。

S3 汎用バケットまたは S3 ディレクトリバケットでオブジェクトの CloudTrail データイベントの記録を有効にするには、「*AWS CloudTrail ユーザーガイド*」の「[Creating a trail with the CloudTrail console](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time)」を参照してください。

S3 ディレクトリバケット内のオブジェクトのログ記録の詳細については、「[ディレクトリバケットの AWS CloudTrail を使用したログ記録](s3-express-one-zone-logging.md)」を参照してください。

CloudTrail コンソールを使用して S3 データイベントを記録するように証跡を設定する方法については、「*AWS CloudTrail ユーザーガイド*」の「[Logging data events](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html)」を参照してください。

S3 バケット内のオブジェクトの CloudTrail データイベントのログ記録を無効にするには、「*AWS CloudTrail ユーザーガイド*」の「[Deleting a trail with the CloudTrail console](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-delete-trails-console.html)」を参照してください。

**重要**  
追加の変更がイベントデータに適用されます。詳細については、[AWS CloudTrail 料金表](https://aws.amazon.com/cloudtrail/pricing/)を参照してください。

S3 バケットを使用した CloudTrail ログ記録の詳細については、以下のトピックを参照してください。
+ [汎用バケットの作成](create-bucket-overview.md)
+ [S3 汎用バケットのプロパティの表示](view-bucket-properties.md)
+ [AWS CloudTrail を使用した Amazon S3 API コールのログ記録](cloudtrail-logging.md)
+ [AWS CloudTrail ユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html)の *Working with CloudTrail log files*

# CloudTrail を使用した Amazon S3 リクエストの識別
<a name="cloudtrail-request-identification"></a>

Amazon S3 では、AWS CloudTrail イベントログを使用してリクエストを識別することができます。AWS CloudTrail は、Amazon S3 リクエストを識別する上で推奨される方法ですが、Amazon S3 サーバーアクセスログを使用している場合は、[Amazon S3 アクセスログを使用したリクエストの識別](using-s3-access-logs-to-identify-requests.md) を参照してください。

**Topics**
+ [CloudTrail ログで Amazon S3 に対して行われたリクエストを特定する](#identify-S3-requests-using-in-CTlog)
+ [CloudTrail を使用した Amazon S3 Signature Version 2 リクエストの識別](#cloudtrail-identification-sigv2-requests)
+ [CloudTrail を使用した S3 オブジェクトへのアクセスの識別](#cloudtrail-identification-object-access)

## CloudTrail ログで Amazon S3 に対して行われたリクエストを特定する
<a name="identify-S3-requests-using-in-CTlog"></a>

バケットにイベントを送信するために CloudTrail をセットアップした後、Amazon S3 コンソールで送信先のバケットにオブジェクトが送信されるのを確認できるようになります。これらは次の形式になっています。

`s3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/Region/yyyy/mm/dd` 

CloudTrail によりログ記録されたイベントは、S3 バケットにある圧縮された gzipped JSON オブジェクトに保存されます。リクエストを効率的に見つけるには、Amazon Athena などのサービスを利用して CloudTrail ログにインデックスを作成し、クエリします。

CloudTrail と Athena の詳細については、「*Amazon Athena ユーザーガイド*」の「[パーティション射影を使用した Athena での AWS CloudTrail ログ用のテーブルの作成](https://docs.aws.amazon.com/athena/latest/ug/cloudtrail-logs.html#create-cloudtrail-table-partition-projection)」を参照してください。

## CloudTrail を使用した Amazon S3 Signature Version 2 リクエストの識別
<a name="cloudtrail-identification-sigv2-requests"></a>

CloudTrail イベントログを使用して、Amazon S3 でリクエストに署名するために使用された API 署名バージョンを特定できます。署名バージョン 2 のサポートがオフになる (廃止される) ため、この機能は重要です。その後、Amazon S3 は署名バージョン 2 を使用するリクエストを受け入れず、すべてのリクエストに *Signature Version 4* 署名を使用する必要があります。

CloudTrail を使用して、署名バージョン 2 の署名を使用しているワークフローがあるかどうかを確認することを*強く*お勧めします。業務に影響が出ないように、Signature Version 4 を使用してライブラリとコードをアップグレードし、修正します。

詳細については、AWS re:Post の「[お知らせ: Amazon S3 用の AWS CloudTrail は、セキュリティ監査を強化するための新しいフィールドを追加します](https://forums.aws.amazon.com/ann.jspa?annID=6551)」を参照してください。

**注記**  
Amazon S3 の CloudTrail イベントには、キー名である「`additionalEventData`」のリクエスト詳細に署名バージョンが含まれます。Amazon S3 にあるオブジェクトに対する `GET`、`PUT`、`DELETE` などのリクエストで Signature Version を見つけるには、CloudTrail データイベントを有効にする必要があります。(デフォルトでは、この機能はオフになっています。)

AWS CloudTrailSignature Version 2 リクエストを識別する方法として、 が推奨されます。Amazon S3 のサーバーアクセスログを使用している場合は、「[Amazon S3 アクセスログを使用した Signature Version 2 リクエストの識別](using-s3-access-logs-to-identify-requests.md#using-s3-access-logs-to-identify-sigv2-requests)」を参照してください。

**Topics**
+ [Amazon S3 署名バージョン 2 リクエストを識別する Athena クエリの例](#ct-examples-identify-sigv2-requests)
+ [署名バージョン 2 データのパーティション化](#partitioning-sigv2-data)

### Amazon S3 署名バージョン 2 リクエストを識別する Athena クエリの例
<a name="ct-examples-identify-sigv2-requests"></a>

**Example — Signature Version 2 のイベントをすべて選択し、`EventTime`、`S3_Action`、`Request_Parameters`、`Region`、`SourceIP`、`UserAgent` のみを印刷する**  
以下の Athena クエリで、*`s3_cloudtrail_events_db.cloudtrail_table`* を Athena の詳細と置き換え、必要に応じて上限を引き上げるか削除します。  

```
SELECT EventTime, EventName as S3_Action, requestParameters as Request_Parameters, awsregion as AWS_Region, sourceipaddress as Source_IP, useragent as User_Agent
FROM s3_cloudtrail_events_db.cloudtrail_table
WHERE eventsource='s3.amazonaws.com'
AND json_extract_scalar(additionalEventData, '$.SignatureVersion')='SigV2'
LIMIT 10;
```

**Example − 署名バージョン 2 トラフィックを送信しているすべてのリクエスタを選択します。**  
   

```
SELECT useridentity.arn, Count(requestid) as RequestCount
FROM s3_cloudtrail_events_db.cloudtrail_table
WHERE eventsource='s3.amazonaws.com'
    and json_extract_scalar(additionalEventData, '$.SignatureVersion')='SigV2'
Group by useridentity.arn
```

### 署名バージョン 2 データのパーティション化
<a name="partitioning-sigv2-data"></a>

クエリするデータが大量にある場合、パーティション化されたテーブルを作成することにより Athena のコストを削減しランタイムを短縮できます。

それには、次のようなパーティションがある新しいテーブルを作成します。

```
   CREATE EXTERNAL TABLE s3_cloudtrail_events_db.cloudtrail_table_partitioned(
        eventversion STRING,
        userIdentity STRUCT<
            type:STRING,
            principalid:STRING,
            arn:STRING,
            accountid:STRING,
            invokedby:STRING,
            accesskeyid:STRING,
            userName:STRING,
         sessioncontext:STRUCT<
                    attributes:STRUCT< 
                    mfaauthenticated:STRING,
                    creationdate:STRING>,
                    sessionIssuer:STRUCT<
                    type:STRING,
                    principalId:STRING,
                    arn:STRING,
                    accountId:STRING,
                    userName:STRING>
                >
             >,
        eventTime STRING,
        eventSource STRING,
        eventName STRING,
        awsRegion STRING,
        sourceIpAddress STRING,
        userAgent STRING,
        errorCode STRING,
        errorMessage STRING,
        requestParameters STRING,
        responseElements STRING,
        additionalEventData STRING,
        requestId STRING,
        eventId STRING,
        resources ARRAY<STRUCT<ARN:STRING,accountId: STRING,type:STRING>>, 
        eventType STRING,
        apiVersion STRING,
        readOnly STRING,
        recipientAccountId STRING,
        serviceEventDetails STRING,
        sharedEventID STRING,
        vpcEndpointId STRING
    )   
    PARTITIONED BY (region string, year string, month string, day string)
    ROW FORMAT SERDE 'org.apache.hadoop.hive.ql.io.orc.OrcSerde' 
    STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat'
    OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
    LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/';
```

その後で個々にパーティションを作成します。作成していない日付から結果を取得することはできません。

```
ALTER TABLE s3_cloudtrail_events_db.cloudtrail_table_partitioned ADD
    PARTITION (region= 'us-east-1', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/us-east-1/2019/02/19/'
    PARTITION (region= 'us-west-1', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/us-west-1/2019/02/19/'
    PARTITION (region= 'us-west-2', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/us-west-2/2019/02/19/'
    PARTITION (region= 'ap-southeast-1', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/ap-southeast-1/2019/02/19/'
    PARTITION (region= 'ap-southeast-2', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/ap-southeast-2/2019/02/19/'
    PARTITION (region= 'ap-northeast-1', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/ap-northeast-1/2019/02/19/'
    PARTITION (region= 'eu-west-1', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/eu-west-1/2019/02/19/'
    PARTITION (region= 'sa-east-1', year= '2019', month= '02', day= '19') LOCATION 's3://amzn-s3-demo-bucket1/AWSLogs/111122223333/CloudTrail/sa-east-1/2019/02/19/';
```

これらのパーティションに基づいてリクエストを実行でき、バケット全体を読み込む必要はありません。

```
SELECT useridentity.arn,
Count(requestid) AS RequestCount
FROM s3_cloudtrail_events_db.cloudtrail_table_partitioned
WHERE eventsource='s3.amazonaws.com'
AND json_extract_scalar(additionalEventData, '$.SignatureVersion')='SigV2'
AND region='us-east-1'
AND year='2019'
AND month='02'
AND day='19'
Group by useridentity.arn
```

## CloudTrail を使用した S3 オブジェクトへのアクセスの識別
<a name="cloudtrail-identification-object-access"></a>

AWS CloudTrail イベントログを使用して、`GetObject`、`DeleteObject`、`PutObject` などのデータイベントに対する Amazon S3 オブジェクトアクセスリクエストを識別し、それらのリクエストに関する追加情報を確認できます。

**注記**  
AWS CloudTrail でデータアクティビティをログに記録する場合、Amazon S3 `DeleteObjects` データイベントのイベントレコードには、そのオペレーションの一部として削除された各オブジェクトの `DeleteObjects` イベントと `DeleteObject` イベントの両方が含まれます。削除されたオブジェクトに関する追加の可視性をイベントレコードから除外できます。詳細については、「*AWS CloudTrail ユーザーガイド*」の「[データイベントのフィルタリングの AWS CLI の例](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/filtering-data-events.html#filtering-data-events-deleteobjects)」を参照してください。

以下の例は、AWS CloudTrail イベントログから Amazon S3 のすべての `PUT` オブジェクトリクエストを取得する方法を示しています。

**Topics**
+ [Amazon S3 オブジェクトアクセスリクエストを識別する Athena クエリの例](#ct-examples-identify-object-access-requests)

### Amazon S3 オブジェクトアクセスリクエストを識別する Athena クエリの例
<a name="ct-examples-identify-object-access-requests"></a>

以下の Athena クエリの例で、*`s3_cloudtrail_events_db.cloudtrail_table`* を Athena の詳細と置き換え、必要に応じてデータ範囲を変更します。

**Example — `PUT` オブジェクトアクセス要求のあるイベントをすべて選択し、`EventTime`、`EventSource`、`SourceIP`、`UserAgent`、`BucketName`、`object`、`UserARN` のみ印刷する**  

```
SELECT
  eventTime, 
  eventName, 
  eventSource, 
  sourceIpAddress, 
  userAgent, 
  json_extract_scalar(requestParameters, '$.bucketName') as bucketName, 
  json_extract_scalar(requestParameters, '$.key') as object,
  userIdentity.arn as userArn
FROM
  s3_cloudtrail_events_db.cloudtrail_table
WHERE
  eventName = 'PutObject'
  AND eventTime BETWEEN '2019-07-05T00:00:00Z' and '2019-07-06T00:00:00Z'
```

**Example — `GET` オブジェクトアクセス要求のあるイベントをすべて選択し、`EventTime`、`EventSource`、`SourceIP`、`UserAgent`、`BucketName`、`object`、`UserARN` のみ印刷する**  

```
SELECT
  eventTime, 
  eventName, 
  eventSource, 
  sourceIpAddress, 
  userAgent, 
  json_extract_scalar(requestParameters, '$.bucketName') as bucketName, 
  json_extract_scalar(requestParameters, '$.key') as object,
  userIdentity.arn as userArn
FROM
  s3_cloudtrail_events_db.cloudtrail_table
WHERE
  eventName = 'GetObject'
  AND eventTime BETWEEN '2019-07-05T00:00:00Z' and '2019-07-06T00:00:00Z'
```

**Example — 特定の期間にバケットに対して行われた匿名のリクエスタイベントをすべて選択し、`EventTime`、`EventName`、`EventSource`、`SourceIP`、`UserAgent`、`BucketName`、`UserARN`、`AccountID` のみ印刷する**  

```
SELECT
  eventTime, 
  eventName, 
  eventSource, 
  sourceIpAddress, 
  userAgent, 
  json_extract_scalar(requestParameters, '$.bucketName') as bucketName, 
  userIdentity.arn as userArn,
  userIdentity.accountId
FROM
  s3_cloudtrail_events_db.cloudtrail_table
WHERE
  userIdentity.accountId = 'anonymous'
  AND eventTime BETWEEN '2019-07-05T00:00:00Z' and '2019-07-06T00:00:00Z'
```

**Example — 承認に ACL が必要なリクエストをすべて特定する**  
 次の Amazon Athena のクエリの例は、承認のためにアクセスコントロールリスト (ACL) が必要な S3 バケットへのすべてのリクエストを特定する方法を示しています。リクエストに承認用の ACL が必要な場合、`additionalEventData` の `aclRequired` の値は `Yes` です。ACL が不要な場合は、`aclRequired` は存在しません。この情報を使用して、これらの ACL 権限を適切なバケットポリシーに移行できます。これらのバケットポリシーを作成したら、これらのバケットの ACL を無効にできます。ACL の無効化の詳細については、「[ACL を無効にする前提条件。](object-ownership-migrating-acls-prerequisites.md)」を参照してください。  

```
SELECT
  eventTime, 
  eventName, 
  eventSource, 
  sourceIpAddress, 
  userAgent, 
  userIdentity.arn as userArn,
  json_extract_scalar(requestParameters, '$.bucketName') as bucketName,
  json_extract_scalar(requestParameters, '$.key') as object,
  json_extract_scalar(additionalEventData, '$.aclRequired') as aclRequired
FROM 
  s3_cloudtrail_events_db.cloudtrail_table
WHERE
  json_extract_scalar(additionalEventData, '$.aclRequired') = 'Yes'
  AND eventTime BETWEEN '2022-05-10T00:00:00Z' and '2022-08-10T00:00:00Z'
```

**注記**  
このクエリの例は、セキュリティのモニタリングにも役立つ場合があります。予期しないまたは不正な IP アドレスやリクエスタからの `PutObject` または `GetObject` コールの結果を確認し、バケットへの匿名リクエストを特定できます。
 このクエリでは、ログ記録が有効になった時間以降の情報のみ取得されます。

Amazon S3 のサーバーアクセスログを使用している場合は、[Amazon S3 アクセスログを使用したオブジェクトアクセスリクエストの識別](using-s3-access-logs-to-identify-requests.md#using-s3-access-logs-to-identify-objects-access) を参照してください。