オブジェクト ACL フィールドの使用
Amazon S3 インベントリレポートは、S3 ソースバケット内のオブジェクトのリストと、各オブジェクトのメタデータを表示します。オブジェクトアクセスコントロールリスト (ACL) フィールドは、Amazon S3 インベントリで使用できるメタデータフィールドです。オブジェクト ACL フィールドは、特に各オブジェクトのアクセスコントロールリスト (ACL) を示します。オブジェクトの ACL は、このオブジェクトへのアクセスを許可する AWS アカウントまたはグループと、付与するアクセスの種類を定義します。詳細については、「アクセスコントロールリスト (ACL) の概要」および「Amazon S3 インベントリのリスト」を参照してください。
Amazon S3 インベントリレポートのオブジェクト ACL フィールドは、JSON 形式で定義します。JSON データには、以下のデータが含まれます。
-
version— インベントリレポートのオブジェクト ACL フィールド形式のバージョン。バージョンは日付形式yyyy-mm-ddとなります。 -
status— 指定できる値はAVAILABLEまたはUNAVAILABLEです。オブジェクトでオブジェクト ACL が使用できるかどうかを示します。オブジェクト ACL のステータスがUNAVAILABLEである場合、インベントリレポートのオブジェクト所有者フィールドの値もUNAVAILABLEになります。 -
grants— 被付与者とアクセス許可のペア。オブジェクト ACL から付与された被付与者ごとのアクセス許可のステータスを示します。被付与者に設定できる値はCanonicalUserおよびGroupです。被付与者の詳細については、「アクセスコントロールリストの被付与者」を参照してください。Groupタイプの被付与者の場合、付与者とアクセス許可のペアには以下の属性が含まれます。-
uri— 事前定義された Amazon S3 グループ。 -
permission— オブジェクトに付与される ACL アクセス許可。詳細については、「オブジェクトに対する ACL アクセス許可」を参照してください。 -
type— タイプGroup。これは被付与者がグループであることを示します。
CanonicalUserタイプの被付与者の場合、付与者とアクセス許可のペアには以下の属性が含まれます。-
canonicalId— 難読化された形式の AWS アカウント ID。AWS アカウント の正規ユーザー ID は、そのアカウントに固有です。正規ユーザー ID を取得できます。詳細については、「AWS Account Management リファレンスガイド」の「AWS アカウント の正規ユーザー ID を検索する」を参照してください。注記
ACL の被付与者が AWS アカウントの E メールアドレスである場合、S3 インベントリは、その AWS アカウントの
canonicalIdとCanonicalUserタイプを使用してこの被付与者を指定します。詳細については、「アクセスコントロールリストの被付与者」を参照してください。 -
permission— オブジェクトに付与される ACL アクセス許可。詳細については、「オブジェクト対する ACL アクセス許可」を参照してください。 -
type— タイプCanonicalUser。これは、被付与者が AWS アカウントであることを示します。
-
次の例は、JSON 形式のオブジェクト ACL フィールドに指定できる値を示しています。
{ "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "uri": "http://acs.amazonaws.com/groups/global/AllUsers", "permission": "READ", "type": "Group" }, { "canonicalId": "example-canonical-id", "permission": "FULL_CONTROL", "type": "CanonicalUser" }] }
注記
オブジェクト ACL フィールドは JSON 形式で定義されます。インベントリレポートには、オブジェクト ACL フィールドの値が base64 エンコードされた文字列として表示されます。
例えば、次のオブジェクト ACL フィールドが JSON 形式で存在するとします。
{ "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "canonicalId": "example-canonical-user-ID", "type": "CanonicalUser", "permission": "READ" }] }
オブジェクト ACL フィールドはエンコードされ、次の base64 エンコードされた文字列として表示されます。
eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=
オブジェクト ACL フィールドのデコードされた値を JSON で取得するには、Amazon Athena でこのフィールドをクエリできます。クエリの例については、「Amazon Athena で Amazon S3 インベントリをクエリする」を参照してください。