Esta página explica como configurar a atualização em lote para todas as regras da política de firewall (políticas de firewall hierárquicas e de rede). Para fazer a atualização em lote, pode usar a CLI do Google Cloud ou a API Compute Engine.
Para mais informações sobre atualizações em lote, consulte a Vista geral.
Se estiver a usar 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 ficheiro YAML. No ficheiro YAML, pode adicionar, modificar e remover a configuração das regras da política de firewall de acordo com os seus requisitos.import-rules
: permite-lhe importar o ficheiro de configuração das regras da política de firewall modificadas. Isto substitui as regras existentes da política de firewall especificada.
Se estiver a usar 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
no pedido. Não precisa de criar um ficheiro YAML. Quando usar o método patch
, mantenha as regras goto_next
predefinidas com a prioridade mais baixa.
Antes de começar
Se ainda não o fez, configure a autenticação. A autenticação é o processo através do qual a sua identidade é validada para aceder a serviços e APIs. Google Cloud Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine, conforme descrito nesta secção.
Consola
Quando usa a Google Cloud consola para aceder aos Google Cloud serviços e às APIs, não precisa de configurar a autenticação.
gcloud
Depois de instalar a CLI gcloud, inicialize-a executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Defina a região e a zona predefinidas no seu cliente local.
REST
Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.
Depois de instalar a CLI gcloud, inicialize-a executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.
Crie um ficheiro YAML
Pode usar o comando export-rules
para exportar regras de políticas de firewall existentes para um ficheiro YAML. Para mais informações, consulte o artigo Exporte a regra da política de firewall.
O ficheiro YAML exportado inclui as regras goto_next
predefinidas
com a prioridade mais baixa (regras com uma prioridade superior ou
igual a 2147483644). Certifique-se de que não modifica estas regras goto_next
predefinidas.
No entanto, se não quiser usar o comando export-rules
, também pode
criar um novo ficheiro YAML manualmente para editar as regras. Para criar um novo ficheiro YAML manualmente, faça o seguinte:
Crie um ficheiro YAML
RULES_YAML_FILE
. SubstituaRULES_YAML_FILE
por um nome de ficheiro à sua escolha.Adicione o campo
rules
ao ficheiro YAML. O camporules
contém uma lista das regras da política de firewall. Para ver um esquema que descreve o formato de exportação ou importação, consulteCLOUDSDKROOT/lib/googlecloudsdk/schemas/compute/beta/FirewallPolicy.yaml
. OndeCLOUDSDKROOT
é o diretório de instalação da CLI do Google Cloud.Segue-se um exemplo de um 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 de política de firewall, consulte o artigo Modifique as regras de política de firewall.
Exporte a regra de política de firewall
Pode iniciar atualizações através da CLI gcloud ou da API Compute Engine.
Exporte a 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 o seguinte:
FIREWALL_POLICY
: o nome abreviado ou o ID da sua política de firewall hierárquica a partir da qual exportar regrasDESTINATION
: caminho para um ficheiro YAML onde a configuração vai ser exportadaORGANIZATION
: organização na qual a política de firewall da organização vai ser atualizada. Tem de ser definido seFIREWALL_POLICY
for um diminutivo
API
Para exportar as regras existentes 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 o seguinte:
FIREWALL_POLICY_NAME
: o nome da política de firewall que quer exportarEste pedido devolve uma definição de recurso de política de firewall.
Exporte a política de firewall de rede
Exporte 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 ficheiro, 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 o seguinte:
FIREWALL_POLICY
: nome da política de firewall de rede a partir da qual exportar regrasRULES_YAML_FILE_PATH
: caminho para um ficheiro YAML onde a configuração é exportadaREGION
: especifique--global
se for uma política global ouREGION
se for uma política regional.
API
Para exportar as regras existentes 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 o seguinte:
PROJECT
: o ID do seu projetoFIREWALL_POLICY_NAME
: o nome da política de firewall que quer exportar
Para exportar as regras existentes 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 o seguinte:
PROJECT
: o ID do seu projetoREGION
: a região das regras da política de firewallFIREWALL_POLICY_NAME
: o nome da política de firewall que quer exportar
Este pedido devolve uma definição de recurso de política de firewall.
Modifique as regras da política de firewall
Modifique as regras da política de firewall que exportou na secção anterior.
Abra o ficheiro exportado. Por exemplo,
RULES_YAML_FILE
.Adicione o campo
rules
, conforme mostrado no exemplo seguinte.rules: -action: allow description: test-rule1 direction: INGRESS disabled: false enableLogging: false kind: compute#firewallPolicyRule
Adicione os campos de configuração adicionais, como
action
,direction
epriority
. Segue-se um exemplo de um ficheiro 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
Importe regras de políticas de firewall
Importe as regras para a política de firewall depois de alterar o ficheiro com as atualizações em lote necessárias. A importação do ficheiro modificado substitui as regras de política de firewall existentes pelas regras fornecidas.
Importe 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 o seguinte:
FIREWALL_POLICY
: o nome abreviado ou o ID da sua política de firewall hierárquica a atualizarRULES_YAML_FILE_PATH
: caminho para o ficheiro YAML a partir do qual importar regrasORGANIZATION
: organização na qual a política de firewall da organização vai ser atualizada. Tem de ser definido seFIREWALL_POLICY
for um diminutivo.
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 o seguinte:
FIREWALL_POLICY_NAME
: o nome da política de firewall que quer exportarEste pedido devolve uma definição de recurso de política de firewall.
Importe uma política de firewall de rede
Importe o ficheiro 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 o seguinte:
FIREWALL_POLICY
: nome da política de firewall de rede que quer atualizarRULES_YAML_FILE_PATH
: o caminho escolhido para importar as regrasREGION
: 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 método networkFirewallPolicies.patch
na API Compute Engine:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicy/FIREWALL_POLICY_NAME
Substitua o seguinte:
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 quer exportar
Para importar as regras da política de firewall de rede regional modificadas, 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 o seguinte:
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 quer exportarEste pedido devolve uma definição de recurso de política de firewall de rede.
O que se segue?
- Para uma introdução às regras de firewall, consulte o artigo Regras de política de firewall.
- Para uma vista geral da atualização em lote de regras de políticas de firewall, consulte a Vista geral.