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 rede). Para realizar a atualização em lote, use a CLI do Google Cloud 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 de 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.

Se você estiver usando APIs REST para atualizar em lote as regras de política do 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 Trusted Cloud by S3NS . Para executar códigos ou amostras em um ambiente de desenvolvimento local, faça a autenticação no Compute Engine, conforme descrito nesta seção.

Console

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

gcloud

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

    
    gcloud init
    
    

    Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI do 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 gcloud CLI.

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


gcloud init

Se você estiver usando um provedor de identidade externo (IdP), primeiro faça login na CLI do gcloud com sua identidade federada.

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

Criar um arquivo YAML

É possível usar o comando export-rules para exportar regras de política de firewall 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 prioridade mais baixa (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 é possível 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 de política de firewall. Para conferir 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 CLI do Google Cloud.

    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 as 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 de firewall hierárquica.

gcloud

Para exportar regras da 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 o ID da sua política de firewall hierárquica para exportar 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 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 da rede

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

gcloud

Para exportar a configuração de regras de 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 para exportar 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 da 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 da 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 exportadas 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 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 a política de firewall depois de alterar o arquivo com as atualizações em lote necessárias. A importação do arquivo modificado substitui as regras existentes da política de firewall pelas fornecidas.

Importar regras de políticas de firewall hierárquicas

Importe 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 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 o ID da política de firewall hierárquica a ser atualizada
  • RULES_YAML_FILE_PATH: caminho para o arquivo YAML de importação de regras
  • ORGANIZATION: organização em que a política de firewall da organização precisa ser atualizada. Precisa ser definido se FIREWALL_POLICY for um nome curto.

API

Para importar as regras de 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 regional.

API

Para importar as regras de política de firewall de rede modificadas, 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 de política do 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 modificada, 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 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