Criar e gerenciar listas de controle de acesso (ACLs) (original) (raw)

Ir para o conteúdo principal

Criar e gerenciar listas de controle de acesso (ACLs)

Visão geral

Nesta página, você verá como controlar o acesso a buckets e objetos usando listas de controle de acesso (ACLs). As ACLs são um mecanismo que pode ser usado para definir quem tem acesso a buckets e objetos, além do nível de acesso dessas pessoas.

Consulte Visão geral da ACL para saber se é necessário usar ACLs para controlar o acesso aos recursos.

Funções exigidas

Para receber as permissões necessárias para criar e gerenciar ACLs, solicite ao administrador o papel do IAM de Administrador do Storage (roles/storage.admin) no bucket que contém os objetos desejados. para criar e gerenciar ACLs.

Esse papel predefinido contém as permissões necessárias para criar e gerenciar ACLs. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

Também é possível receber essas permissões com funções personalizadas.

Para informações sobre como conceder papéis nos buckets, consulteDefinir e gerenciar políticas do IAM em buckets.

Definir ou modificar ACLs

Console

  1. Acesse o navegador do Cloud Storage no console do Google Cloud .
    Acessar o navegador do Cloud Storage
  2. Na lista de buckets, clique no nome do bucket que contém o objeto com a ACL que você quer modificar.
  3. Clique no nome do objeto para que você quer definir ou modificar ACLs.
  4. Clique em Editar acesso.
    Uma caixa de diálogo de permissão com a ACL atual do objeto é aberta.
  5. Clique em + Adicionar entrada.
  6. Escolha o tipo de entidade que receberá a permissão.
    A Entidade especifica o tipo de coisa que está recebendo a permissão (por exemplo, um usuário ou um grupo). ConsulteEscopos de controle de acessopara ver a lista de valores aceitos em Entidade.
  7. Digite um valor em Nome.
    O Nome identifica um usuário, grupo ou outro tipo de entidade específico. ConsulteEscopos de controle de acessopara ver a lista de valores aceitos em Nome.
    Juntos, Entidade e Nome definem quem recebe a permissão.
  8. Selecione um valor para Acesso.
    O Acesso especifica a permissão que será definida para o objeto. Consulte Permissões de controle de acessopara ver a lista de valores aceitos em Acesso.
  9. Clique em Salvar.

Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Google Cloud , consulteSolução de problemas.

Linha de comando

Para adicionar, modificar ou remover uma concessão individual em um objeto, use o comando objects update com a flag relevante:

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME FLAG

Em que:

Para substituir todas as ACLs de um objeto:

  1. Defina as ACLs em um arquivo no formato JSON ou YAML.
    Por exemplo, as ACLs a seguir concedem a permissão OWNER para o objeto paris.jpg aos proprietários do projeto 867489160491 e ao usuário jeffersonloveshiking@gmail.com, bem como a permissão READER para paris.jpg aos membros do grupo gs-announce:
    [
    {
    "entity": "project-owners-867489160491",
    "role": "OWNER",
    "projectTeam": {
    "projectNumber": "867489160491",
    "team": "owners"
    },
    },
    {
    "entity": "user-jeffersonloveshiking@gmail.com",
    "email": "jeffersonloveshiking@gmail.com",
    "role": "OWNER"
    },
    {
    "entity": "group-gs-announce@googlegroups.com",
    "email": "gs-announce@googlegroups.com",
    "role": "READER"
    }
    ]
  2. Use o comando objects update com a sinalização --acl-file:
    gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --acl-file=FILE_LOCATION
    Em que:
    • BUCKET_NAME é o nome do bucket que contém o objeto a que as ACLs se aplicam. Por exemplo, example-travel-maps.
    • OBJECT_NAME é o nome do objeto ao qual as ACLs se aplicam. Por exemplo, paris.jpg.
    • FILE_LOCATION é o caminho local para o arquivo que contém as ACLs definidas. Por exemplo, Desktop/acls.json.

Bibliotecas de cliente

C++

Para mais informações, consulte a documentação de referência da API Cloud Storage C++.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

C#

Saiba mais na documentação de referência C# da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

Go

Saiba mais na documentação de referência Go da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

Java

Saiba mais na documentação de referência Java da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

Node.js

