[AWS]「S3」CloudTrailでオブジェクト操作履歴を取得

S3バケット内のオブジェクトの操作履歴を取得します。

1. CloudTrailの証跡の作成

  • サービスメニューより「管理とガバナンス」-「CloudTrail」を実行します。
  • 左側のナビゲーションペインより「証跡」をクリックします。
  • 「証跡の作成」ボタンをクリックします。
(1) 証跡属性の選択
■全般的な詳細
証跡名 (例)example-jp-cloudtrail-logs
ストレージの場所
新しいS3バケットを作成します
既存のS3バケットを使用する
証跡ログバケット名
既存のログ用バケットを指定します。
証跡ログバケット名 (例)example-jp-storage-logs
プレフィックス-オプション
プレフィックス (空白のまま)
ログファイルのSSE-KMS暗号化
有効
ログファイルの検証
有効
SNS 通知の配信
有効
■CloudWatch Logs-オプション
CloudWatch Logs
有効
■タグ-オプション
(必要に応じて作成)
  • 「次へ」ボタンをクリックします。
(2) ログイベントの選択
■イベント
イベントタイプ
管理イベント
データイベント
Insightsイベント
■データイベント
  • 「高度なイベントセレクターが有効になっています」という表示がされている場合には、「基本的なイベントセレクターに切り替えます」ボタンをクリックします。
データイベント:S3
データイベントソース S3
S3バケット
現在および将来のすべてのS3バケット
読み取り
書き込み
個々のバケットの選択
バケット/プレフィックス (例)example-jp-storage
読み取り
書き込み
  • 「次へ」ボタンをクリックします。
(3) 確認と作成
  • 「証跡の作成」ボタンをクリックします。

2. Athenaでのオブジェクト操作ログの取得

  • サービスメニューより「管理とガバナンス」-「CloudTrail」を実行します。
  • 左側のナビゲーションペインより「イベント履歴」をクリックします。
  • 「Athenaテーブルを作成」ボタンをクリックします。
(1) Amazon Athenaでテーブルを作成
ストレージの場所
CloudTrailでログの保管場所に指定したS3バケット名を指定します。
ストレージの場所 (例)example-jp-storage-logs
Athenaテーブル名
Athenaテーブル名 (自動で命名)
  • 「テーブルを作成」ボタンをクリックします。
(2) Amazon Athenaのクエリを作成
  • (1)でテーブルを作成すると、画面上部にメッセージが表示されます。
  • テーブル名のリンクをクリックします。
  • Athenaがオープンされ、クエリエディタ画面が表示されます。
  • クエリエディタに以下の内容を書き込みます。
SELECT
eventtime,
eventname,
useridentity.username,
JSON_EXTRACT_SCALAR(requestParameters, '$.bucketName') AS bucketName,
regexp_extract(requestparameters, '(\"key\":)([^;]+)}', 2) AS filename
FROM cloudtrail_logs_eblo_cloud_s3_logs
WHERE
eventtime >= '2023-10-01T00:00:00Z' And eventtime <= '2023-10-31T23:59:59Z'
and eventName in ('GetObject','PutObject','DeleteObject')
and useridentity.type = 'IAMUser'
ORDER BY eventtime ASC;
※「(テーブル名)」にAthenaのテーブル名を記載します。
※「eventtime」にログを取得する日時の範囲を記載します。
  • 「保存」リストから「名前を付けて保存」を実行します。
クエリ名 (例)GetS3ObjectProcessForExampleJpStorageLogs
クエリの説明 (任意)
  • 「クエリを保存」ボタンをクリックします。
  • 「実行」ボタンをクリックすると、「結果」にリストが表示されます。



最終更新:2023年10月12日 13:20