Nesta página, você verá como usar a configuração do bucket 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 restringir o acesso público a buckets e objetos.
Antes de começar
Antes de usar a prevenção de acesso público no Cloud Storage, verifique se você tem o papel do IAM necessário e analise as considerações para aplicar a prevenção do acesso público.
Acessar os papéis necessários
Para gerenciar a política da organização de prevenção de acesso público no nível do projeto,
da pasta ou da organização, peça ao administrador para conceder a você o
papel de administrador de políticas da organização (roles/orgpolicy.policyAdmin
)
na organização. Esse papel predefinido contém as
permissões necessárias para gerenciar a prevenção do acesso público no nível do projeto, da pasta
ou da organização. Para mais informações sobre as permissões incluídas nesse papel, consulte os detalhes sobre o papel de Administrador da organização.
Para gerenciar a configuração de prevenção de acesso público em um bucket, peça ao
administrador para conceder a você o papel de Administrador do Storage (roles/storage.admin
)
no bucket. Esse papel contém as permissões necessárias para gerenciar a prevenção de acesso
público em um bucket. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.update
storage.buckets.setIamPolicy
Para informações sobre as outras permissões incluídas no papel de administrador do Storage, consulte os detalhes sobre o papel de administrador do Storage.
Revisar considerações
Antes de começar, é recomendável garantir que nenhum fluxo de trabalho seja interrompido como resultado do bloqueio do acesso público. Consulte Considerações ao aplicar recursos atuais para mais detalhes.
Usar a configuração do bucket
Nesta seção, mostramos como aplicar e remover a prevenção do acesso público de buckets individuais e como verificar o status deles.
Definir a prevenção do acesso público
Para alterar a configuração de prevenção de acesso público de um bucket individual:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Na lista de buckets, clique no nome daquele em que você quer aplicar ou remover a prevenção de acesso público.
Na página Detalhes do bucket, clique na guia Permissões.
No card Acesso público, clique em Impedir acesso público para aplicar a prevenção contra acesso público ou clique em Permitir acesso público para remover a prevenção de acesso público.
Clique em Confirmar.
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
com a flag apropriada:
gcloud storage buckets update gs://BUCKET_NAME FLAG
Em que:
BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.FLAG
é--public-access-prevention
para ativar a prevenção de acesso público ou--no-public-access-prevention
para desativá-la.
Se a operação for bem-sucedida, a resposta será semelhante a esta:
Updating gs://my-bucket/... Completed 1
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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 aplica a prevenção do acesso público em um bucket:
O exemplo a seguir define a prevenção de acesso público como inherited
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": { "publicAccessPrevention": "STATE", } }
Em que
<var>STATE</var>
éenforced
ouinherited
.Use
cURL
para chamar a API JSON com uma solicitação de bucketPATCH
que inclui ofields
desejado: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 JSON que você criou na etapa anterior.BUCKET_NAME
é o nome do bucket pertinente. Por exemplo,my-bucket
.
API XML
A API XML não pode ser usada para gerenciar a prevenção de acesso público. Use uma das outras ferramentas do Cloud Storage, como o console do Google Cloud.
Ver status de prevenção do acesso público
Para ver o status de prevenção de acesso público de um bucket individual:
Console
- No Console do Google Cloud, acesse a página Buckets do Cloud Storage.
Clique no nome do bucket em que você quer conferir o status de prevenção de acesso público.
Clique na guia Permissões..
O cartão Acesso público mostra o status do bucket.
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(public_access_prevention)"
Em que BUCKET_NAME
é o nome do bucket
com o status que você quer visualizar. Por exemplo, my-bucket
.
Se a operação for bem-sucedida, a resposta será semelhante a esta:
public_access_prevention:inherited
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
.A resposta terá esta aparência:
{ "iamConfiguration": { ... "publicAccessPrevention": "FLAG" } }
Em que
FLAG
éinherited
ouenforced
.
API XML
A API XML não pode ser usada para gerenciar a prevenção de acesso público. Use uma das outras ferramentas do Cloud Storage, como o console do Google Cloud.
Usar a política da organização
Nesta seção, mostramos como aplicar e remover a política da organização de prevenção de acesso público, e como verificar o status da política.
Definir a prevenção do acesso público
Para definir a prevenção do acesso público no nível do projeto, da pasta ou da organização:
Console
Siga as instruções em Como criar e gerenciar políticas da organização usando a restrição storage.publicAccessPrevention
.
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 beta resource-manager org-policies
:
gcloud beta resource-manager org-policies STATE \ constraints/storage.publicAccessPrevention \ --RESOURCE RESOURCE_ID
Em que:
STATE
pode ter os seguintes valores:enable-enforce
: aplica a prevenção do acesso público ao recurso.disable-enforce
: desativa a prevenção do acesso público ao recurso.delete
: remove a restrição de política da organização do recurso, para que ele herde o valor do recurso pai.
RESOURCE
é o recurso para o qual você 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 de pasta oumy-pet-project
para um ID do projeto.
Para mais instruções, consulte Como usar restrições.
Veja a seguir um exemplo de saída quando se usa disable-enforce
:
etag: BwVJi0OOESU= booleanPolicy: {} constraint: constraints/storage.publicAccessPrevention
Ver status de prevenção do acesso público
Para ver o status da prevenção ao acesso público no nível do projeto, da pasta ou da organização, siga estas etapas:
Console
Siga as instruções em Como criar e gerenciar políticas da organização usando a restrição storage.publicAccessPrevention
.
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 describe --effective
:
gcloud beta resource-manager org-policies describe \ constraints/storage.publicAccessPrevention --effective \ --RESOURCE RESOURCE_ID
Em que:
RESOURCE
é o recurso para o qual você quer ver o status 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 de pasta emy-pet-project
para um ID do projeto.
Para mais instruções, consulte Como usar restrições.