Configurar atualizações em lote para regras de política de firewall

Este documento descreve como os administradores de rede podem atualizar em lote várias regras de políticas de firewall hierárquicas e de rede usando arquivos de configuração YAML. O processo de atualização em lote envolve a criação ou exportação de regras para um arquivo YAML, a modificação do arquivo e a aplicação das mudanças usando a Google Cloud CLI ou a API Compute Engine.

Se você estiver usando APIs REST para atualizar em lote as regras da política de firewall, use o método patch. O método patch permite substituir todas as regras na política de firewall fornecendo o campo rules na solicitação. Não é necessário criar um arquivo YAML. Ao usar o método patch, mantenha as regras goto_next padrão com a menor prioridade.

Se você estiver usando a CLI gcloud para atualizar em lote as regras da política de firewall, use os seguintes comandos da CLI gcloud:

  • export-rules: permite exportar a configuração das regras da política de firewall para um arquivo YAML. No arquivo YAML, é possível adicionar, modificar e remover a configuração das regras da política de firewall de acordo com seus requisitos.

  • import-rules: permite importar o arquivo de configuração das regras da política de firewall modificada. Isso substitui as regras atuais da política de firewall especificada.

Antes de começar, revise os conceitos na Visão geral das atualizações em lote.

Antes de começar

Para realizar a atualização em lote, verifique se você tem as seguintes ferramentas instaladas e configuradas:

  • Google Cloud CLI
  • API Compute Engine
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a Cloud de Confiance by S3NS serviços e APIs. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine conforme descrito nesta seção.

Console

Quando você usa o Cloud de Confiance console para acessar Cloud de Confiance by S3NS serviços e APIs, não é necessário configurar a autenticação.

gcloud

  1. Depois de instalar a Google Cloud CLI, inicialize-a executando o seguinte comando:

    
    gcloud init
    
    

    Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  2. Defina a região e a zona padrão no seu cliente local.

REST

Para usar as amostras da API REST desta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

Depois de instalar a Google Cloud CLI, inicialize-a executando o seguinte comando:


gcloud init

Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

Saiba mais em Autenticar para usar REST na Cloud de Confiance by S3NS documentação de autenticação.

Criar um arquivo YAML

É possível usar o comando export-rules para exportar as regras de política de firewall atuais para um arquivo YAML. Para mais informações, consulte Exportar regra de política de firewall. O arquivo YAML exportado inclui as regras goto_next padrão com a menor prioridade (regras com prioridade maior ou igual a 2147483644). Não modifique essas regras goto_next padrão.

No entanto, se você não quiser usar o comando export-rules, também poderá criar um novo arquivo YAML manualmente para editar as regras. Para criar um novo arquivo YAML manualmente, faça o seguinte:

  1. Crie um arquivo YAML RULES_YAML_FILE. Substitua RULES_YAML_FILE por um nome de arquivo de sua escolha.

  2. Adicione o campo rules ao arquivo YAML. O campo rules contém uma lista das regras da política de firewall. Para um esquema que descreve o formato de exportação ou importação, consulte CLOUDSDKROOT/lib/googlecloudsdk/schemas/compute/beta/FirewallPolicy.yaml. Em que CLOUDSDKROOT é o diretório de instalação da Google Cloud CLI.

    Confira a seguir um exemplo de esquema YAML.

        rules:
        -action: deny
         description:
         priority: 1
         disabled: false
         enable-logging: false
         kind: compute#firewallPolicyRule
         ...
        -action: goto_next
         priority: 2
         disabled: false
         enable-logging: false
         ...
      

    Para modificar as regras da política de firewall, consulte Modificar regras da política de firewall.

Exportar regra de política de firewall

É possível iniciar atualizações usando a CLI gcloud ou a API Compute Engine.

Exportar política de firewall hierárquica

Exporte as regras da política de firewall da política de firewall hierárquica.

gcloud

Para exportar regras da política de firewall hierárquica, use o gcloud compute firewall-policies export-rules comando:

gcloud compute firewall-policies export-rules FIREWALL_POLICY \
    --destination=DESTINATION \
    --organization=ORGANIZATION

Substitua:

  • FIREWALL_POLICY: o nome abreviado ou ID da política de firewall hierárquica da qual você quer exportar as regras
  • DESTINATION: caminho para um arquivo YAML em que a configuração será exportada
  • ORGANIZATION: organização em que a política de firewall da organização será atualizada. Precisa ser definido se FIREWALL_POLICY for um nome abreviado

API

Para exportar as regras atuais da política de firewall hierárquica, use o firewallPolicies.get método na API Compute Engine:

  GET https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
  

Substitua:

Exportar política de firewall de rede

Exporte as regras de firewall da política de firewall de rede.

gcloud

Para exportar a configuração das regras da política de firewall de rede para um arquivo, use o gcloud compute network-firewall-policies export-rules comando:

gcloud compute network-firewall-policies export-rules FIREWALL_POLICY \
    --destination=RULES_YAML_FILE_PATH \
    --global | --region=REGION

