Migra reglas de firewall de VPC que usan etiquetas de red y cuentas de servicio

Las reglas de firewall de la nube privada virtual (VPC) pueden contener etiquetas de red y cuentas de servicio de origen. Realiza las siguientes tareas para migrar tus reglas de firewall de VPC que contengan etiquetas de red y cuentas de servicio de origen a una política de firewall de red global:

  1. Evalúa el entorno.
  2. Enumera las etiquetas de red y las cuentas de servicio existentes.
  3. Crea etiquetas para cada etiqueta de red y cuenta de servicio de origen.
  4. Asigna las etiquetas de red y las cuentas de servicio a las etiquetas que crees.
  5. Vincula etiquetas a instancias de máquina virtual (VM).
  6. Migra las reglas de firewall de VPC a una política de firewall de red global.
  7. Revisa la nueva política de firewall de red.
  8. Completa las tareas posteriores a la migración.

Antes de comenzar

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

    gcloud init
  7. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Enable the Compute Engine API.

    Enable the API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init
  12. Asegúrate de tener el rol de Administrador de seguridad de Compute (roles/compute.securityAdmin).

Evalúa el entorno

Antes de migrar tus reglas de firewall de VPC a una política de firewall de red global, evalúa tu entorno existente y los roles y los permisos de Identity and Access Management (IAM):

  1. Identifica la cantidad de reglas de firewall de VPC en tu red de VPC.
  2. Toma nota de las prioridades asociadas con cada regla de firewall de VPC.
  3. Asegúrate de tener los roles y los permisos de IAM necesarios para crear, asociar, modificar y ver políticas de firewall de red globales.
  4. Asegúrate de tener los roles y permisos de IAM necesarios para crear, actualizar y borrar definiciones de etiquetas seguras.

    En la siguiente tabla, se proporciona un resumen de los diversos roles necesarios para crear y administrar etiquetas:

    Nombre de la función Tareas realizadas
    Rol de administrador de la etiqueta (roles/resourcemanager.tagAdmin) Crea, actualiza y borra definiciones de etiquetas. Para obtener más información, consulta Administra etiquetas.
    Rol de visualizador de etiquetas (roles/resourcemanager.tagViewer) Visualiza las definiciones y etiquetas de etiquetas que se adjuntan a los recursos.
    Rol de usuario de etiquetas (roles/resourcemanager.tagUser) Agrega y quita las etiquetas adjuntas a los recursos.

Enumera las etiquetas de red y las cuentas de servicio existentes

Determina si tus reglas de firewall 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 existentes.

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

Reemplaza lo siguiente:

  • NETWORK_NAME: El nombre de la red de VPC que contiene las reglas de firewall de VPC que deseas migrar.
  • TAG_MAPPING_FILE: el nombre del archivo JSON de asignación.

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 tus reglas de firewall de VPC solo contienen etiquetas de red, el archivo JSON generado solo contiene etiquetas de red. Las cuentas de servicio tienen el prefijo sa, y 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.

{"network-tag-1": null, "sa:service@account1.com": null}

Crear etiquetas

Según las etiquetas de red y las cuentas de servicio de origen enumeradas en el archivo de asignación, debes crear las etiquetas seguras correspondientes en tu red.

Las nuevas etiquetas seguras sirven como reemplazo de las etiquetas de red y las cuentas de servicio y conservan la configuración de red original después de la migración.

Como principal con el rol de administrador de etiquetas, para cada etiqueta de red y cuenta de servicio, crea 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

Reemplaza lo siguiente:

  • TAG_KEY: El nombre de la clave de 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.

Por ejemplo, si tienes una regla de firewall de VPC con una etiqueta de red llamada sql-server, crea un par clave-valor de etiqueta segura correspondiente de 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

Asigna etiquetas de red y cuentas de servicio a Etiquetas

Después de crear etiquetas seguras regidas por IAM para cada etiqueta de red y cuenta de servicio que usan las reglas de firewall de tu VPC, debes asignar las etiquetas a las etiquetas de red y 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"}

Vincula etiquetas a las VMs

Según el archivo JSON de asignación de etiquetas, vincula las etiquetas seguras recién creadas a las VMs a las que se adjuntan las etiquetas de red existentes:

  1. Como principal con el rol de administrador de etiquetas, haz lo siguiente:

    1. Revisa los permisos necesarios para adjuntar etiquetas seguras a los recursos de Google Cloud.
    2. Asigna el rol de usuario de etiquetas al principal que usa las etiquetas seguras y vincula las etiquetas a las VMs.
  2. Como principal con el rol de 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
    

    Reemplaza lo siguiente:

    • NETWORK_NAME: El nombre de tu red de VPC
    • TAG_MAPPING_FILE: el nombre del archivo JSON de asignación.

Migra las reglas de firewall de VPC a una política de firewall de red global.

Migra las reglas de firewall de VPC a una política de firewall 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

Reemplaza lo siguiente:

  • NETWORK_NAME: El nombre de la red de VPC que contiene las reglas de firewall de VPC que deseas migrar.
  • POLICY_NAME: Es el nombre de la política de firewall de red global que se creará durante la migración.

Revisa la nueva política de firewall de red global

Antes de asociar la política recién creada a una red de VPC, Google recomienda que revises la política para asegurarte de que el proceso de migración se haya completado con exactitud.

Verifica lo siguiente:

  • La configuración de las reglas de la política de firewall es correcta, y los siguientes componentes de reglas se migran de forma correcta para cada regla:

    • Prioridad relativa
    • Dirección del tráfico
    • Acción en caso de 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 protocolos y puertos
  • Verifica si las etiquetas seguras están adjuntas a la VM 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
    

    Reemplaza lo siguiente:

    • ZONE_ID: la zona de tu VM.
    • PROJECT_ID: el ID de tu proyecto.
    • INSTANCE_NAME: El nombre de tu VM.

Tareas posteriores a la migración

Para activar y usar la nueva política de firewall de red global, completa las tareas posteriores a la migración. Para obtener más información, consulta Tareas posteriores a la migración.

¿Qué sigue?