Saiba mais na documentação de referência Node.js da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

PHP

Saiba mais na documentação de referência PHP da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

Python

Saiba mais na documentação de referência Python da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

Ruby

Saiba mais na documentação de referência Ruby da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL é adicionada a um objeto:

Na amostra a seguir, uma ACL é removida de um objeto:

APIs REST

API JSON

Ao criar um objeto, é possível especificar a propriedade acl[] no corpo da solicitação ou o parâmetro de consulta predefinedAcl em uma solicitação insert. No caso de um objeto atual, especifique a propriedade acl[] ou o parâmetro de consulta predefinedAcl em uma solicitação patch ou update.

Para a definição da propriedade da ACL de objeto, consulte o recurso ObjectAccessControls.

  1. Defina as ACLs de um arquivo JSON.
    Por exemplo, se a Access Control List conceder aos proprietários do projeto 867489160491 e ao usuário jeffersonloveshiking@gmail.com a permissão OWNER, bem como conceder aos membros do grupo gs-announce a permissão READER, você terá um arquivo chamado acls.json com o seguinte conteúdo:
    {
    "acl": [
    {
    "entity": "project-owners-867489160491",
    "role": "OWNER",
    "projectTeam": {
    "projectNumber": "867489160491",
    "team": "owners"
    }
    },
    {
    "entity": "user-jeffersonloveshiking@gmail.com",
    "role": "OWNER",
    "email": "jeffersonloveshiking@gmail.com"
    },
    {
    "entity": "group-gs-announce@googlegroups.com",
    "role": "READER",
    "email": "gs-announce@googlegroups.com"
    }
    ]
    }
  2. Envie uma solicitação patch com o arquivo JSON e especifique o objeto em que as ACLs serão definidas.

Por exemplo, o comando curl a seguir aplica um payload JSON do documento acls.json a um objeto chamado paris.jpg no bucket example-travel-maps:

curl -X PATCH --data @acls.json -H "Content-Type: application/json"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/storage/v1/b/example-travel-maps/o/paris.jpg

API XML

Na API XML, as ACLs estão no formato XML. É necessário anexar um documento XML ao corpo das solicitações para alterar ACLs de intervalos e objetos. Quando são obtidas ACLs de intervalos e objetos, é retornado um documento XML. Esse documento contém as entradas individuais da ACL de bucket ou de objeto.

Por exemplo, o comando curl a seguir aplica um payload XML do documento acls.xml a um objeto chamado paris.jpg no bucket example-travel-maps:

curl -X PUT --data-binary @acls.xml
-H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/example-travel-maps/paris.jpg?acl

Use a sintaxe de ACL a seguir com o documento XML:

Elemento Descrição
AccessControlList Contêiner para elementos Entries e Owner.
Owner Contêiner para elementos DisplayName e ID. Esse elemento não é necessário para objetos, porque um objeto é sempre propriedade do usuário que fez o upload. Esse elemento é usado quando a sintaxe de ACL do Amazon S3 for usada em um cenário de migração. Amazon Simple Storage Service™ e Amazon S3™ são marcas registradas da Amazon.com, Inc. ou de afiliadas nos Estados Unidos e/ou em outros países.
ID ID do Cloud Storage do proprietário do bucket.
DisplayName Não implementado. O valor é sempre uma string vazia.
Entries Contêiner para nenhum ou mais elementos Entry.
Entry Contêiner para elementos Scope e Permission. É necessário que um Entry contenha apenas um elemento Scope e um Permission.
Scope Contêiner para um elemento ID, EmailAddress ou Domain que define o escopo da ACL. É necessário que esse elemento tenha um atributo type que contenha um dos seguintes valores: UserByID, UserByEmail, GroupByID, GroupByEmail, GroupByDomain, AllUsers ou AllAuthenticatedUsers.
ID Identificador do beneficiário quando a entrada de permissão é especificada por ID.
EmailAddress Identificador do e-mail do beneficiário quando a entrada de permissão é especificada por e-mail.
Domain O identificador do domínio do beneficiário quando a entrada de permissão é especificada por domínio.
Name Elemento opcional que pode ser especificado ou adicionado automaticamente, se o escopo for UserByEmail ou GroupByEmail.
Permission Permissão concedida: READ, WRITE ou FULL_CONTROL.

