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 Google Cloud console, 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 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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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 CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o 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 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 Google Cloud console, 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 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, acesse Configurar a autenticação para 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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
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, acesse Configurar a autenticação para bibliotecas de cliente.
APIs REST
API JSON
Ter a CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o 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 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 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 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.