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.getstorage.buckets.list- Esta autorização só é necessária se planear usar a Cloud de Confiance 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.
Ter a CLI gcloud instalada e inicializada, o que lhe permite gerar um token de acesso para o cabeçalho
Authorization.Use
cURLpara 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 Cloud de Confiance 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 Cloud de Confiance 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-accesspara ativar o acesso uniforme ao nível do contentor ouno-uniform-bucket-level-accesspara 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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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 é
trueoufalse.Use
cURLpara chamar a API JSON com um pedido dePATCHBucket:curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.s3nsapis.fr/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 Cloud de Confiance 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 Cloud de Confiance 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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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.
Antes de executar exemplos de código, defina a variável GOOGLE_CLOUD_UNIVERSE_DOMAIN environment
como s3nsapis.fr.
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
cURLpara chamar a API JSON com um pedidoGETBucket que inclua ofieldspretendido:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/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.