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.
Pré-requisitos
Antes de usar este recurso no Cloud Storage, é necessário:
Tenha permissão suficiente para ver e atualizar buckets no Cloud Storage:
Se você é proprietário do projeto que contém o bucket, provavelmente já tem as permissões necessárias.
Ter as permissões do IAM
storage.buckets.update
estorage.buckets.get
no bucket pertinente. Consulte Como usar permissões do IAM para instruções sobre como conseguir um papel (como, por exemplo, Administrador do Storage) com essas permissões.
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
Se quiser usar o Metrics Explorer para visualizar as métricas de um recurso monitorado, siga estas etapas:
- No Console do Google Cloud, acesse a página Monitoring.
Se você nunca tiver usado o Cloud Monitoring, no primeiro acesso ao Monitoring no Console do Google Cloud, um espaço de trabalho será criado automaticamente, e seu projeto será associado a ele. Caso contrário, se o seu projeto não estiver associado a um espaço de trabalho, uma caixa de diálogo será exibida, e será possível criar um espaço de trabalho ou adicionar seu projeto a um espaço de trabalho atual. Recomendamos que você crie um espaço de trabalho. Depois de fazer a seleção, clique em Adicionar.
- No painel de navegação do Monitoring, clique em
Metrics Explorer.
- Verifique se Métrica é a guia selecionada.
- No campo Encontrar tipo de recurso e métrica, selecione no menu ou
digite o nome do recurso e da métrica. Use as seguintes informações para preencher os
campos:
- Em Recurso, selecione ou insira gcs_bucket.
- Em Métrica, selecione ou insira uso de ACLs.
- Para modificar como os dados são exibidos, use os menus Filtro, Agrupar por e Agregador. Por exemplo, para agrupar os dados por operação de ACL e bucket, selecione operação_acl em Agrupar por e soma em Agregador. Para mais informações, consulte Como selecionar métricas.
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
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
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 OAUTH2_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
;OAUTH2_TOKEN
é o token de acesso gerado na etapa 1.
Se a solicitação retornar um objeto {}
vazio, não haverá um uso recente da ACL para o projeto.
Ativar acesso uniforme no nível do bucket
Confira o que fazer para ativar o acesso uniforme no nível do bucket no seu bucket:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Na lista de buckets, clique no nome do bucket pretendido.
Selecione a guia Permissões na parte superior da página.
Na caixa de texto chamada Controle de acesso, clique em Alternar para uniforme.
No menu pop-up exibido, selecione Uniforme.
Clique em Save.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use a opção on
em um comando uniformbucketlevelaccess set
:
gsutil uniformbucketlevelaccess set on gs://BUCKET_NAME
em que BUCKET_NAME
é o nome do bucket
relevante. Por exemplo, my-bucket
.
Se bem-sucedida, a resposta terá esta aparência:
Enabling uniform bucket-level access for gs://test-bucket/...
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Crie um arquivo .json com as informações a seguir:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true } } }
Use
cURL
para chamar a API JSON com uma solicitação dePATCH
bucket:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Em que:
JSON_FILE_NAME
é o nome do arquivo que você criou na etapa 2;OAUTH2_TOKEN
é o token de acesso gerado na etapa 1;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 o gsutil.
Visualizar o status do acesso uniforme no nível do bucket
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Verifique se a opção Controle de acesso está marcada no menu Opções de exibição da coluna (
).
Na lista de buckets, o status do acesso uniforme no nível do bucket de cada bucket é encontrado na coluna Controle de acesso.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use o comando uniformbucketlevelaccess get
:
gsutil uniformbucketlevelaccess get gs://BUCKET_NAME
em que BUCKET_NAME
é o nome do bucket
relevante. Por exemplo, my-bucket
.
Se o acesso uniforme no nível do bucket estiver ativado, a resposta será parecida com esta:
Uniform bucket-level access setting for gs://my-bucket/: Enabled: True LockedTime: LOCK_DATE
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Use
cURL
para chamar a API JSON com uma solicitação de bucketGET
que inclui ofields
desejado:curl -X GET -H "Authorization: Bearer OAUTH2_TOKEN" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Em que:
OAUTH2_TOKEN
é o token de acesso gerado na etapa 1;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 o gsutil.
Desativar acesso uniforme no nível do bucket
É necessário remover todas as condições do IAM da política de IAM do bucket antes de desativar o acesso uniforme no nível do bucket.
Confira como desativar o acesso uniforme no nível bucket no seu bucket:
Console
- Abra o navegador do Cloud Storage no Console do Google Cloud.
Abra o navegador do Cloud Storage Na lista de buckets, clique no nome do bucket pretendido.
Selecione a guia Permissões na parte superior da página.
Na caixa de texto chamada Controle de acesso, clique em Alternar para refinamento. A caixa de texto desaparece 90 dias depois da ativação do acesso uniforme no nível do bucket.
No menu pop-up, selecione Detalhado.
Clique em Save.
Consulte a Solução de problemas para informações detalhadas sobre erros de operações com falha no navegador do Cloud Storage.
gsutil
Use a opção off
em um comando uniformbucketlevelaccess set
:
gsutil uniformbucketlevelaccess set off gs://BUCKET_NAME
em que BUCKET_NAME
é o nome do bucket
relevante. Por exemplo, my-bucket
.
Se bem-sucedida, a resposta terá esta aparência:
Disabling uniform bucket-level access for gs://my-bucket/...
Amostras de código
C++
Para mais informações, consulte a documentação de referência da API Cloud Storage para C++.
C#
Para mais informações, consulte a documentação de referência da API Cloud Storage para C#.
Go
Para mais informações, consulte a documentação de referência da API Cloud Storage para Go.
Java
Para mais informações, consulte a documentação de referência da API Cloud Storage para Java.
Node.js
Para mais informações, consulte a documentação de referência da API Cloud Storage para Node.js.
PHP
Para mais informações, consulte a documentação de referência da API Cloud Storage para PHP.
Python
Para mais informações, consulte a documentação de referência da API Cloud Storage para Python.
Ruby
Para mais informações, consulte a documentação de referência da API Cloud Storage para Ruby.
APIs REST
API JSON
- Consiga um token de acesso de autorização do OAuth 2.0 Playground (em inglês). Configure o Playground para usar suas credenciais do OAuth.
Crie um arquivo .json com as informações a seguir:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": false } } }
Use
cURL
para chamar a API JSON com uma solicitação dePATCH
bucket:curl -X PATCH --data-binary @JSON_FILE_NAME.json \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Em que:
JSON_FILE_NAME
é o nome do arquivo que você criou na etapa 2;OAUTH2_TOKEN
é o token de acesso gerado na etapa 1;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 o gsutil.
A seguir
- Saiba mais sobre o acesso uniforme no nível do bucket.
- Defina permissões do IAM em buckets e projetos.