Esta página descreve como usar a definição do contentor de prevenção de acesso público e a restrição da política da organização de prevenção de acesso público. A prevenção do acesso público permite-lhe restringir o acesso público aos seus contentores e objetos.
Antes de começar
Antes de usar a prevenção de acesso público no Cloud Storage, certifique-se de que tem a função do IAM necessária e reveja as considerações para aplicar a prevenção de acesso público.
Obtenha as funções necessárias
Para gerir a política da organização de prevenção de acesso público ao nível do projeto, da pasta ou da organização, peça ao seu administrador para lhe conceder a função de administrador da política da organização (roles/orgpolicy.policyAdmin
) na organização. Esta função predefinida contém as autorizações necessárias para gerir a prevenção de acesso público ao nível do projeto, da pasta ou da organização. Para ver informações sobre as autorizações incluídas
nesta função, consulte os
detalhes sobre a função de administrador da organização.
Para gerir a definição de prevenção de acesso público 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 contém as autorizações necessárias para gerir a prevenção de acesso público num contentor. Para ver as autorizações exatas necessárias,
expanda a secção Autorizações necessárias:
Autorizações necessárias
storage.buckets.update
storage.buckets.setIamPolicy
Para obter informações sobre as outras autorizações incluídas na função de administrador do armazenamento, consulte os detalhes sobre a função de administrador do armazenamento.
Considerações de revisão
Antes de começar, recomendamos que se certifique de que nenhum fluxo de trabalho é interrompido como resultado do bloqueio do acesso público. Consulte as Considerações ao aplicar a restrição aos recursos existentes para mais detalhes.
Use a definição de contentor
Esta secção mostra como aplicar e remover a prevenção de acesso público para contentores individuais, bem como verificar o estado de contentores individuais.
Defina a prevenção de acesso público
Para alterar a definição de prevenção de acesso público de um contentor individual:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Na lista de contentores, clique no nome do contentor para o qual quer aplicar ou remover a prevenção de acesso público.
Na página Detalhes do contentor, clique no separador Autorizações.
No cartão Acesso público, clique em Impedir acesso público para aplicar a prevenção de acesso público ou clique em Permitir acesso público para remover a prevenção de acesso público.
Clique em Confirm.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Trusted Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud storage buckets update
com a flag adequada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Onde:
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.FLAG
é--public-access-prevention
para ativar a prevenção de acesso público ou--no-public-access-prevention
para a desativar.
Se for bem-sucedido, a resposta é semelhante ao seguinte exemplo:
Updating gs://my-bucket/... Completed 1
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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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 aplica a prevenção de acesso público a um contentor:
O seguinte conjunto de exemplos define a prevenção de acesso público como inherited
para um 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": { "publicAccessPrevention": "STATE", } }
Onde
<var>STATE</var>
éenforced
ouinherited
.Use
cURL
para chamar a API JSON com um pedido dePATCH
contentor que inclua ofields
pretendido: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 para o ficheiro JSON que criou no passo anterior.BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.
API XML
Não é possível usar a API XML para gerir a prevenção de acesso público. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a Trusted Cloud consola.
Veja o estado da prevenção de acesso público
Para ver o estado da prevenção de acesso público de um contentor individual:
Consola
- Na Trusted Cloud consola, aceda à página Recipientes do Cloud Storage.
Clique no nome do contentor para o qual quer ver o estado de prevenção de acesso público.
Clique no separador Autorizações.
O cartão Acesso público mostra o estado do seu contentor.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Trusted 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(public_access_prevention)"
Onde BUCKET_NAME
é o nome do contentor cuja
status quer ver. Por exemplo, my-bucket
.
Se for bem-sucedido, a resposta é semelhante ao seguinte exemplo:
public_access_prevention:inherited
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
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.s3nsapis.fr/storage/v1/b/BUCKET_NAME?fields=iamConfiguration"
Em que
BUCKET_NAME
é o nome do contentor relevante. Por exemplo,my-bucket
.A resposta tem o seguinte aspeto:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }
Onde
FLAG
éinherited
ouenforced
.
API XML
Não é possível usar a API XML para gerir a prevenção de acesso público. Em alternativa, use uma das outras ferramentas do Cloud Storage, como a Trusted Cloud consola.
Use a política da organização
Esta secção mostra como aplicar e remover a política da organização de prevenção do acesso público, bem como verificar o estado da política.
Defina a prevenção de acesso público
Para definir a prevenção de acesso público ao nível do projeto, da pasta ou da organização:
Consola
Siga as instruções em Criar e gerir políticas da organização
usando a restrição storage.publicAccessPrevention
.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Trusted Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando gcloud beta resource-manager org-policies
:
gcloud beta resource-manager org-policies STATE \ constraints/storage.publicAccessPrevention \ --RESOURCE RESOURCE_ID
Onde:
STATE
pode ter os seguintes valores:enable-enforce
: aplique a prevenção de acesso público ao recurso.disable-enforce
: desative a prevenção de acesso público para o recurso.delete
: remover a restrição da política da organização do recurso, para que o recurso herde o valor do respetivo recurso principal.
RESOURCE
é o recurso para o qual quer definir a prevenção de acesso público. Por exemplo,organization
,project
oufolder
.RESOURCE_ID
é o ID do recurso. Por exemplo,123456789012
para um ID da organização,245321
para um ID da pasta, oumy-pet-project
para um ID do projeto.
Consulte o artigo Usar restrições para ver mais instruções.
Segue-se um exemplo do resultado quando usa disable-enforce
:
etag: BwVJi0OOESU= booleanPolicy: {} constraint: constraints/storage.publicAccessPrevention
Veja o estado da prevenção de acesso público
Para ver o estado da prevenção de acesso público ao nível do projeto, da pasta ou da organização:
Consola
Siga as instruções em Criar e gerir políticas da organização
usando a restrição storage.publicAccessPrevention
.
Para saber como obter informações detalhadas sobre erros relativos a operações do Cloud Storage falhadas na Trusted Cloud consola, consulte a secção Resolução de problemas.
Linha de comandos
Use o comando describe --effective
:
gcloud beta resource-manager org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
Onde:
RESOURCE
é o recurso para o qual quer ver o estado de prevenção de acesso público. Por exemplo,organization
,project
oufolder
.RESOURCE_ID
é o ID do recurso. Por exemplo,123456789012
para um ID da organização,245321
para um ID da pasta emy-pet-project
para um ID do projeto.
Consulte o artigo Usar restrições para ver mais instruções.