オブジェクト 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 インベントリをクエリする」を参照してください。