Nesta página, mostramos como ativar, desativar e verificar o status do acesso uniforme no nível do bucket em um bucket no Cloud Storage.
Funções exigidas
Para receber as permissões necessárias para definir e gerenciar o acesso uniforme no nível do bucket, peça ao administrador para conceder a você o papel de Administrador do Storage (roles/storage.admin
) no bucket. Esse papel predefinido contém as permissões necessárias para definir e gerenciar o acesso uniforme no nível do bucket. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.get
storage.buckets.list
- Essa permissão só é necessária ao usar o console do Google Cloud para executar as instruções nesta página.
storage.buckets.update
Talvez você também consiga receber essas permissões com papéis personalizados.
Para informações sobre como conceder papéis nos buckets, consulte Usar o IAM com buckets.
Verificar o uso da ACL
Antes de ativar o acesso uniforme no nível do bucket, use o Cloud Monitoring para garantir que seu bucket não use ACLs para fluxos de trabalho. Para mais informações, consulte Verificar o uso da ACL do objeto.
Console
Para visualizar as métricas de um recurso monitorado usando o Metrics Explorer, faça o seguinte:
-
No console do Google Cloud, acesse a página do leaderboard Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.
- No elemento Metric, expanda o menu Selecionar uma métrica,
digite
ACLs usage
na barra de filtro e use os submenus para selecionar um tipo de recurso e métrica específicos:- No menu Recursos ativos, selecione Bucket do GCS.
- No menu Categorias de métrica ativas, selecione Authz.
- No menu Métricas ativas, selecione Uso de ACLs.
- Clique em Aplicar.
- Configure a visualização dos dados. Por exemplo, para visualizar seus dados pela
operação da ACL, para a Agregação defina o primeiro menu como Soma e o segundo menu como operation_acl.
Para mais informações sobre como configurar um gráfico, consulte Selecionar métricas ao usar o Metrics Explorer.
Consulte storage
para acessar uma lista completa das métricas disponíveis para o Cloud Storage. Para mais informações sobre séries temporais, consulte Métricas, série temporal e recursos.
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON do Monitoring:curl \ 'https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries?filter=metric.type%20%3D%20%22storage.googleapis.com%2Fauthz%2Facl_operations_count%22&interval.endTime=END_TIME&interval.startTime=START_TIME' \ --header 'Authorization: Bearer $(gcloud auth print-access-token)' \ --header 'Accept: application/json'
Em que:
PROJECT_ID
é o ID ou o número do projeto de que você quer ver o uso da ACL. Por exemplo,my-project
;END_TIME
é o final do período de que você quer ver o uso da ACL. Por exemplo,2019-11-02T15:01:23.045123456Z
;START_TIME
é o início do período de que você quer ver o uso da ACL. Por exemplo,2016-10-02T15:01:23.045123456Z
.
Se a solicitação retornar um objeto vazio {}
, não há uso recente da ACL para o projeto.
Definir acesso uniforme no nível do bucket
Para ativar ou desativar o acesso uniforme no nível do bucket, siga estas instruções:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome do bucket em que você quer ativar ou desativar o acesso uniforme no nível do bucket.
Selecione a guia Permissões na parte superior da página.
No campo chamado Controle de acesso, clique no link Alterar para.
No menu exibido, selecione Uniforme ou Granular.
Clique em Salvar.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
Use o comando gcloud storage buckets update
:
gcloud storage buckets update gs://BUCKET_NAME --STATE
Em que:
BUCKET_NAME
é o nome do bucket em questão. Por exemplo,my-bucket
.STATE
éuniform-bucket-level-access
para ativar o acesso uniforme no nível do bucket ouno-uniform-bucket-level-access
para desativá-lo.
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
O exemplo a seguir permite acesso uniforme no nível do bucket em um bucket:
O exemplo a seguir desativa o acesso uniforme no nível do bucket em um bucket:
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Crie um arquivo JSON com as informações a seguir:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": STATE } } }
Em que STATE é
true
oufalse
.Use
cURL
para chamar a API JSON com uma solicitação dePATCH
bucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Em que:
JSON_FILE_NAME
é o caminho para o arquivo criado na Etapa 2.BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
API XML
A API XML não pode ser usada para trabalhar com acesso uniforme no nível do bucket. Use uma das outras ferramentas do Cloud Storage, como a CLI gcloud, em vez disso.
Visualizar o status do acesso uniforme no nível do bucket
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Clique no nome do bucket cujos rótulos você quer ver.
Clique na guia Configuração.
O status de acesso uniforme no nível do bucket do bucket é encontrado no campo Controle de acesso.
Para saber como acessar informações detalhadas de erro sobre operações do Cloud Storage com falha no console do Google Cloud, consulte Solução de problemas.
Linha de comando
Use o comando gcloud storage buckets describe
com a flag --format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(uniform_bucket_level_access)"
em que BUCKET_NAME
é o nome do bucket
pertinente. Por exemplo, my-bucket
.
Se bem-sucedida, a resposta terá esta aparência:
uniform_bucket_level_access: true
Bibliotecas de cliente
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage C++.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage C#.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage Go.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage Java.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage Node.js.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage PHP.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage Python.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage Ruby.
Para autenticar no Cloud Storage, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
APIs REST
API JSON
Ter a gcloud CLI instalada e inicializadapara gerar um token de acesso para o cabeçalho
Authorization
.Como alternativa, é possível criar um token de acesso usando o OAuth 2.0 Playground e incluí-lo no cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com uma solicitação de bucketGET
que inclui ofields
desejado:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Em que
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.Se o acesso uniforme no nível do bucket estiver ativado no bucket, a resposta será parecida com este exemplo:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
API XML
A API XML não pode ser usada para trabalhar com acesso uniforme no nível do bucket. Use uma das outras ferramentas do Cloud Storage, como a CLI gcloud, em vez disso.
A seguir
- Saiba mais sobre o acesso uniforme no nível do bucket.
- Defina permissões do IAM em buckets e projetos.