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

Nesta página, explicamos como configurar a atualização em lote para todas as regras de política de firewall (hierárquicas e de firewall de rede). Para realizar a atualização em lote, use a Google Cloud CLI ou a API Compute Engine.

Para mais informações sobre atualizações em lote, consulte Visão geral.

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 modificadas. Isso substitui as regras atuais da política de firewall especificada.

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 prioridade mais baixa.

Antes de começar

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 serviços e APIs do Google Cloud . Para executar códigos ou amostras de um ambiente de desenvolvimento local, faça a autenticação no Compute Engine conforme descrito nesta seção.

Console

Quando você usa o console Google Cloud para acessar serviços Google Cloud 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 nesta 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.

Para mais informações, consulte Autenticar para usar REST na documentação de autenticação doGoogle Cloud .

Criar um arquivo YAML

Use 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 arquivo YAML manualmente para editar as regras. Para criar um 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 regras da política de firewall, consulte Modificar regras da política de firewall.

Exportar regra da política de firewall

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

Exportar política de firewall hierárquica

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

gcloud

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

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 de que você quer exportar as regras.
  • DESTINATION: caminho para um arquivo YAML em que a configuração será exportada
  • ORGANIZATION: a organização em que a política de firewall da organização será atualizada. Precisa ser definido se FIREWALL_POLICY for um nome curto

API

Para exportar as regras atuais da política de firewall hierárquica, use o método firewallPolicies.get 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 comando gcloud compute network-firewall-policies export-rules:

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 de onde 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 regional.

API

Para exportar as regras atuais da política de firewall de rede global, use o método networkFirewallPolicies.get 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 método regionNetworkFirewallPolicies.get 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 outros campos de configuração, 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 sua 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 de política de firewall atuais pelas regras fornecidas.

Importar regras de política de firewall hierárquica

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

gcloud

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

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 a ser atualizada
  • RULES_YAML_FILE_PATH: caminho para o arquivo YAML de onde importar regras
  • ORGANIZATION: a 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 método firewallPolicies.patch 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 comando gcloud compute network-firewall-policies import-rules:

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 a ser atualizada
  • RULES_YAML_FILE_PATH: o caminho escolhido para importar as regras
  • REGION: especifique --global se for uma política global ou REGION se for uma política regional.

API

Para importar as regras modificadas da política de firewall de rede, use o método networkFirewallPolicies.patch 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 modificadas da política de firewall de rede regional, use o método regionNetworkFirewallPolicies.patch 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 de 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