Trabalhar com o campo ACL de objetos - Amazon Simple Storage Service

Trabalhar com o campo ACL de objetos

Um relatório do Inventário Amazon S3 contém uma lista dos objetos no bucket de origem do S3 e os metadados de cada objeto. O campo lista de controle de acesso (ACL) de objetos é um campo de metadados que está disponível no Inventário Amazon S3. Especificamente, o campo ACL de objetos contém a lista de controle de acesso (ACL) para cada objeto. A ACL de um objeto define quais Contas da AWS ou grupos recebem acesso a esse objeto e ao tipo de acesso concedido. Para obter mais informações, consulte Visão geral da lista de controle de acesso (ACL) e Lista do Amazon S3 Inventory.

O campo ACL de objetos nos relatórios do Inventário Amazon S3 é definido no formato JSON. Os dados JSON incluem os seguintes campos:

  • version: a versão do formato do campo ACL de objetos nos relatórios de inventário. Está no formato de data yyyy-mm-dd.

  • status: os valores possíveis são AVAILABLE ou UNAVAILABLE para indicar se uma ACL de objetos está disponível para um objeto. Quando o status da ACL de objetos é UNAVAILABLE, o valor do campo Proprietário do objeto no relatório de inventário também é UNAVAILABLE.

  • grants: pares de concessão e permissão que listam o status da permissão de cada beneficiário da ACL de objetos. Os valores disponíveis para um beneficiário são CanonicalUser e Group. Para obter mais informações sobre os beneficiários, consulte Beneficiários em listas de controle de acesso.

    Para um beneficiário com o tipo Group, um par de concessão e permissão inclui os seguintes atributos:

    • uri: um grupo predefinido do Amazon S3.

    • permission: as permissões de ACL concedidas ao objeto. Para obter mais informações, consulte Permissões de ACL em um objeto.

    • type: o tipo Group, o que indica que o beneficiário é um grupo.

    Para um beneficiário com o tipo CanonicalUser, um par de concessão e permissão inclui os seguintes atributos:

    • canonicalId: uma forma ofuscada do ID da Conta da AWS. O ID de usuário canônico de uma Conta da AWS é específico dessa conta. Você pode recuperar o ID de usuário canônico. Para obter mais informações, consulte Find the canonical user ID for your Conta da AWS no Guia de referência de gerenciamento de contas da AWS.

      nota

      Se um beneficiário em uma ACL for o endereço de e-mail de uma Conta da AWS, o Inventário S3 usa o canonicalId dessa Conta da AWS e o tipo CanonicalUser para especificar esse beneficiário. Para obter mais informações, consulte Beneficiários em listas de controle de acesso.

    • permission: as permissões de ACL concedidas ao objeto. Para obter mais informações, consulte Permissões de ACL em um objeto.

    • type: o tipo CanonicalUser, o que indica que o beneficiário é uma Conta da AWS.

O exemplo a seguir mostra os valores possíveis para o campo ACL de objetos no formato JSON:

{ "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" }] }
nota

O campo ACL de objetos é definido no formato JSON. Um relatório de inventário exibe o valor do campo ACL de objetos como uma string codificada em base64.

Por exemplo, suponha que você tenha o seguinte campo ACL de objetos no formato JSON:

{ "version": "2022-11-10", "status": "AVAILABLE", "grants": [{ "canonicalId": "example-canonical-user-ID", "type": "CanonicalUser", "permission": "READ" }] }

O campo ACL de objetos é codificado e mostrado como a seguinte string codificada em base64:

eyJ2ZXJzaW9uIjoiMjAyMi0xMS0xMCIsInN0YXR1cyI6IkFWQUlMQUJMRSIsImdyYW50cyI6W3siY2Fub25pY2FsSWQiOiJleGFtcGxlLWNhbm9uaWNhbC11c2VyLUlEIiwidHlwZSI6IkNhbm9uaWNhbFVzZXIiLCJwZXJtaXNzaW9uIjoiUkVBRCJ9XX0=

Para obter o valor decodificado em JSON para o campo ACL de objetos, você pode consultar esse campo no Amazon Athena. Para obter exemplos de consultas, consulte Consulta do Amazon S3 Inventory com o Amazon Athena.