Lembre-se dos pontos a seguir ao trabalhar com ACLs usando a API XML:

No exemplo a seguir, veja entradas diferentes de ACL do bucket:

00b4903a9721... 00b4903a9722... FULL_CONTROL example.com READ gs-announce@googlegroups.com READ jeffersonloveshiking@gmail.com Jefferson FULL_CONTROL READ READ

Configurar o elemento Name no XML da ACL

Quando uma ACL é recuperada de um bucket ou objeto, algumas entradas podem ter um elemento <Name> extra anexado. Por exemplo, talvez haja uma entrada semelhante a esta:

jeffersonloveshiking@gmail.com Jefferson FULL_CONTROL

Esses elementos <Name> opcionais são preenchidos em duas circunstâncias:

  1. Quando as ACLs de bucket ou objeto incluem <Name> como um elemento.
    Ao definir as ACLs, é possível incluir o elemento <Name> com as entradas de ACL. É possível fornecer qualquer valor no elemento <Name>. O Cloud Storage se lembrará desses valores até que a ACL seja removida ou substituída. Isso pode ser útil ao usar identificadores difíceis de serem reconhecidos.
  2. Quando um escopo UserByEmail ou GroupByEmail contém um perfil público do Google.
    Se um desses escopos for usado sem um elemento <Name>, o Cloud Storage verificará se o usuário ou o grupo do Google associado ao endereço de e-mail tem um perfil público do Google com um nome público. Nesse caso, o Cloud Storage preencherá automaticamente o elemento <Name> com o nome público.

Aplicar uma ACL predefinida

Em vez de especificar uma entrada de cada vez em toda a ACL como mostrado acima, é possível usar uma ACL predefinida, que aplicará automaticamente várias entradas personalizadas a um cenário específico. É possível aplicar uma ACL predefinida a um bucket ou a um objeto usando a Google Cloud CLI, a API JSON ou a API XML.

Em objetos novos

Para aplicar uma ACL predefinida a um objeto durante o upload do objeto:

Console

Não é possível aplicar uma ACL predefinida usando o console do Google Cloud . Usegcloud storage, em vez disso.

Linha de comando

Use o comando gcloud storage cp com a flag--predefined-acl:

gcloud storage cp OBJECT gs://BUCKET_NAME --predefined-acl=PREDEFINED_ACL

Por exemplo, para aplicar a ACL predefinida bucketOwnerRead durante o upload do objeto paris.jpg para o bucket example-travel-maps:

gcloud storage cp paris.jpg gs://example-travel-maps --predefined-acl=bucketOwnerRead

APIs REST

API JSON

Use o parâmetro de string de consulta predefinedAcl em uma solicitação insert para aplicar a ACL predefinida.

Por exemplo, para aplicar a ACL predefinida bucketOwnerRead durante o upload do objeto paris.jpg para o bucket example-travel-maps:

curl -X POST --data-binary @paris.jpg -H "Content-Type: image/jpeg"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
"https://storage.googleapis.com/upload/storage/v1/b/example-travel-maps/o?name=paris.jpg&predefinedAcl=bucketOwnerRead"

API XML

Use o cabeçalho x-goog-acl em uma solicitação Put Object para aplicar a ACL predefinida.

Por exemplo, para aplicar a ACL predefinida bucket-owner-read durante o upload do objeto paris.jpg para o bucket example-travel-maps:

curl -X PUT --upload-file paris.jpg -H "x-goog-acl: bucket-owner-read"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/example-travel-maps/paris.jpg

Em buckets ou objetos

Também é possível aplicar uma ACL predefinida a um bucket ou objeto, o que é útil para mudar de uma ACL predefinida para outra ou atualizar as ACLs personalizadas para uma ACL predefinida.

Console

Não é possível aplicar uma ACL predefinida usando o console do Google Cloud . Usegcloud storage, em vez disso.

Linha de comando

Use o comando objects update com a flag --predefined-acl:

gcloud storage objects update gs://BUCKET_NAME/OBJECT_NAME --predefined-acl=PREDEFINED_ACL_NAME

Por exemplo, para aplicar a ACL predefinida private ao objeto paris.jpg no bucket example-travel-maps:

