Amazon S3 オブジェクトレベル API アクションが CloudTrail Event 履歴に表示されないのはなぜですか?

最終更新日: 2022 年 3 月 3 日

Amazon Simple Storage Service (Amazon S3) バケットの AWS CloudTrail オブジェクトレベルのイベントロギングをアクティブ化しました。Amazon S3 オブジェクトレベル API アクションが CloudTrail Event 履歴に表示されないのはなぜですか?

簡単な説明

Amazon S3 オブジェクトレベル API アクションはCloudTrail データイベントです。デフォルトでは、追跡はデータイベントをログに記録せず、データイベントは CloudTrail Event 履歴に表示されません。

データイベントロギングをアクティブ化した後に Amazon S3 オブジェクトレベル API アクションを表示するには、CloudTrail ログをクエリする必要があります。

CloudTrail ログにオブジェクトレベルの API アクションをクエリするには、次の AWS のサービスと機能のいずれかを使用できます。

詳細については、「AWS CloudTrail を使用した Amazon S3 API コールのログ記録」を参照してください。

注: 証跡と同じ S3 バケットに対して他のデータソースを設定している場合、ログは CloudTrail イベントと結合されます。

解決方法

CloudWatch Logs のフィルタパターンを使用してオブジェクトレベルの API アクションを表示するには

フィルターパターンを使用してログデータを検索する手順に従います

DeleteBucket API アクションの CloudWatch Logs フィルタ構文の例

{$.eventName = "DeleteBucket"}

Athena クエリを使用してオブジェクトレベル API アクションを表示するには

注:Athena を使用して CloudTrail ログをクエリするには、Amazon S3 バケットにログを記録するように追跡が設定されている必要があります。Athena を使うと、過去 90 日間の CloudTrail ログをクエリできます。

AWS CloudTrail ログ検索をするために Amazon Athena のテーブルを自動的に作成する方法を教えてくださいの手順に従ってください。

GetBucketAcl API アクションのクエリの例

注: example-cloudtrail-log を CloudTrail ログの名前に置き換えます。

SELECT *
FROM example-cloudtrail-log
WHERE eventname = 'GetBucketAcl';

詳細については、「CloudTrail ログと Athena テーブルについて」を参照してください。