Esta página mostra como ativar, desativar e verificar o estado do acesso uniforme ao nível do contentor num contentor do Cloud Storage.
Funções necessárias
Para receber as autorizações necessárias para definir e gerir o acesso de nível de contentor uniforme num contentor, peça ao seu administrador para lhe conceder a função de administrador do armazenamento (roles/storage.admin
) no contentor. Esta função predefinida contém as autorizações necessárias para definir e gerir o acesso uniforme ao nível do contentor. Para ver as autorizações exatas necessárias, expanda a secção
Autorizações necessárias:
Autorizações necessárias
storage.buckets.get
storage.buckets.list
- Esta autorização só é necessária se planear usar a Google Cloud consola para executar as instruções nesta página.
storage.buckets.update
Também pode conseguir estas autorizações com funções personalizadas.
Para ver informações sobre a concessão de funções em contentores, consulte o artigo Use o IAM com contentores.
Verifique a utilização da ACL
Antes de ativar o acesso de nível de contentor uniforme, use o Cloud Monitoring para garantir que o seu contentor não está a usar LCAs para fluxos de trabalho. Para mais informações, consulte o artigo Verifique a utilização da ACL de objetos.
Consola
Para ver as métricas de um recurso monitorizado através do Metrics Explorer, faça o seguinte:
-
Na Google Cloud consola, aceda à página leaderboard Explorador de métricas:
Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.
- Na barra de ferramentas da Google Cloud consola, selecione o seu Google Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
- No elemento Métrica, expanda o menu Selecionar uma métrica,
introduza
ACLs usage
na barra de filtros e, de seguida, use os submenus para selecionar um tipo de recurso e uma métrica específicos:- No menu Recursos ativos, selecione GCS Bucket.
- No menu Categorias de métricas ativas, selecione Authz.
- No menu Métricas ativas, selecione Utilização de ACLs.
- Clique em Aplicar.
Para adicionar filtros que removem séries cronológicas dos resultados da consulta, use o elemento Filter.
- Configure a forma como os dados são vistos. Por exemplo, para ver os seus dados pela operação ACL, para o elemento Agregação, defina o primeiro menu como Soma e o segundo menu como acl_operation.
Para mais informações sobre como configurar um gráfico, consulte o artigo Selecione métricas quando usar o explorador de métricas.
Consulte storage
para ver uma lista completa das métricas disponíveis para o Cloud Storage. Para obter informações sobre séries cronológicas, consulte o artigo
Métricas, séries cronológicas e recursos.
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON 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'
Onde:
PROJECT_ID
é o ID ou o número do projeto para o qual quer ver a utilização de LCAs. Por exemplo,my-project
.END_TIME
é o fim do intervalo de tempo para o qual quer ver a utilização da ACL. Por exemplo,2019-11-02T15:01:23.045123456Z
.START_TIME
é o início do intervalo de tempo para o qual quer ver a utilização da ACL. Por exemplo,2016-10-02T15:01:23.045123456Z
.
Se o pedido devolver um objeto vazio {}
, não existe uma utilização recente da ACL para o seu projeto.
Defina o acesso uniforme ao nível do contentor
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor para o qual quer ativar ou desativar o acesso uniforme ao nível do contentor.
Selecione o separador Permissões junto à parte superior da página.
No campo denominado Controlo de acesso, clique no link Mudar para.
No menu apresentado, selecione Uniforme ou Detalhado.
Clique em Guardar.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage buckets update
:
gcloud storage buckets update gs://BUCKET_NAME --STATE
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.STATE
éuniform-bucket-level-access
para ativar o acesso uniforme ao nível do contentor ouno-uniform-bucket-level-access
para o desativar.
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
O exemplo seguinte ativa o acesso uniforme ao nível do contentor num contentor:
O exemplo seguinte desativa o acesso uniforme ao nível do contentor num contentor:
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Crie um ficheiro JSON que contenha as seguintes informações:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": STATE } } }
Onde STATE é
true
oufalse
.Use
cURL
para chamar a API JSON com um pedido 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"
Onde:
JSON_FILE_NAME
é o caminho do ficheiro que criou no passo 2.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
API XML
Não é possível usar a API XML para trabalhar com o acesso ao nível do contentor uniforme. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a CLI gcloud.
Veja o estado do acesso uniforme ao nível do contentor
Consola
- Na Google Cloud consola, aceda à página Recipientes do Cloud Storage.
Clique no nome do contentor cujo estado quer ver.
Clique no separador Configuração.
O estado do acesso uniforme ao nível do contentor para o contentor encontra-se no campo Controlo de acesso.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Google Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage buckets describe
com a flag
--format
:
gcloud storage buckets describe gs://BUCKET_NAME --format="default(uniform_bucket_level_access)"
Onde BUCKET_NAME
é o nome do contentor relevante. Por exemplo, my-bucket
.
Se for bem-sucedido, a resposta tem o seguinte aspeto:
uniform_bucket_level_access: true
Bibliotecas cliente
C++
Para mais informações, consulte a documentação de referência da API C++ do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
C#
Para mais informações, consulte a documentação de referência da API C# do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Go
Para mais informações, consulte a documentação de referência da API Go do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Java
Para mais informações, consulte a documentação de referência da API Java do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Node.js
Para mais informações, consulte a documentação de referência da API Node.js do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
PHP
Para mais informações, consulte a documentação de referência da API PHP do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Python
Para mais informações, consulte a documentação de referência da API Python do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
Ruby
Para mais informações, consulte a documentação de referência da API Ruby do Cloud Storage.
Para se autenticar no Cloud Storage, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization
.Use
cURL
para chamar a API JSON com um pedido deGET
contentor que inclua ofields
pretendido: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 contentor relevante. Por exemplo,my-bucket
.Se o contentor tiver o acesso uniforme ao nível do contentor ativado, a resposta é semelhante ao seguinte exemplo:
{ "iamConfiguration": { "uniformBucketLevelAccess": { "enabled": true, "lockedTime": "LOCK_DATE" } } }
API XML
Não é possível usar a API XML para trabalhar com o acesso ao nível do contentor uniforme. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a CLI gcloud.
O que se segue?
- Saiba mais sobre o acesso uniforme ao nível do contentor.
- Defina autorizações da IAM em contentores e projetos.