gcloud storage objects update gs://example-travel-maps/paris.jpg --predefined-acl=private

APIs REST

API JSON

Use o parâmetro de string de consulta predefinedAcl e especifique uma propriedade acl vazia em uma solicitação patch para aplicar a ACL predefinida.

Por exemplo, para aplicar a ACL predefinida private ao objeto paris.jpg no bucket example-travel-maps:

curl -X PATCH --data '{"acl": []}' -H "Content-Type: application/json"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/storage/v1/b/example-travel-maps/o/paris.jpg?predefinedAcl=private

API XML

Use o cabeçalho x-goog-acl com o parâmetro de string de consulta acl em uma solicitação Put Object, mas não inclua um documento XML nela.

Por exemplo, para aplicar a ACL predefinida private ao objeto paris.jpg no bucket example-travel-maps:

curl -X PUT -H "Content-Length: 0"
-H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "x-goog-acl: private"
https://storage.googleapis.com/example-travel-maps/paris.jpg?acl

Definir ACLs padrão de objetos

Para que não seja necessário definir as ACLs toda vez que criar um novo objeto, é possível definir uma ACL padrão de objetos em um bucket. Depois disso, cada novo objeto adicionado a esse bucket sem uma ACL aplicada explicitamente passará a usar a ACL padrão. Por exemplo, isso pode ser usado para especificar que apenas um determinado grupo de usuários tenha acesso à maioria dos objetos em um determinado bucket. É possível alterar a ACL padrão de objetos e, em seguida, adicionar objetos ao bucket. A ACL padrão de objetos especificada será automaticamente aplicada a esses objetos adicionados, mas é possível atribuir diferentes ACLs a objetos específicos. Nesse caso, a ACL padrão não será aplicada a esses objetos.

Para visualizar e alterar a ACL padrão de objetos de um bucket:

Console

Não é possível definir ACLs padrão de objetos usando o console do Google Cloud . Usegcloud storage, em vez disso.

Linha de comando

  1. Use o comando buckets describe com a flag --format para recuperar a ACL padrão de objetos do bucket:
    gcloud storage buckets describe gs://BUCKET_NAME --format="default(default_acl)"
    Em que BUCKET_NAME é o nome do bucket com a ACL de objeto padrão que você quer visualizar. Por exemplo, my-bucket.
  2. Use o comando buckets update com a flag desejada para modificar a ACL padrão de objetos do bucket:
    gcloud storage buckets update gs://BUCKET_NAME FLAG
    Em que:
    • BUCKET_NAME é o nome do bucket com a ACL de objeto padrão que você quer modificar. Por exemplo, my-bucket.
    • FLAG é um destes:
      * --add-default-object-acl-grant e uma concessão que você quer adicionar à ACL padrão de objetos do bucket.
      * --default-object-acl-file e o caminho para um arquivo local que define uma nova ACL de objeto padrão para o bucket.
      * --predefined-default-object-acl e o nome de uma ACL de objeto predefinida pela qual você quer substituir a ACL atual padrão de objetos do bucket.
      * --remove-default-object-acl-grant e uma entidade que você quer remover da ACL padrão de objetos do bucket.

Bibliotecas de cliente

C++

Para mais informações, consulte a documentação de referência da API Cloud Storage C++.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

C#

Saiba mais na documentação de referência C# da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, a ACL padrão do objeto é impressa em um bucket:

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

Go

Saiba mais na documentação de referência Go da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

Java

Saiba mais na documentação de referência Java da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

Node.js

Saiba mais na documentação de referência Node.js da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

PHP

Saiba mais na documentação de referência PHP da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

Python

Saiba mais na documentação de referência Python da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

Ruby

Saiba mais na documentação de referência Ruby da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL padrão do objeto é adicionada a um bucket:

Na amostra a seguir, uma ACL padrão de objetos é excluída de um bucket:

APIs REST

API JSON

  1. Recupere a ACL padrão de objetos com uma solicitação GET. Por exemplo:
    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?projection=full
  2. Use uma solicitação patch para substituir a ACL padrão de objetos. Por exemplo, a solicitação a seguir substitui a ACL padrão de objetos por outra especificada em defacls.json no bucket example-travel-maps:
    curl -X PATCH --data @defacls.json -H "Content-Type: application/json" -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://storage.googleapis.com/storage/v1/b/example-travel-maps
    Um exemplo de defacls.json:
    {
    "defaultObjectAcl": [
    {
    "email": "jeffersonloveshiking@gmail.com",
    "entity": "user-jeffersonloveshiking@gmail.com",
    "role": "READER"
    }
    ]
    }

