Esta página descreve como criar regras de filtragem de IP de bucket. Ao ativar a filtragem de IP do bucket, você pode controlar o acesso aos seus buckets examinando as solicitações recebidas em relação aos endereços IP especificados nas regras de filtragem de IP do bucket. Para mais detalhes, consulte Filtragem de IPs de bucket.
Funções exigidas
Para receber as permissões necessárias para criar regras de filtragem de IP de 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 criar regras de filtragem de IP de bucket.
Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
storage.buckets.create
storage.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 nos buckets, consulte Usar o IAM com buckets.
Criar regras de filtragem de IP do bucket
Linha de comando
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Crie um arquivo JSON que defina as regras para 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": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] }
Em que:
mode
é o modo da configuração de filtragem de IP do bucket. Os valores válidos sãoEnabled
eDisabled
. Quando definido comoEnabled
, as regras de filtragem de IP são aplicadas a um bucket. Todas as solicitações recebidas no bucket são avaliadas 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) existe. Para configurar várias redes VPC, é necessário 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, é necessário especificar um nome para cada uma delas.
Para criar um bucket com regras de filtragem de IP, execute o comando
gcloud alpha storage buckets create
no ambiente de desenvolvimento:gcloud alpha 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. Por exemplo,my-bucket
.IP_FILTER_CONFIG_FILE
é o arquivo JSON que define as regras para solicitações recebidas.
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 configurações do bucket, que precisam incluir os campos de configuração
name
eipFilter
. 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": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] } }
Em que:
mode
é o estado da configuração do filtro de IP. Os valores válidos sãoEnabled
eDisabled
. Quando definido comoEnabled
, as regras de filtragem de IP são aplicadas a um bucket, e todas as solicitações recebidas são avaliadas de acordo com essas regras. Quando definido comoDisabled
, todas as solicitações recebidas podem acessar o bucket e os dados sem nenhuma avaliação se você tiver as permissões necessárias do IAM. Para ativar com segurança as regras de filtragem de IP do bucket, comece configurando as regras com omode
definido comoDisabled
para que você possa adicionar e ajustar regras sem bloquear as solicitações imediatamente. Depois de verificar se as regras estão definidas corretamente, atualizemode
paraEnabled
para ativar a filtragem de IPs de 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 VPC existe. Para configurar várias redes VPC, é necessário 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, é necessário especificar um nome para cada uma delas.
Use
cURL
para chamar a API JSON com uma solicitação de bucket POST: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_IDENTIFIER&projection=full"
Em que:
JSON_FILE_NAME
é o nome do arquivo JSON que contém as configurações do bucket.PROJECT_IDENTIFIER
é o ID ou o número do projeto ao qual o bucket está associado. Por exemplo,my-project
.
Configurações de filtragem de IP do bucket
Esta seção apresenta exemplos de configurações de arquivos JSON de filtragem de IP de bucket para controlar o acesso aos seus buckets do Cloud Storage. É possível conceder acesso a solicitações recebidas usando qualquer um destes 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:
{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] } } }
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:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["192.0.2.0/24"] } } }
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:{ "ipFilterConfig": { "mode": "Enabled" "publicNetworkSource": { "allowedIpCidrRanges": ["2001:db8::/32"] } } }
Redes VPC: usando as configurações abaixo, é 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 nela. Em cada um desses exemplos,
PROJECT_ID
é o ID do projeto em que a rede VPC existe 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:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["0.0.0.0/0", "::/0"] }, ] } }
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/24
e bloqueia o tráfego originado de um endereço IP público:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["192.0.2.0/24"] }, ] } }
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:
{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["IP_ADDRESS"] }, ] } }
Onde
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::/32
e bloqueia o tráfego originado de um endereço IP público:{ "ipFilterConfig": { "mode": "Enabled" "vpcNetworkSources": [ { "network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": ["2001:db8::/32"] }, ] } }
A seguir
- Atualizar as regras de filtragem de IP do bucket.
- Receba as regras de filtragem de IP do bucket.
- Listar as regras de filtragem de IP do bucket.
- Desative 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.
Faça uma avaliação gratuita do Cloud Storage