オブジェクト ACL フィールドの使用 - Amazon Simple Storage Service

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