API XML

  1. Recupere a ACL padrão de objetos com uma solicitação GET no escopo do bucket e do parâmetro ?defaultObjectAcl. Por exemplo:
    curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    https://storage.googleapis.com/BUCKET_NAME?defaultObjectAcl
  2. Use uma solicitação PUT no escopo do bucket com o parâmetro ?defaultObjectAcl para substituir a ACL padrão de objetos pela especificada em acls.xml. Por exemplo:
    curl -X PUT --data-binary @acls.xml -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    http://storage.googleapis.com/BUCKET_NAME?defaultObjectAcl
    Um exemplo de acls.xml: `FULL_CONTROL` jeffersonloveshiking@gmail.com

A sintaxe das ACLs é discutida em Como definir ACLs. Também é possível especificar uma ACL predefinida como a ACL padrão de objetos.

Para definir uma ACL predefinida como a ACL padrão de objetos em um bucket:

Console

Não é possível definir ACLs padrão de objetos usando o console do Google Cloud . Usegcloud storage, em vez disso.

Linha de comando

Use o comando buckets update com a flag --predefined-default-object-acl:

gcloud storage buckets update gs://BUCKET_NAME --predefined-default-object-acl=PREDEFINED_ACL

Em que:

APIs REST

API JSON

Use uma solicitação PUT e o parâmetro predefinedAcl.

Por exemplo:

curl -X PUT -H "Content-Length: 0" -H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?predefinedAcl=private

API XML

Use uma solicitação PUT no escopo do bucket com o parâmetro ?defaultObjectAcl e o cabeçalho x-goog-acl.

Por exemplo:

curl -X PUT -H "x-goog-acl: project-private" -H "Content-Length: 0" -H "Authorization: Bearer $(gcloud auth print-access-token)"
http://storage.googleapis.com/BUCKET_NAME?defaultObjectAcl

Access Control Lists de objetos padrão para buckets recém-criados:

Os exemplos a seguir mostram as Access Control Lists de objetos padrão que se aplicam automaticamente aos buckets recém-criados ao especificar as próprias Access Control Lists de objetos padrão como parte da solicitação. Para ver se as Access Control Lists de objetos padrão do bucket foram alteradas, compare as Access Control Lists de objetos padrão atuais do bucket com os exemplos abaixo.

Console

Não é possível trabalhar com ACLs padrão de objetos usando o console do Google Cloud . Use gcloud storage, em vez disso.

Linha de comando

No exemplo abaixo, o código do projeto é "123412341234". O código do seu projeto será diferente.

defaultObjectAcl: – entity: project-owners-123412341234 etag: CAE= kind: storage#objectAccessControl projectTeam: projectNumber: '123412341234' team: owners role: OWNER – entity: project-editors-123412341234 etag: CAE= kind: storage#objectAccessControl projectTeam: projectNumber: '123412341234' team: editors role: OWNER – entity: project-viewers-123412341234 etag: CAE= kind: storage#objectAccessControl projectTeam: projectNumber: '123412341234' team: viewers role: READER

APIs REST

API JSON

No exemplo abaixo, o código do projeto é "123412341234". O código do seu projeto será diferente.

"defaultObjectAcl": [ { "kind": "storage#objectAccessControl", "entity": "project-owners-123412341234", "role": "OWNER", "projectTeam": { "projectNumber": "123412341234", "team": "owners" } }, { "kind": "storage#objectAccessControl", "entity": "project-editors-123412341234", "role": "OWNER", "projectTeam": { "projectNumber": "123412341234", "team": "editors" } }, { "kind": "storage#objectAccessControl", "entity": "project-viewers-123412341234", "role": "READER", "projectTeam": { "projectNumber": "123412341234", "team": "viewers" } } ]

API XML

No exemplo abaixo, os códigos de papel do projeto começam com "00b4903a97...". Os códigos do seu projeto serão diferentes.