Substitua:

  • FIREWALL_POLICY: nome da política de firewall de rede da qual você quer exportar as regras
  • RULES_YAML_FILE_PATH: caminho para um arquivo YAML em que a configuração é exportada
  • REGION: especifique --global se for uma política global ou REGION se for uma política regional.

API

Para exportar as regras atuais da política de firewall de rede global, use o networkFirewallPolicies.get método na API Compute Engine:

  GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicies/FIREWALL_POLICY_NAME
   

Substitua:

  • PROJECT: ID do projeto
  • FIREWALL_POLICY_NAME: o nome da política de firewall que você quer exportar

Para exportar as regras atuais da política de firewall de rede regional, use o regionNetworkFirewallPolicies.get método na API Compute Engine:

GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME

Substitua:

  • PROJECT: ID do projeto
  • REGION: a região das regras da política de firewall
  • FIREWALL_POLICY_NAME: o nome da política de firewall que você quer exportar

Essa solicitação retorna uma definição de recurso de política de firewall.

Modificar regras da política de firewall

Modifique as regras da política de firewall que você exportou na seção anterior.

  1. Abra o arquivo exportado. Por exemplo, RULES_YAML_FILE.

  2. Adicione o campo rules, conforme mostrado no exemplo a seguir.

        rules:
         -action: allow
          description: test-rule1
          direction: INGRESS
          disabled: false
          enableLogging: false
          kind: compute#firewallPolicyRule
      

  3. Adicione os campos de configuração extras, como action, direction e priority. Confira a seguir um exemplo de arquivo YAML básico.

        rules:
         -action: allow
          description: test-rule1
          direction: INGRESS
          disabled: false
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -192.0.2.0/24
          priority: 1
          ruleTupleCount: 2
         -action: goto_next
          description: default egress rule
          direction: EGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            destIpRanges:
            -::/0
            layer4Configs:
            -ipProtocol: all
          priority: 2147483644
          ruleTupleCount: 2
         -action: goto_next
          description: default ingress rule
          direction: INGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -::/0
          priority: 2147483645
          ruleTupleCount: 2
         -action: goto_next
          description: default egress rule
          direction: EGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            destIpRanges:
            -198.51.100.0/24
            layer4Configs:
            -ipProtocol: all
          priority: 2147483646
          ruleTupleCount: 2
         -action: goto_next
          description: default ingress rule
          direction: INGRESS
          enableLogging: false
          kind: compute#firewallPolicyRule
          match:
            layer4Configs:
            -ipProtocol: all
            srcIpRanges:
            -192.0.2.0/24
          priority: 2147483647
          ruleTupleCount: 2
      

Importar regras da política de firewall

Importe as regras para a política de firewall depois de mudar o arquivo com as atualizações em lote necessárias. A importação do arquivo modificado substitui as regras da política de firewall atual pelas regras fornecidas.

Importar regras de política de firewall hierárquica

Importe as regras de firewall para a política de firewall hierárquica.

gcloud

Para importar regras para a política de firewall hierárquica, use o gcloud compute firewall-policies import-rules comando:

gcloud compute firewall-policies import-rules FIREWALL_POLICY \
    --source=RULES_YAML_FILE_PATH \
    --organization=ORGANIZATION

Substitua:

  • FIREWALL_POLICY: o nome abreviado ou ID da política de firewall hierárquica que você quer atualizar
  • RULES_YAML_FILE_PATH: caminho para o arquivo YAML do qual importar as regras
  • ORGANIZATION: organização em que a política de firewall da organização será atualizada. Precisa ser definido se FIREWALL_POLICY for um nome abreviado.

API

Para importar as regras da política de firewall, use o firewallPolicies.patch método na API Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
  

Substitua:

Importar política de firewall de rede

Importe o arquivo YAML das regras de firewall modificadas para a política de firewall de rede.

gcloud

Para importar regras para a política de firewall de rede, use o gcloud compute network-firewall-policies import-rules comando:

gcloud compute network-firewall-policies import-rules FIREWALL_POLICY \
    --source=RULES_YAML_FILE_PATH \
    --global | --region=REGION

Substitua:

  • FIREWALL_POLICY: nome da política de firewall de rede que você quer atualizar
  • RULES_YAML_FILE_PATH: o caminho escolhido para importar as regras
  • REGION: especifique --global se for uma política global ouREGION se for uma política regional.

API

Para importar as regras da política de firewall de rede modificadas, use o networkFirewallPolicies.patch método na API Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicy/FIREWALL_POLICY_NAME
  

Substitua:

  • PROJECT: o ID do projeto das regras da política de firewall de rede
  • FIREWALL_POLICY_NAME: o nome da política de firewall de rede que você quer exportar

Para importar as regras da política de firewall de rede regional modificadas, use o regionNetworkFirewallPolicies.patch método na API Compute Engine:

  PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME
   

Substitua:

  • PROJECT: o ID do projeto das regras da política de firewall de rede regional
  • REGION: a região das regras da política de firewall
  • FIREWALL_POLICY_NAME: o nome da política de firewall que você quer exportar

    Essa solicitação retorna uma definição de recurso de política de firewall de rede.

A seguir