[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バケット
個々のバケットの選択
バケット/プレフィックス |
(例)example-jp-storage |
(3) 確認と作成
2. Athenaでのオブジェクト操作ログの取得
- サービスメニューより「管理とガバナンス」-「CloudTrail」を実行します。
- 左側のナビゲーションペインより「イベント履歴」をクリックします。
- 「Athenaテーブルを作成」ボタンをクリックします。
(1) Amazon Athenaでテーブルを作成
ストレージの場所
CloudTrailでログの保管場所に指定したS3バケット名を指定します。
ストレージの場所 |
(例)example-jp-storage-logs |
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