Las reglas de cortafuegos de tu nube privada virtual (VPC) pueden contener etiquetas de red y cuentas de servicio de origen. Realiza las siguientes tareas para migrar tus reglas de cortafuegos de VPC que contengan etiquetas de red y cuentas de servicio de origen a una política de cortafuegos de red global:
- Evalúa tu entorno.
- Lista las etiquetas de red y las cuentas de servicio disponibles.
- Crea etiquetas para cada etiqueta de red y cuenta de servicio de origen.
- Asigna las etiquetas de red y las cuentas de servicio a las etiquetas que crees.
- Asocia etiquetas a instancias de máquina virtual (VM).
- Migrar reglas de cortafuegos de VPC a una política de cortafuegos de red global
- Revisa la nueva política de cortafuegos de red.
- Completa las tareas posteriores a la migración.
Antes de empezar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Compute Engine API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente comando:
gcloud init
- Asegúrate de tener el rol Administrador de seguridad de Compute (
roles/compute.securityAdmin
). - Identifica el número de reglas de cortafuegos de VPC de tu red de VPC.
- Anota las prioridades asociadas a cada regla de cortafuegos de VPC.
- Asegúrate de que tienes los roles y permisos de gestión de identidades y accesos necesarios para crear, asociar, modificar y ver políticas de cortafuegos de red globales.
Asegúrate de tener los roles y permisos de gestión de identidades y accesos necesarios para crear, actualizar y eliminar definiciones de etiquetas seguras.
En la siguiente tabla se resumen los distintos roles necesarios para crear y gestionar etiquetas:
Nombre de rol Tareas realizadas Rol de administrador de la etiqueta ( roles/resourcemanager.tagAdmin
)Crear, actualizar y eliminar definiciones de etiquetas. Para obtener más información, consulta el artículo Administrar etiquetas. Rol Lector de etiquetas ( roles/resourcemanager.tagViewer
)Ver las definiciones de etiquetas y las etiquetas asociadas a los recursos. Etiquetar rol de usuario ( roles/resourcemanager.tagUser
)Añadir y quitar etiquetas asociadas a recursos. NETWORK_NAME
: el nombre de la red de VPC que contiene las reglas de cortafuegos de VPC que quieres migrar.TAG_MAPPING_FILE
: el nombre del archivo JSON de asignación.TAG_KEY
: el nombre de la clave de la etiqueta.ORGANIZATION_ID
: el ID de tu organización.PROJECT_ID
: el ID de tu proyecto.NETWORK_NAME
: el nombre de tu red de VPC.TAG_VALUE
: el valor que se asignará a la clave de etiqueta.Como principal con el rol de administrador de la etiqueta, haz lo siguiente:
- Consulta los permisos necesarios para adjuntar etiquetas seguras a recursos de Google Cloud .
- Asigna el rol Usuario de etiquetas a la entidad de seguridad que usa las etiquetas seguras y vincula las etiquetas a las VMs.
Como principal con el rol Usuario de etiquetas, usa el comando
compute firewall-rules migrate
con la marca--bind-tags-to-instances
:gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --bind-tags-to-instances \ --tag-mapping-file=TAG_MAPPING_FILE
Haz los cambios siguientes:
NETWORK_NAME
: el nombre de tu red de VPC.TAG_MAPPING_FILE
: el nombre del archivo JSON de asignación.
NETWORK_NAME
: el nombre de la red de VPC que contiene las reglas de cortafuegos de VPC que quieres migrar.POLICY_NAME
: el nombre de la política de cortafuegos de red global que se va a crear durante la migración.NETWORK_NAME
: el nombre de la red de VPC que contiene las reglas de cortafuegos de VPC que quieres migrar.POLICY_NAME
: el nombre de la política de cortafuegos de red global que se creará durante la migración.EXCLUSION_PATTERNS_FILE
: el nombre del archivo que contiene expresiones regulares que definen patrones de nomenclatura de cortafuegos de VPC que se deben excluir de la migración. Asegúrate de especificar la ruta completa del archivo. Las reglas de cortafuegos que coincidan con los patrones especificados se omitirán.Cuando definas los patrones de exclusión, ten en cuenta lo siguiente:
- Cada expresión regular debe estar en una línea independiente y representar un único patrón de nomenclatura de firewall.
- Las expresiones regulares no contienen espacios en blanco al principio ni al final.
NETWORK_NAME
: el nombre de la red de VPC que contiene las reglas de cortafuegos de VPC que quieres migrar.POLICY_NAME
: el nombre de la política de cortafuegos de red global que se creará durante la migración.EXCLUSION_PATTERNS_FILE
: la ruta del archivo en el que se exportan los siguientes patrones de nomenclatura de reglas de cortafuegos excluidas.gke-(.+)-ipv6-all gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd)) k8s-fw-(l7-)?(.+) k8s-(.+)-((node)|(http)|(node-http))-hc (.+)-hc k8s2-(.+)-(.+)-(.+)-(.+)(-fw)? k8s2-(.+)-l4-shared-hc-fw gke((gw)|(mcg))1-l7-(.+)-(.+)
- Una regla especificada por el usuario con prioridad 100
- Una regla excluida con prioridad 200
- Una regla especificada por el usuario con prioridad 300
NETWORK_NAME
: el nombre de la red de VPC que contiene las reglas de cortafuegos de VPC que quieres migrar.POLICY_NAME
: el nombre de la política de cortafuegos de red global que se creará durante la migración.La configuración de las reglas de la política de cortafuegos es correcta y los siguientes componentes de las reglas se han migrado correctamente:
- Prioridad relativa
- Dirección del tráfico
- Acción tras coincidencia
- Configuración de registros
- Parámetros de destino
- Parámetros de origen (para reglas de entrada)
- Parámetros de destino (para reglas de salida)
- Restricciones de protocolo y puerto
Comprueba si las etiquetas seguras están asociadas a la máquina virtual correcta. Usa el comando
resource-manager tags bindings list
.gcloud resource-manager tags bindings list \ --location=ZONE_ID \ --parent //compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_ID/instances/INSTANCE_NAME \ --effective
Haz los cambios siguientes:
ZONE_ID
: la zona de tu VM.PROJECT_ID
: el ID de tu proyecto.INSTANCE_NAME
: el nombre de tu VM.
- Consulte más información sobre cómo migrar reglas de cortafuegos de VPC.
- Migra reglas de cortafuegos de VPC sin dependencias.
Evalúa tu entorno
Antes de migrar tus reglas de cortafuegos de VPC a una política de cortafuegos de red global, evalúa tu entorno actual y los roles y permisos de gestión de identidades y accesos (IAM):
Mostrar las etiquetas de red y las cuentas de servicio disponibles
Determina si tus reglas de cortafuegos de VPC usan etiquetas de red o cuentas de servicio, y crea un archivo JSON para guardar los detalles de las etiquetas de red y las cuentas de servicio.
Para exportar las etiquetas de red y las cuentas de servicio de tu red a un archivo JSON de asignación, usa el comando compute firewall-rules migrate
con la marca --export-tag-mapping
.
gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --export-tag-mapping \ --tag-mapping-file=TAG_MAPPING_FILE
Haz los cambios siguientes:
Si tus reglas de firewall de VPC solo contienen cuentas de servicio, el archivo JSON generado solo contendrá cuentas de servicio. Del mismo modo, si las reglas de cortafuegos de tu VPC solo contienen etiquetas de red, el archivo JSON generado solo contendrá etiquetas de red. Las cuentas de servicio tienen el prefijo sa
, mientras que las etiquetas de red no tienen ningún prefijo.
Por ejemplo, el siguiente archivo JSON generado contiene una etiqueta de red sql-server
y una cuenta de servicio example@example.com
.
{"sql-server": null, "sa:example@example.com": null}
Crear etiquetas
Según las etiquetas de red y las cuentas de servicio de origen que se indican en el archivo de asignación, debe crear las etiquetas seguras correspondientes en su red.
Las nuevas etiquetas seguras sustituyen a las etiquetas de red y a las cuentas de servicio, y conservan la configuración de red original después de la migración.
Como principal con el rol Administrador de etiquetas, para cada etiqueta de red y cuenta de servicio, cree el par clave-valor de etiqueta segura correspondiente.
gcloud resource-manager tags keys create TAG_KEY \ --parent organizations/ORGANIZATION_ID \ --purpose GCE_FIREWALL \ --purpose-data network=PROJECT_ID/NETWORK_NAME gcloud resource-manager tags values create TAG_VALUE \ --parent ORGANIZATION_ID/TAG_KEY
Haz los cambios siguientes:
Por ejemplo, si tiene una regla de cortafuegos de VPC con una etiqueta de red llamada sql-server
, cree un par clave-valor de etiqueta segura correspondiente sql-server:production
.
gcloud resource-manager tags keys create sql-server \ --parent organizations/123456 \ --purpose GCE_FIREWALL \ --purpose-data network=test-project/test-network gcloud resource-manager tags values create production \ --parent 123456/sql-server
Asignar etiquetas de red y cuentas de servicio a etiquetas
Después de crear etiquetas seguras controladas por IAM para cada etiqueta de red y cuenta de servicio que utilicen las reglas de cortafuegos de tu VPC, debes asignar las etiquetas a las etiquetas de red y las cuentas de servicio correspondientes en el archivo JSON de asignación.
Edita el archivo JSON para asignar las etiquetas de red y las cuentas de servicio a las etiquetas seguras correspondientes.
{"sql-server": "tagValues/yyyyy", "sa:example@example.com": "tagValues/zzzzz"}
Por ejemplo, el siguiente archivo JSON asigna la etiqueta de red sql-server
al valor de etiqueta de la clave sql-server
y la cuenta de servicio example@example.com
al valor de etiqueta de la clave example@example.com
:
{"sql-server": "tagValues/production", "sa:example@example.com": "tagValues/example"}
Vincular etiquetas a VMs
En función del archivo JSON de asignación de etiquetas, vincula las etiquetas seguras recién creadas a las VMs a las que estén asociadas las etiquetas de red:
Migrar reglas de cortafuegos de VPC a una política de cortafuegos de red global
Migra tus reglas de cortafuegos de VPC a una política de cortafuegos de red global. Usa el comando compute-firewall-rules migrate
.
gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --target-firewall-policy=POLICY_NAME \ --tag-mapping-file=TAG_MAPPING_FILE
Haz los cambios siguientes:
Excluir reglas de cortafuegos de la migración
Para excluir reglas de cortafuegos específicas de la migración, usa el comando gcloud beta compute
firewall-rules migrate
con la marca --exclusion-patterns-file
:
gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --target-firewall-policy=POLICY_NAME \ --exclusion-patterns-file=EXCLUSION_PATTERNS_FILE
Haz los cambios siguientes:
Ver las reglas de cortafuegos excluidas
En función de los patrones de nomenclatura de las reglas de cortafuegos excluidas, la herramienta de migración no migra algunas reglas de cortafuegos, como las de Google Kubernetes Engine (GKE). Para exportar la lista de patrones de nomenclatura de reglas de cortafuegos excluidas, usa el comando gcloud beta compute firewall-rules migrate
con las marcas --export-exclusion-patterns
y --exclusion-patterns-file
.
gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --target-firewall-policy=POLICY_NAME \ --exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \ --export-exclusion-patterns
Haz los cambios siguientes:
Para migrar las reglas de cortafuegos excluidas que coincidan con un patrón específico, elimina el patrón de la lista exportada y ejecuta el comando gcloud beta compute
firewall-rules migrate
con la marca --exclusion-patterns-file
.
Forzar la migración y mantener el orden de evaluación
Durante la migración, si el orden de evaluación de una regla de cortafuegos excluida se encuentra entre los órdenes de evaluación de las reglas de cortafuegos especificadas por el usuario, la migración falla.Esto ocurre porque las reglas de cortafuegos excluidas no se migran y la herramienta de migración no puede conservar el orden de evaluación original de las reglas definidas por el usuario en la nueva política de cortafuegos de la red.
Por ejemplo, si las reglas de cortafuegos tienen las siguientes prioridades, la migración fallará.
Para forzar que la herramienta de migración migre las reglas especificadas por el usuario, conservando su orden de evaluación original e ignorando las reglas de cortafuegos excluidas, usa el comando gcloud beta compute firewall-rules migrate
con la marca --force
.
gcloud beta compute firewall-rules migrate \ --source-network=NETWORK_NAME \ --target-firewall-policy=POLICY_NAME \ --force
Haz los cambios siguientes:
Revisa la nueva política de cortafuegos de red global
Antes de asociar la política recién creada a una red VPC, Google recomienda que la revise para asegurarse de que el proceso de migración se ha completado correctamente.
Comprueba lo siguiente:
Tareas posteriores a la migración
Para activar y usar la nueva política de cortafuegos de red global, completa las tareas posteriores a la migración. Para obtener más información, consulta Tareas posteriores a la migración.