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
Depois de instalar a Google Cloud CLI, inicialize-a executando o seguinte comando:
gcloud init
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
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:
Crie um arquivo YAML
RULES_YAML_FILE. SubstituaRULES_YAML_FILEpor um nome de arquivo de sua escolha.Adicione o campo
rulesao arquivo YAML. O camporulescontém uma lista das regras da política de firewall. Para um esquema que descreve o formato de exportação ou importação, consulteCLOUDSDKROOT/lib/googlecloudsdk/schemas/compute/beta/FirewallPolicy.yaml. Em queCLOUDSDKROOTé 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 regrasDESTINATION: caminho para um arquivo YAML em que a configuração será exportadaORGANIZATION: organização em que a política de firewall da organização será atualizada. Precisa ser definido seFIREWALL_POLICYfor 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:
FIREWALL_POLICY_NAME: o nome da política de firewall que você quer exportarEssa solicitação retorna uma definição de recurso de política de firewall.
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 regrasRULES_YAML_FILE_PATH: caminho para um arquivo YAML em que a configuração é exportadaREGION: especifique--globalse for uma política global ouREGIONse 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 projetoFIREWALL_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 projetoREGION: a região das regras da política de firewallFIREWALL_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.
Abra o arquivo exportado. Por exemplo,
RULES_YAML_FILE.Adicione o campo
rules, conforme mostrado no exemplo a seguir.rules: -action: allow description: test-rule1 direction: INGRESS disabled: false enableLogging: false kind: compute#firewallPolicyRuleAdicione os campos de configuração extras, como
action,directionepriority. 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 atualizarRULES_YAML_FILE_PATH: caminho para o arquivo YAML do qual importar as regrasORGANIZATION: organização em que a política de firewall da organização será atualizada. Precisa ser definido seFIREWALL_POLICYfor 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:
FIREWALL_POLICY_NAME: o nome da política de firewall que você quer exportarEssa solicitação retorna uma definição de recurso de política de firewall.
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 atualizarRULES_YAML_FILE_PATH: o caminho escolhido para importar as regrasREGION: especifique--globalse for uma política global ouREGIONse 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 redeFIREWALL_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 regionalREGION: a região das regras da política de firewallFIREWALL_POLICY_NAME: o nome da política de firewall que você quer exportarEssa solicitação retorna uma definição de recurso de política de firewall de rede.
A seguir
- Para uma introdução às regras de firewall, consulte Componentes de regra de política de firewall.
- Para uma visão geral da atualização em lote das regras da política de firewall, consulte Visão geral.