00b4903a9721... FULL_CONTROL 00b4903a9722... FULL_CONTROL 00b4903a9723... READ

A ACL padrão de objetos de um bucket recém-criado é equivalente à ACL predefinida projectPrivate.

Como recuperar ACLs

Para acessar a ACL de um recurso existente:

Console

  1. Acesse o navegador do Cloud Storage no console do Google Cloud .
    Acessar o navegador do Cloud Storage
  2. Navegue até o objeto com a ACL que você quer visualizar.
  3. Selecione Editar acesso no menu suspenso do objeto.
    Será exibida uma caixa de diálogo com as permissões do objeto.

Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console Google Cloud , consulteSolução de problemas.

Linha de comando

  1. Use o comando objects describe com a flag --format para recuperar a ACL de um objeto:
    gcloud storage objects describe gs://BUCKET_NAME/OBJECT_NAME --format="default(acl)"
    Em que:
    • BUCKET_NAME é o nome do bucket que contém o objeto com a ACL que você quer visualizar. Por exemplo, my-bucket.
    • OBJECT_NAME é o nome do objeto com a ACL que você quer visualizar. Por exemplo, paris.jpg.

Bibliotecas de cliente

C++

Para mais informações, consulte a documentação de referência da API Cloud Storage C++.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

C#

Saiba mais na documentação de referência C# da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

Go

Saiba mais na documentação de referência Go da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

Java

Saiba mais na documentação de referência Java da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

Node.js

Saiba mais na documentação de referência Node.js da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

PHP

Saiba mais na documentação de referência PHP da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

Python

Saiba mais na documentação de referência Python da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

Ruby

Saiba mais na documentação de referência Ruby da API Cloud Storage.

Para se autenticar no Cloud Storage, configure o Application Default Credentials. Saiba mais em Configurar a autenticação para bibliotecas de cliente.

Na amostra a seguir, uma ACL de objeto é recebida:

APIs REST

API JSON

  1. Verifique se você tem a permissão OWNER no objeto.
  2. Recupere a ACL do objeto com uma solicitação GET.
    A ACL de objetos é retornada no formato JSON, anexada ao corpo da resposta.

Por exemplo, para retornar a ACL do objeto paris.jpg no bucket example-travel-maps:

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/storage/v1/b/example-travel-maps/o/paris.jpg?projection=full

Será exibida uma resposta semelhante a:

{ "kind": "storage#object", "id": "example-travel-maps/paris.jpg/1412805837131000", "selfLink": "https://www.googleapis.com/storage/v1/b/example-travel-maps/o/paris.jpg", "name": "paris.jpg", "bucket": "example-travel-maps", ... "acl": [ { ... "entity": "project-owners-867489160491", "role": "OWNER", "projectTeam": { "projectNumber": "867489160491", "team": "owners" }, ... }, { ... "entity": "user-jeffersonloveshiking@gmail.com", "role": "OWNER", "email": "jeffersonloveshiking@gmail.com", ... }, { ... "entity": "group-gs-announce@googlegroups.com", "role": "READER", "email": "gs-announce@googlegroups.com", ... } ], "owner": { "entity": "user-jeffersonloveshiking@gmail.com" }, ... }

Você também pode usar o método GET do recurso objectAccessControls para retornar entradas individuais na ACL de um objeto.

API XML

  1. Verifique se você tem a permissão FULL_CONTROL no bucket ou objeto.
  2. Recupere a ACL do bucket ou objeto usando o parâmetro de string de consulta acl em uma solicitação GET Object.

As ACLs são descritas em XML, anexadas ao corpo da resposta.

Por exemplo, para retornar a ACL do objeto paris.jpg no bucket example-travel-maps:

curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)"
https://storage.googleapis.com/example-travel-maps/paris.jpg?acl

Será exibida uma resposta semelhante a:

84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46 Owner Name 84fac329bceSAMPLE777d5d22b8SAMPLE77d85ac2SAMPLE2dfcf7c4adf34da46 Name FULL_CONTROL jeffersonloveshiking@gmail.com Jefferson FULL_CONTROL gs-announce@googlegroups.com READ

Também é possível usar o método GET em JSON do recurso ObjectAccessControls para retornar uma entrada de ACL específica.

A seguir

Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.

Última atualização 2025-12-10 UTC.