Criar ou atualizar regras de filtragem de IP em um bucket

Esta página descreve como criar ou atualizar as regras de filtragem de IP do bucket em um bucket atual.

Funções exigidas

Para receber as permissões necessárias para atualizar as regras de filtragem de IP 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 atualizar as regras de filtragem de IP do bucket.

Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

  • storage.buckets.update
  • storage.buckets.setIpFilter

Também é possível receber essas permissões com funções personalizadas. Essas permissões também podem ser concedidas 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 a projetos, consulte Gerenciar o acesso a projetos.

Criar ou atualizar regras de filtragem de IP em um bucket

gcloud

  1. Verifique se você tem a versão 526.0.0 ou mais recente da Google Cloud CLI instalada:

    gcloud version | head -n1
    
  2. Se você tiver uma versão anterior da CLI gcloud instalada, atualize-a:

    gcloud components update --version=526.0.0
    
  3. Crie um arquivo JSON que defina 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":"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 Enabled e Disabled. Quando definido como Enabled, as regras de filtragem de IP são aplicadas a um bucket. Qualquer solicitação recebida para o bucket é avaliada em relação a essas regras. Quando definido como Disabled, todas as solicitações recebidas podem acessar o bucket.

    • RANGE_CIDR é um intervalo de endereços IPv4 ou IPv6 de rede pública que pode 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, especifique 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 uma.

    • ALLOW_CROSS_ORG_VPCS é um valor booleano que indica se as redes VPC definidas em vpcNetworkSources podem ter origem em uma organização diferente. Este campo é opcional. Se definido como true, a solicitação permitirá redes VPC entre organizações. Se definido como false, a solicitação restringe as redes VPC à mesma organização do bucket. Se não for especificado, o valor padrão será false.

    • ALLOW_ALL_SERVICE_AGENT_ACCESS é um valor booleano que indica se os agentes de serviço podem acessar o bucket, independente da configuração de filtro de IP. Se o valor for true, outros serviços Google Cloud poderão usar agentes de serviço para acessar o bucket sem validação baseada em IP.

  4. Para atualizar as regras de filtragem de IP do bucket, execute o comando gcloud alpha storage buckets update no ambiente de desenvolvimento:

    gcloud alpha storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE

    Em que:

    • BUCKET_NAME é o nome do bucket. Por exemplo, my-bucket.
    • IP_FILTER_CONFIG_FILE é o arquivo JSON criado na etapa anterior.

APIs REST

API JSON

  1. Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um arquivo JSON com as configurações do bucket, que precisa incluir os campos de configuração name e ipFilter para 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.

    {
      "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ão: Enabled e Disabled. Quando definido como Enabled, as regras de filtragem de IP são aplicadas a um bucket, e todas as solicitações recebidas para ele são avaliadas de acordo com essas regras. Quando definido como Disabled, todas as solicitações recebidas podem acessar o bucket e os dados dele sem avaliação.

    • RANGE_CIDR é um intervalo de endereços IPv4 ou IPv6 de rede pública que pode 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, especifique o projeto em que cada rede está localizada.

    • NETWORK_NAME é o nome da rede VPC que pode acessar o bucket. Para configurar várias redes VPC, especifique um nome para cada uma delas.

    • ALLOW_ALL_SERVICE_AGENT_ACCESS é um valor booleano que indica se os agentes de serviço podem acessar o bucket, independente da configuração do filtro de IP. Se o valor for true, outros serviços 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 na lista vpcNetworkSources podem ser originadas de uma organização diferente. Este campo é opcional. Se definido como true, a solicitação permitirá redes VPC entre organizações. Se definido como false, a solicitação restringe as redes VPC à mesma organização do bucket. Se não for especificado, o valor padrão será false.

  3. Use cURL para chamar a API JSON com uma solicitação PATCH bucket:

    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?project=PROJECT_IDENTIFIER"

    Em que:

    • JSON_FILE_NAME é o nome do arquivo JSON criado na etapa anterior.
    • BUCKET_NAME é o nome do bucket.
    • PROJECT_IDENTIFIER é o ID ou o número do projeto ao qual seu bucket está associado. Por exemplo, my-project.

A seguir

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