S3 Metadata ジャーナルテーブルスキーマ
ジャーナルテーブルは、データに加えられた変更をほぼリアルタイムで記録するため、バケットにアップロードされた新しいデータの特定、最近削除されたオブジェクトの追跡、ライフサイクルの移行のモニタリングなどに役立ちます。ジャーナルテーブルには、新しいオブジェクトと、オブジェクトとそのメタデータに対する更新 (PUT
または DELETE
オペレーションを必要とする更新) が記録されます。このテーブルはクエリ可能であるため、単純な SQL クエリを使用してバケットへの変更を監査できます。
セキュリティ、監査、コンプライアンスのユースケースにジャーナルテーブルを使用して、バケット内のアップロード、削除、変更されたオブジェクトを追跡できます。例えば、ジャーナルテーブルにクエリを実行して、次のような質問に答えることができます。
-
S3 ライフサイクルによって過去 24 時間に削除されたオブジェクトはどれか。
-
最新の
PUT
リクエストはどの IP アドレスから送信されたか。 -
過去 7 日間に
PUT
リクエストに使用された AWS Key Management Service (AWS KMS) キーはどれか。 -
バケット内のどのオブジェクトが Amazon Bedrock によって過去 5 日間に作成されたものか。
Amazon S3 Metadata ジャーナルテーブルには行と列が含まれています。各行は、汎用バケット内のオブジェクトを作成、更新、または削除したミューテーションイベントを表します。これらのイベントの大部分はユーザーアクションの結果ですが、これらのイベントの一部は、S3 ライフサイクルの有効期限切れやストレージクラスの移行など、Amazon S3 がユーザーに代わって実行したアクションの結果です。
S3 Metadata ジャーナルテーブルは、最終的に汎用バケットで発生した変更と一致します。オブジェクトが作成または更新されたことが S3 Metadata に通知されるまでに、そのオブジェクトがバケットで既に上書きまたは削除されている場合があります。このような場合、オブジェクトを取得できなくなり、一部の列にメタデータスキーマが欠落していることを示す NULL 値が表示されることがあります。
以下は、amzn-s3-demo-bucket:
という名前の汎用バケットのジャーナルテーブルの例です。
bucket key sequence_number record_type record_timestamp version_id is_delete_marker size last_modified_date e_tag storage_class is_multipart encryption_status is_bucket_key_enabled kms_key_arn checksum_algorithm object_tags user_metadata requester source_ip_address request_id amzn-s3-demo-bucket Finance/statement1.pdf 80e737d8b4d82f776affffffffffffffff006737d8b4d82f776a00000000000000000000000000000000000000000000000072 CREATE 2024-11-15 23:26:44.899 FALSE 6223 11/15/2024 23:26 e131b86632dda753aac4018f72192b83 STANDARD FALSE SSE-KMS FALSE arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890df SSECRC32 {} {count -> Asia, customs -> false, family -> true, location -> Mary, name -> football, user -> United States} 111122223333 192.0.2.1 CVK8FWYRW0M9JW65 amzn-s3-demo-bucket s3-dg.pdf 80e737d8b4e39f1dbdffffffffffffffff006737d8b4e39f1dbd00000000000000000000000000000000000000000000000072 CREATE 2024-11-15 23:26:44.942 FALSE 3554 11/15/2024 23:26 9bb49efc2d92c05558ddffbbde8636d5 STANDARD FALSE DSSE-KMS FALSE arn:aws:kms:us-east-1:936810216292:key/0dcebce6-49fd-4cae-b2e2-5512ad281afd SSESHA1 {} {} 111122223333 192.0.2.1 CVKAQDRAZEG7KXAY amzn-s3-demo-bucket Development/Projects.xls 80e737d8b4ed9ac5c6ffffffffffffffff006737d8b4ed9ac5c600000000000000000000000000000000000000000000000072 CREATE 2024-11-15 23:26:44.966 FALSE 7746 11/15/2024 23:26 729a6863e47fb9955b31bfabce984908 STANDARD FALSE SSE-S3 FALSE NULL SSECRC32 {} {count -> Asia, customs -> Canada, family -> Billiards, filter -> true, location -> Europe, name -> Asia, user -> United States} 111122223333 192.0.2.1 CVK7Z6XQTQ90BSRV
ジャーナルテーブルには次のスキーマがあります。
列名 | 必須? | データ型 | |
---|---|---|---|
|
あり | 文字列 | 汎用バケット名。詳細については、「汎用バケットの命名規則」を参照してください。 |
|
あり | 文字列 | バケット内のオブジェクトを一意に識別するオブジェクトのキー名 (またはキー)。詳細については、「Amazon S3 オブジェクトに命名する」を参照してください。 |
|
あり | 文字列 | シーケンス番号。特定のオブジェクトのレコードに含まれる序数です。同じバケットとキーのレコードを順に並べるには、 |
|
あり | 文字列 | このレコードのタイプ。
詳細については、「バージョニングが有効なバケットからのオブジェクトバージョンの削除」を参照してください。 注記永続的な削除では、 |
|
あり | Timestamp NTZ (タイムゾーンなし) | このレコードに関連付けられているタイムスタンプ。 |
|
なし | 文字列 |
オブジェクトのバージョン ID。バケットのバージョニングを有効にすると、Amazon S3 はバケットに追加されたオブジェクトにバージョン番号を割り当てます。詳細については、「S3 バージョニングによる複数のバージョンのオブジェクトの保持」を参照してください。 バージョニング状態を設定する前にバケットに保存されたオブジェクトのバージョン ID は null です。 |
|
なし | ブール値 |
オブジェクトの削除マーカーのステータス。削除マーカーである DELETE レコードの場合、この値は 注記削除マーカーに追加される行の |
|
なし | Long | バイト単位のオブジェクトサイズ。不完全なマルチパートアップロードまたはオブジェクトメタデータのサイズは含まれません。 |
|
なし | Timestamp NTZ (タイムゾーンなし) | オブジェクト作成日または最終更新日のいずれか遅い方。マルチパートアップロードの場合、オブジェクトの作成日はマルチパートアップロードが開始された日付です。詳細については、「システムで定義されたオブジェクトメタデータ」を参照してください。 |
|
なし | 文字列 | エンティティタグ (ETag) は、オブジェクトのハッシュです。ETag は、変更をオブジェクトのコンテンツにのみ反映し、メタデータには反映しません。ETag は、オブジェクトデータの MD5 ダイジェストである場合があります。ETag が MD5 ダイジェストであるかどうかは、オブジェクトの作成方法と暗号化方法によって異なります。詳細については、「Amazon S3 API リファレンス」の「Object」を参照してください。 |
|
なし | 文字列 | オブジェクトの保存に使用されるストレージクラス。 |
|
なし | ブール値 | オブジェクトのアップロードタイプ。オブジェクトがマルチパートアップロードとしてアップロードされた場合、この値は |
|
なし | 文字列 | 使用される暗号化キーの種類に応じた、オブジェクトのサーバー側の暗号化ステータス。Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3)、AWS Key Management Service (AWS KMS) キーによるサーバー側の暗号化 (SSE-KMS)、AWS KMS keys による二層式サーバー側の暗号化 (DSSE-KMS)、またはお客様が指定したキーによるサーバー側の暗号化 (SSE-C) のいずれかとなります。オブジェクトが暗号化されていない場合、この値は null です。可能な値は、 |
|
なし | ブール値 | オブジェクトの S3 バケットキーの有効化ステータス。オブジェクトが SSE-KMS に S3 バケットキーを使用する場合、この値は |
|
なし | 文字列 |
注記行が、削除または上書きイベントが処理された時点で存在しなくなったオブジェクトバージョンを表す場合、 |
|
なし | 文字列 | オブジェクトのチェックサムを作成するために使用されるアルゴリズム。 |
|
なし | Map <String, String> |
オブジェクトに関連付けられたオブジェクトタグ。オブジェクトタグは、キーと値のペアのマップとして保存されます。オブジェクトにオブジェクトタグがない場合、空のマップ ( 注記
|
|
なし | Map <String, String> |
オブジェクトに関連付けられているユーザーメタデータ。ユーザーメタデータは、キーと値のペアのマップとして保存されます。オブジェクトにユーザーメタデータがない場合、空のマップ ( 注記
|
|
なし | 文字列 | リクエストを行ったリクエスタまたは AWS のサービスプリンシパルの AWS アカウント ID。例えば、リクエスタが S3 ライフサイクルの場合、この値は |
|
なし | 文字列 | リクエストの送信元 IP アドレス。ユーザーリクエストによって生成されたレコードの場合、この列にはリクエストの送信元 IP アドレスが含まれます。ユーザーに代わって Amazon S3 または別の AWS のサービスによって実行されたアクションの場合、この列には null 値が含まれます。 |
|
なし | 文字列 | リクエストに関連付けられたリクエスト ID。 |