É possível criar um bucket do Cloud Storage com regras de filtragem de IP quando quiser restringir o acesso ao bucket com base em endereços IP de origem ou redes de nuvem privada virtual (VPC).
Para adicionar ou modificar regras em um bucket, consulte Atualizar regras de filtragem de IP do bucket. Para mais informações, consulte Filtragem de IP de bucket.
Funções exigidas
Para receber as permissões necessárias para criar um bucket com regras de filtragem de IP,
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 criar um bucket com regras de filtragem de IP.
Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.createstorage.buckets.setIpFilter
Também é possível receber essas permissões com funções personalizadas. Também é possível conseguir essas permissões com outros papéis predefinidos. Para conferir quais papéis estão associados a quais permissões, consulte Papéis do IAM para o Cloud Storage.
Para instruções sobre como conceder papéis em buckets, consulte Definir e gerenciar políticas do IAM em buckets.
Criar um bucket com regras de filtragem de IP
Console
- No console do Google Cloud , acesse a página Buckets do Cloud Storage.
- Clique em Criar.
Na página Criar um bucket, insira as informações do seu bucket. Após cada uma das etapas a seguir, clique em Continuar para prosseguir para a próxima etapa:
-
Na seção Começar, faça o seguinte:
-
Insira um nome globalmente exclusivo que atenda aos requisitos de nome de bucket.
-
Para adicionar um rótulo de bucket, clique na seta de expansão para abrir a seção Rótulos, clique em add_box Adicionar rótulo e especifique um
keye umvaluepara o rótulo.
-
-
Na seção Escolha onde armazenar seus dados, faça o seguinte:
-
Selecione um tipo de local.
-
Use o menu suspenso do tipo de local para selecionar um Local em que os dados de objetos no bucket serão armazenados permanentemente.
-
Se você selecionar o tipo de local birregional, também poderá ativar a replicação turbo usando a caixa de seleção relevante.
-
-
Para configurar a replicação entre buckets, selecione Adicionar replicação entre buckets usando o Serviço de transferência do Cloud Storage e siga as etapas:
Configurar a replicação entre buckets
- No menu Bucket, selecione um bucket.
-
Na seção Configurações de replicação, clique em Configurar para definir as configurações do job de replicação.
O painel Configurar a replicação entre buckets é exibido.
- Para filtrar objetos a serem replicados por prefixo de nome de objeto, digite um prefixo com que você quer incluir ou excluir objetos e clique em Adicionar um prefixo.
- Para definir uma classe de armazenamento para os objetos replicados, selecione uma classe de armazenamento no menu Classe de armazenamento. Se você pular essa etapa, os objetos replicados vão usar a classe de armazenamento do bucket de destino por padrão.
- Clique em Concluído.
-
-
Na seção Escolha como armazenar seus dados, faça o seguinte:
-
Selecione uma classe de armazenamento padrão para o bucket ou Classe automática para gerenciamento automático da classe de armazenamento dos dados do bucket.
-
Na seção Otimizar o armazenamento para cargas de trabalho com uso intensivo de dados, faça o seguinte:
-
Para ativar o namespace hierárquico, selecione Ativar namespace hierárquico neste bucket.
- Para ativar o Rapid Cache, selecione
Ativar Rapid Cache e siga as etapas:
-
Para criar caches, clique em Configurar.
-
Na caixa de diálogo Definir configurações de cache que aparece, clique na seta suspensa ao lado das regiões listadas e selecione as zonas em que você quer criar caches.
-
Clique em Concluído.
-
-
-
-
Na seção Escolha como controlar o acesso a objetos, faça o seguinte:
-
Selecione se o bucket aplica a prevenção de acesso público.
-
Selecione Uniforme para ativar o acesso uniforme no nível do bucket.
-
Para configurar a filtragem de IP para o bucket, faça o seguinte:
Na seção Filtragem de IP, clique em Configurar.
-
Para permitir o acesso de endereços IP públicos, faça o seguinte:
- Clique em Internet pública.
-
No campo Intervalos de IP permitidos, especifique um ou mais intervalos de endereços IPv4 ou intervalos CIDR IPv6 para permitir. Por exemplo,
192.0.2.0/24ou2001:db8::/32.Para evitar o bloqueio do bucket, inclua seu próprio endereço IP.
-
Para permitir o acesso de redes VPC, faça o seguinte:
- Clique em Redes VPC.
-
Faça o seguinte para cada rede:
- Clique em Adicionar rede VPC.
-
Na seção Nova rede VPC, especifique as seguintes informações:
- No campo ID do projeto, insira o ID do projeto.
- No campo Nome da rede, insira o nome da sua rede.
-
No campo Intervalos de IP permitidos, insira um ou mais intervalos CIDR IPv4 ou IPv6, como
192.0.2.0/24ou2001:db8::/32.Para evitar o bloqueio do bucket, inclua seu próprio endereço IP.
- Clique em Concluído.
-
Para permitir que agentes de serviço confiáveis do Google Cloud e redes VPC de outras organizações ignorem sua configuração de filtragem de IP, faça o seguinte:
- Clique em Configurações avançadas.
-
Na seção Acesso do agente de serviço do Google Cloud, selecione uma das seguintes opções:
- Permitir acesso do agente de serviço: permite que serviços do Google Cloud , como BigLake, Storage Insights, Vertex AI e BigQuery, ignorem a validação de filtragem de IP quando precisarem acessar esse bucket.
- Negar acesso do agente de serviço: aplica as regras de filtro de IP para agentes de serviço do Google Cloud .
- Na seção Acesso à VPC entre organizações, siga um
destes procedimentos:
- Para permitir o acesso de redes VPC especificadas localizadas em diferentes organizações do Google Cloud , clique no botão para a posição Permitir.
- Para bloquear o acesso de redes VPC fora da sua organização do Google Cloud , clique no botão para a posição Negar (estado padrão).
- Clique em Revisar e em Salvar.
-
-
Na seção Escolha como proteger os dados do objeto, faça o seguinte:
-
Selecione qualquer uma das opções em Proteção de dados que você quer definir para o bucket.
-
Para mudar o tempo que a exclusão reversível mantém os objetos após a exclusão, marque a caixa de seleção Política de exclusão reversível e selecione a opção Definir duração de retenção personalizada. Em seguida, especifique por quanto tempo você quer reter os objetos excluídos.
Para desativar a exclusão reversível, por exemplo, se o bucket contiver principalmente dados temporários de curta duração, desmarque a caixa de seleção Política de exclusão reversível.
-
Para escolher como criptografar os dados do objeto, clique na seta de expansão identificada como Criptografia de dados e faça o seguinte:
- Na seção Tipo de chave de criptografia padrão, selecione a chave de criptografia padrão para o bucket. Se você selecionar Chave do Cloud KMS, forneça uma chave do Cloud Key Management Service.
- Na seção Regras de aplicação de criptografia, em Tipos de chave, selecione quais tipos de criptografia permitir ou restringir para novos objetos no bucket.
-
-
Clique em Criar.
gcloud
Verifique se você tem a versão 526.0.0 ou mais recente da Google Cloud CLI instalada:
gcloud version | head -n1Se você tiver uma versão anterior da CLI gcloud instalada, atualize-a:
gcloud components update --version=526.0.0Crie um arquivo JSON que defina as regras para as solicitações recebidas. Para exemplos e informações sobre como estruturar as regras de filtragem de IP do bucket, consulte Configurações de filtragem de IP do bucket.
{ "mode":"MODE", "publicNetworkSource":{ "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "vpcNetworkSources":[ { "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges":[ "RANGE_CIDR", "..." ] }, "..." ], "allowCrossOrgVpcs":ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }
Em que:
MODEé o modo da configuração de filtragem de IP do bucket. Os valores válidos são:EnabledeDisabled. Quando definido comoEnabled, as regras de filtragem de IP são aplicadas a um bucket. Qualquer solicitação recebida pelo bucket é avaliada de acordo com essas regras. Quando definido comoDisabled, todas as solicitações recebidas podem acessar o bucket.RANGE_CIDRé um intervalo de endereços IPv4 ou IPv6 de rede pública que tem permissão para acessar o bucket. É possível inserir um ou vários intervalos de endereços como uma lista.PROJECT_IDé o ID do projeto em que a rede de nuvem privada virtual (VPC) está. Para configurar várias redes VPC, é preciso especificar o projeto em que cada rede está localizada.NETWORK_NAMEé o nome da rede VPC que tem permissão para acessar o bucket. Para configurar várias redes VPC, é preciso especificar um nome para cada uma.ALLOW_CROSS_ORG_VPCSé um valor booleano que indica se as redes VPC definidas emvpcNetworkSourcespodem ser originadas de uma organização diferente. Este campo é opcional. Se definido comotrue, a solicitação permite redes VPC entre organizações. Se definido comofalse, a solicitação restringe as redes VPC à mesma organização do bucket. Se não for especificado, o valor padrão seráfalse. Esse campo só será aplicado sevpcNetworkSourcesnão estiver vazio.ALLOW_ALL_SERVICE_AGENT_ACCESSé um valor booleano que indica se os agentes de serviço podem acessar o bucket, independentemente da configuração do filtro de IP. Se o valor fortrue, outros serviços do Google Cloud poderão usar agentes de serviço para acessar o bucket sem validação baseada em IP.
Para criar um bucket com regras de filtragem de IP, execute o comando
gcloud storage buckets createno ambiente de desenvolvimento:gcloud storage buckets create gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
Em que:
BUCKET_NAMEé o nome que você quer dar ao bucket, sujeito a requisitos de nomenclatura. Exemplo:my-bucketIP_FILTER_CONFIG_FILEé o arquivo JSON que define as regras para solicitações recebidas.
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 configurações do bucket, que precisa incluir os campos de configuração
nameeipFilterpara o bucket. Para exemplos e informações sobre como estruturar as regras de filtragem de IP do bucket, consulte Configurações de filtragem de IP do bucket.{ "name": "BUCKET_NAME", "ipFilter": { "mode": "MODE", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ], "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS, "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS }, }
Em que:
MODEé o estado da configuração do filtro de IP. Os valores válidos sãoEnabledeDisabled. Quando definido comoEnabled, as regras de filtragem de IP são aplicadas a um bucket, e todas as solicitações recebidas pelo bucket são avaliadas de acordo com essas regras. Quando definido comoDisabled, todas as solicitações recebidas podem acessar o bucket e os dados dele sem qualquer avaliação se você tiver as permissões necessárias do IAM.RANGE_CIDRé um intervalo de endereços IPv4 ou IPv6 de rede pública que tem permissão para acessar o bucket. É possível inserir um ou vários intervalos de endereços como uma lista.PROJECT_IDé o ID do projeto em que a rede VPC existe. Para configurar várias redes VPC, é preciso especificar o projeto em que cada rede está localizada.NETWORK_NAMEé o nome da rede VPC que tem permissão para acessar o bucket. Para configurar várias redes VPC, especifique um nome para cada rede.ALLOW_ALL_SERVICE_AGENT_ACCESSé um valor booleano que indica se os agentes de serviço podem acessar o bucket, independentemente da configuração do filtro de IP. Se o valor fortrue, outros serviços do Google Cloud poderão usar agentes de serviço para acessar o bucket sem validação baseada em IP.ALLOW_CROSS_ORG_VPCSé um valor booleano que indica se as redes VPC definidas emvpcNetworkSourcespodem ser originadas de uma organização diferente. Este campo é opcional. Se definido comotrue, a solicitação permite redes VPC entre organizações. Se definido comofalse, a solicitação restringe as redes VPC à mesma organização do bucket. Se não for especificado, o valor padrão seráfalse. Esse campo só será aplicado sevpcNetworkSourcesnão estiver vazio.
Use
cURLpara chamar a API JSON com uma solicitação POST bucket:curl -X POST --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?project=PROJECT_ID"
Em que:
JSON_FILE_NAMEé o nome do arquivo JSON que contém as configurações do bucket.PROJECT_IDé o ID do projeto ao qual o bucket está associado. Por exemplo,my-project.
Configurações de filtragem de IP do bucket
Nesta seção, mostramos exemplos de configurações de arquivos JSON de filtragem de IP de bucket para controlar o acesso aos buckets do Cloud Storage. É possível conceder acesso a solicitações recebidas usando qualquer um dos seguintes exemplos:
Qualquer endereço IP público (IPv4 ou IPv6):
A configuração a seguir concede acesso a qualquer endereço IPv4 ou IPv6 público, mas bloqueia o tráfego originado de qualquer VPC:
gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, "allowAllServiceAgentAccess": false }
API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, "allowAllServiceAgentAccess": false } }
Intervalos de IP públicos específicos:
O exemplo de configuração a seguir concede acesso ao intervalo de endereços IPv4 público
192.0.2.0/24, mas bloqueia o tráfego originado de qualquer VPC:gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] }, "allowAllServiceAgentAccess": false }
API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] }, "allowAllServiceAgentAccess": false } }
O exemplo de configuração a seguir concede acesso ao intervalo de endereços IPv6 público
2001:db8::/32, mas bloqueia o tráfego originado de qualquer VPC:gcloud
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] }, "allowAllServiceAgentAccess": false }
API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] }, "allowAllServiceAgentAccess": false } }
Redes VPC: usando as configurações a seguir, é possível conceder acesso a recursos na sua rede VPC. É possível conceder acesso a todos os endereços IP na VPC ou a intervalos de IP específicos na VPC. Em cada um desses exemplos,
PROJECT_IDé o ID do projeto em que a rede VPC está eNETWORK_NAMEé o nome da rede VPC que tem permissão para acessar o bucket.O exemplo de configuração a seguir concede acesso a uma solicitação de qualquer endereço IPv4 ou IPv6 proveniente de uma VPC específica e bloqueia o tráfego originado de um endereço IP público:
gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ], "allowAllServiceAgentAccess": false }
API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ], "allowAllServiceAgentAccess": false } }
O exemplo de configuração a seguir concede acesso apenas a uma solicitação de uma VPC associada a uma VM com um endereço IPv4 externo como
192.0.2.0/24e bloqueia o tráfego originado de um endereço IP público:gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ], "allowAllServiceAgentAccess": false }
API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ], "allowAllServiceAgentAccess": false } }
O exemplo de configuração a seguir concede acesso apenas a uma solicitação proveniente de uma VPC com um intervalo de sub-rede IPv4 interno associado a uma VM sem endereço IP externo e bloqueia o tráfego originado de um endereço IP público:
gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ], "allowAllServiceAgentAccess": false }
Em que:
IP_ADDRESSé um intervalo de sub-rede IPv4 interno.API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ], "allowAllServiceAgentAccess": false } }
Em que:
IP_ADDRESSé um intervalo de sub-rede IPv4 interno.O exemplo de configuração a seguir concede acesso apenas a uma solicitação proveniente de uma VPC com intervalo de sub-rede IPv4 e IPv6 de pilha dupla associado a uma VM com um intervalo de endereços IPv6 externo como
2001:db8::/32e bloqueia o tráfego originado de um endereço IP público:gcloud
{ "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ], "allowAllServiceAgentAccess": false }
API JSON
{ "name": "my-bucket", "ipFilter": { "mode": "Enabled", "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ], "allowAllServiceAgentAccess": false } }
A seguir
- Criar ou atualizar regras de filtragem de IP em um bucket.
- Receber regras de filtragem de IP do bucket.
- Listar regras de filtragem de IP do bucket.
- Desativar a filtragem de IP do bucket.
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud Storage em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
Teste o Cloud Storage sem pagar nada