En esta página se explica cómo configurar la actualización por lotes de todas las reglas de políticas de cortafuegos (políticas de cortafuegos jerárquicas y de red). Para realizar la actualización por lotes, puedes usar Google Cloud CLI o la API Compute Engine.
Para obtener más información sobre las actualizaciones por lotes, consulta la página de resumen.
Si usas gcloud CLI para actualizar por lotes las reglas de la política de cortafuegos, usa los siguientes comandos de gcloud CLI:
export-rules
: te permite exportar la configuración de las reglas de la política de cortafuegos a un archivo YAML. En el archivo YAML, puede añadir, modificar y eliminar la configuración de las reglas de la política de cortafuegos según sus necesidades.import-rules
: te permite importar el archivo de configuración de las reglas de la política de cortafuegos modificadas. Sustituye las reglas de la política de cortafuegos especificada.
Si usas APIs REST para actualizar por lotes las reglas de la política de cortafuegos, usa el método patch
. El método patch
te permite sustituir todas las reglas de la política de cortafuegos proporcionando el campo rules
en la solicitud. No es necesario crear un archivo YAML. Cuando uses el método patch
, mantén las reglas goto_next
predeterminadas con la prioridad más baja.
Antes de empezar
Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso por el que se verifica tu identidad para acceder a los servicios y las APIs de Google Cloud . Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine tal como se describe en esta sección.
Consola
Cuando usas la Google Cloud consola para acceder Google Cloud a servicios y APIs, no tienes que configurar la autenticación.
gcloud
Después de instalar la CLI de Google Cloud, inicialízala ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Define la región y la zona predeterminadas en tu cliente local.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Después de instalar la CLI de Google Cloud, inicialízala ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST en laGoogle Cloud documentación de autenticación.
Crear un archivo YAML
Puedes usar el comando export-rules
para exportar las reglas de una política de cortafuegos a un archivo YAML. Para obtener más información, consulta Exportar una regla de política de cortafuegos.
El archivo YAML exportado incluye las reglas goto_next
predeterminadas
con la prioridad más baja (reglas con una prioridad igual o superior a 2147483644). Asegúrate de no modificar estas reglas goto_next
predeterminadas.
Sin embargo, si no quieres usar el comando export-rules
, también puedes crear un archivo YAML manualmente para editar las reglas. Para crear un archivo YAML manualmente, siga estos pasos:
Crea un archivo YAML
RULES_YAML_FILE
. SustituyeRULES_YAML_FILE
por el nombre de archivo que quieras.Añade el campo
rules
al archivo YAML. El camporules
contiene una lista de las reglas de la política de cortafuegos. Para ver un esquema que describa el formato de exportación o importación, consultaCLOUDSDKROOT/lib/googlecloudsdk/schemas/compute/beta/FirewallPolicy.yaml
. DondeCLOUDSDKROOT
es el directorio de instalación de Google Cloud CLI.A continuación, se muestra un ejemplo de un 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 las reglas de la política de cortafuegos, consulta Modificar reglas de la política de cortafuegos.
Exportar una regla de política de cortafuegos
Puedes iniciar actualizaciones con la CLI de gcloud o con la API de Compute Engine.
Exportar una política de cortafuegos jerárquica
Exporta las reglas de la política de cortafuegos jerárquica.
gcloud
Para exportar reglas de una política de cortafuegos jerárquica, usa el comando gcloud compute firewall-policies export-rules
:
gcloud compute firewall-policies export-rules FIREWALL_POLICY \ --destination=DESTINATION \ --organization=ORGANIZATION
Haz los cambios siguientes:
FIREWALL_POLICY
: el nombre abreviado o el ID de la política de cortafuegos jerárquica de la que quieres exportar las reglas.DESTINATION
: ruta a un archivo YAML donde se exportará la configuraciónORGANIZATION
: organización en la que se va a actualizar la política de firewall de la organización. Se debe definir siFIREWALL_POLICY
es un nombre corto.
API
Para exportar las reglas de la política de cortafuegos jerárquica, usa el método firewallPolicies.get
de la API Compute Engine:
GET https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
Haz los cambios siguientes:
FIREWALL_POLICY_NAME
: el nombre de la política de cortafuegos que quieras exportarEsta solicitud devuelve una definición de recurso de política de cortafuegos.
Exportar una política de cortafuegos de red
Exporta las reglas de cortafuegos de la política de cortafuegos de red.
gcloud
Para exportar la configuración de las reglas de una política de cortafuegos de red a un archivo, usa el 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
Haz los cambios siguientes:
FIREWALL_POLICY
: nombre de la política de cortafuegos de red de la que se van a exportar las reglasRULES_YAML_FILE_PATH
: ruta a un archivo YAML en el que se exporta la configuración.REGION
: especifica--global
si se trata de una política global oREGION
si es una política regional.
API
Para exportar las reglas de la política de cortafuegos de red global, usa el método networkFirewallPolicies.get
de la API de Compute Engine:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicies/FIREWALL_POLICY_NAME
Haz los cambios siguientes:
PROJECT
: el ID de tu proyectoFIREWALL_POLICY_NAME
: el nombre de la política de cortafuegos que quieras exportar
Para exportar las reglas de la política de cortafuegos de red regional, usa el método regionNetworkFirewallPolicies.get
de la API Compute Engine:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME
Haz los cambios siguientes:
PROJECT
: el ID de tu proyectoREGION
: la región de las reglas de la política de cortafuegosFIREWALL_POLICY_NAME
: el nombre de la política de cortafuegos que quieras exportar
Esta solicitud devuelve una definición de recurso de política de cortafuegos.
Modificar reglas de política de cortafuegos
Modifica las reglas de la política de cortafuegos que has exportado en la sección anterior.
Abre el archivo exportado. Por ejemplo,
RULES_YAML_FILE
.Añade el campo
rules
, como se muestra en el siguiente ejemplo.rules: -action: allow description: test-rule1 direction: INGRESS disabled: false enableLogging: false kind: compute#firewallPolicyRule
Añade los campos de configuración adicionales, como
action
,direction
ypriority
. A continuación, se muestra un ejemplo de un archivo 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 reglas de política de cortafuegos
Importe las reglas a su política de cortafuegos después de cambiar el archivo con las actualizaciones por lotes que necesite. Si importa el archivo modificado, las reglas de política de cortafuegos se sustituirán por las que se proporcionen.
Importar reglas de políticas de cortafuegos jerárquicas
Importa las reglas de cortafuegos a la política de cortafuegos jerárquica.
gcloud
Para importar reglas a la política de cortafuegos jerárquica, usa el comando gcloud compute firewall-policies import-rules
:
gcloud compute firewall-policies import-rules FIREWALL_POLICY \ --source=RULES_YAML_FILE_PATH \ --organization=ORGANIZATION
Haz los cambios siguientes:
FIREWALL_POLICY
: nombre abreviado o ID de la política de cortafuegos jerárquica que quieras actualizarRULES_YAML_FILE_PATH
: ruta al archivo YAML desde el que se importarán las reglas.ORGANIZATION
: organización en la que se va a actualizar la política de firewall de la organización. Se debe definir siFIREWALL_POLICY
es un nombre corto.
API
Para importar las reglas de la política de cortafuegos, usa el método firewallPolicies.patch
de la API Compute Engine:
PATCH https://compute.googleapis.com/compute/v1/locations/global/firewallPolicy/FIREWALL_POLICY_NAME
Haz los cambios siguientes:
FIREWALL_POLICY_NAME
: el nombre de la política de cortafuegos que quieras exportarEsta solicitud devuelve una definición de recurso de política de cortafuegos.
Importar una política de cortafuegos de red
Importa el archivo YAML de reglas de cortafuegos modificado a la política de cortafuegos de red.
gcloud
Para importar reglas a la política de cortafuegos de red, usa el 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
Haz los cambios siguientes:
FIREWALL_POLICY
: nombre de la política de cortafuegos de red que quieres actualizarRULES_YAML_FILE_PATH
: la ruta elegida para importar las reglas.REGION
: especifica--global
si se trata de una política global oREGION
si es una política regional.
API
Para importar las reglas de la política de cortafuegos de red modificadas, usa el método networkFirewallPolicies.patch
de la API Compute Engine:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/global/firewallPolicy/FIREWALL_POLICY_NAME
Haz los cambios siguientes:
PROJECT
: el ID de proyecto de las reglas de la política de cortafuegos de redFIREWALL_POLICY_NAME
: el nombre de la política de cortafuegos de red que quieras exportar
Para importar las reglas de la política de cortafuegos de red regional modificadas, usa el método regionNetworkFirewallPolicies.patch
de la API Compute Engine:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/firewallPolicies/FIREWALL_POLICY_NAME
Haz los cambios siguientes:
PROJECT
: el ID de proyecto de las reglas de la política de cortafuegos de red regionalREGION
: la región de las reglas de la política de cortafuegosFIREWALL_POLICY_NAME
: el nombre de la política de cortafuegos que quieras exportarEsta solicitud devuelve una definición de recurso de política de cortafuegos de red.
Siguientes pasos
- Para obtener una introducción a las reglas de cortafuegos, consulta Reglas de políticas de cortafuegos.
- Para obtener una descripción general de la actualización por lotes de reglas de políticas de cortafuegos, consulta la descripción general.