Usa etiquetas para firewalls

Crea etiquetas antes de intentar vincularlas a recursos o usarlas en las políticas de firewall de red. Para controlar el acceso a la red, las etiquetas solo son efectivas cuando se vinculan a instancias de VM.

Si deseas obtener una descripción general, consulta Etiquetas para firewalls.

Otorga permisos a las etiquetas

El rol tagAdmin te permite crear etiquetas nuevas, actualizar y borrar etiquetas existentes. Un administrador de la organización puede otorgar este rol a nivel de la organización y un propietario del proyecto puede otorgarlo a nivel del proyecto.

gcloud

  1. Otorga el rol tagAdmin al usuario.

    gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagAdmin
    

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: El ID de la organización
    • EMAIL_ADDRESS: La dirección de correo electrónico del usuario
  2. Otorga el rol tagUser al usuario.

    gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: El ID de la organización
    • TAG_KEY: La clave de etiqueta
    • EMAIL_ADDRESS: La dirección de correo electrónico del usuario

Roles personalizados para administrar etiquetas

El rol tagAdmin te permite realizar las siguientes acciones: crear etiquetas nuevas, actualizar y borrar las existentes. Si necesitas algunas de estas capacidades, puedes crear un rol de IAM personalizado con los permisos relevantes y, luego, otorgar el rol nuevo al usuario de destino. Para ver la lista de permisos relevantes, consulta Permisos de IAM.

Las etiquetas que se usan en las políticas de firewall deben designarse con un propósito de GCE_FIREWALL. Si bien el propósito de GCE_FIREWALL es obligatorio para que la etiqueta se use en las funciones de herramientas de redes, puede usar la etiqueta para otras acciones.

Las etiquetas que se usan en las políticas de firewall de red deben tener un permiso limitado a una sola VPC.

Crea las claves y los valores de la etiqueta

Antes de asociar etiquetas a las políticas de firewall de red, debes crear las claves y los valores de las etiquetas.

gcloud

  1. Después de obtener los permisos necesarios, crea la clave de etiqueta.

    gcloud resource-manager tags keys create TAG_KEY \
       --parent organizations/ORGANIZATION_ID \
       --purpose GCE_FIREWALL \
       --purpose-data network=PROJECT_ID/NETWORK
    

    Reemplaza lo siguiente:

    • TAG_KEY: La clave de etiqueta
    • ORGANIZATION_ID: El ID de la organización
    • PROJECT_ID: El ID de tu proyecto
    • NETWORK: el nombre de tu red
  2. Agrega los valores relevantes de las etiquetas a las claves de etiqueta. Ejecuta el comando varias veces para agregar varios valores. Asegúrate de que cada valor de etiqueta agregado a la clave de etiqueta sea único.

    gcloud resource-manager tags values create TAG_VALUE \
       --parent ORGANIZATION_ID/TAG_KEY
    

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: El ID de la organización
    • TAG_KEY: La clave de etiqueta
    • TAG_VALUE: El valor que se asignará a la clave de etiqueta

Crea una política de firewall de red

Después de crear una etiqueta, puedes usarla en las políticas de firewall de red. Si no tienes una política de firewall de red existente, crea una nueva.

gcloud

  1. Crea una política de firewall de red.

    gcloud compute network-firewall-policies create \
       FIREWALL_POLICY_NAME \
       --global
    

    Reemplaza lo siguiente:

    • FIREWALL_POLICY_NAME: El nombre de la política de firewall de red global de la red nueva.

Crea una regla de política de firewall con etiquetas

Después de crear una etiqueta y una política de firewall de red, puedes crear una regla de política de firewall de red con los valores de etiqueta de origen y valores de etiqueta de destino específicos para permitir el tráfico deseado entre las VMs con las etiquetas de origen y etiquetas de destino.

gcloud

  1. Crea una regla de política de firewall de red con las claves y los valores de origen y destino específicos.

    gcloud compute network-firewall-policies rules create 1 \
        --firewall-policy FIREWALL_POLICY_NAME \
        --src-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
        --target-secure-tags ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
        --direction DIRECTION \
        --action ACTION \
        --layer4-configs tcp:PORT \
        --global-firewall-policy
    

    Reemplaza lo siguiente:

    • FIREWALL_POLICY_NAME: El nombre de la política de firewall de red global de la red nueva.
    • ORGANIZATION_ID: El ID de la organización
    • TAG_KEY: La clave de etiqueta
    • TAG_VALUE: El valor que se asignará a la clave de etiqueta
    • DIRECTION: Indica si la regla es una regla ingress o egress
    • ACTION: Es una de las acciones siguientes:
      • allow: Permite las conexiones que coinciden con la regla.
      • deny: Rechaza las conexiones que coinciden con la regla.
      • goto_next: Pasa la evaluación de conexión al siguiente nivel en la jerarquía, ya sea una carpeta o la red.
    • PORT: Es el número de puerto para acceder al recurso.

Vincula etiquetas a las instancias de VM

Los administradores de etiquetas pueden vincular las etiquetas a instancias de VMs individuales.

Vincular una etiqueta a un recurso conecta un valor de etiqueta a un recurso. Aunque una etiqueta puede tener varios valores para una clave determinada, puedes vincular solo un valor por clave de etiqueta a un recurso. Por ejemplo, no puedes vincular valores de etiqueta backend web y mysql a la misma instancia de VM que pertenecen a la misma clave de etiqueta vm-function.

Por ejemplo, Sasha, un desarrollador, quiere configurar una aplicación que conste de un backend de API y un almacén de base de datos de respaldo. Para permitir el tráfico entre el backend y el servidor de base de datos, Sasha debe vincular los valores de etiqueta web-backend y mysql a diferentes VMs.

gcloud

  1. Otorga el rol tagUser.

    gcloud resource-manager tags keys add-iam-policy-binding ORGANIZATION_ID/TAG_KEY \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: El ID de la organización
    • TAG_KEY: La clave de etiqueta
    • EMAIL_ADDRESS: La dirección de correo electrónico del usuario

    En este comando, se le otorga al usuario el uso de todos los valores actuales y futuros de la clave. También puedes otorgar acceso solo a valores específicos de una etiqueta de la siguiente manera:

    gcloud resource-manager tags values add-iam-policy-binding ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Reemplaza lo siguiente:

    • ORGANIZATION_ID: El ID de la organización
    • TAG_KEY: La clave de etiqueta
    • TAG_VALUE: El valor que se asignará a la clave de etiqueta
    • EMAIL_ADDRESS: La dirección de correo electrónico del usuario
  2. Otorga el rol tagUser a los recursos que deseas vincular con las etiquetas.

    gcloud projects add-iam-policy-binding PROJECT_ID \
       --member=user:EMAIL_ADDRESS \
       --role=roles/resourcemanager.tagUser
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto
    • EMAIL_ADDRESS: La dirección de correo electrónico del usuario
  3. Obtén el valor de PARENT para el par clave-valor de etiqueta:

    1. Define el prefijo de nombre completo para tu proyecto y zona:

      FULL_NAME_PREFIX=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/
      
    2. Obtén el ID de la VM:

      VM_ID=$(gcloud compute instances describe VM_NAME --zone ZONE--format='value(id)')
      
    3. Concatena los valores de FULL_NAME_PREFIX y VM_ID:

      PARENT="$FULL_NAME_PREFIX$VM_ID"
      echo $PARENT
      

    Reemplaza lo siguiente:

    • PROJECT_NUMBER: Es el número de tu proyecto.
    • ZONE: Es la zona en la que se encuentra la VM
    • VM_NAME: Es el nombre de la VM en la que trabajas.
  4. Enumera las vinculaciones.

    gcloud resource-manager tags bindings list \
       --location LOCATION_NAME \
       --parent PARENT
    

    Reemplaza lo siguiente:

    • LOCATION_NAME: La ubicación a la que pertenece la etiqueta; aquí, la zona de la instancia de VM
    • PARENT: el nombre completo del recurso adjunto a la vinculación, como se deriva en el comando anterior
  5. Borra y crea las vinculaciones.

    gcloud resource-manager tags bindings delete \
       --location LOCATION_NAME \
       --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --parent PARENT
    
    gcloud resource-manager tags bindings create \
       --location LOCATION_NAME \
       --tag-value ORGANIZATION_ID/TAG_KEY/TAG_VALUE \
       --parent PARENT
    

    Reemplaza lo siguiente:

    • LOCATION_NAME: La ubicación a la que pertenece la etiqueta
    • ORGANIZATION_ID: El ID de la organización
    • TAG_KEY: La clave de etiqueta
    • TAG_VALUE: El valor de la clave de etiqueta
    • PARENT: Es el nombre completo del recurso que se adjuntará al valor de la etiqueta.

Usa etiquetas en redes con intercambio de tráfico

Puedes usar etiquetas en el intercambio de tráfico entre redes. Realiza las siguientes tareas en el orden especificado para usar etiquetas en dos redes con intercambio de tráfico.

  1. Asigna el rol tagAdmin a dos usuarios: un usuario en cada red de intercambio de tráfico. Un administrador de la organización otorga los roles tagAdmin a usuarios a nivel de la organización, y un propietario del proyecto puede otorgarlo a nivel del proyecto.
  2. Permite que el primer usuario de red cree claves y valores de etiqueta en la primera red.
  3. Permite que el segundo usuario de red cree claves y valores de etiqueta en la segunda red.
  4. Otorga los permisos necesarios a ambos usuarios para vincular etiquetas en ambas redes.
  5. Vincula etiquetas a usuarios y recursos en la primera red.
  6. Vincula etiquetas a usuarios y recursos en la segunda red.
  7. Para el usuario de la segunda red, otorga permisos tagUser en la primera red.
  8. Para el usuario de la primera red, otorga permisos tagUser en la segunda red.
  9. Crea una regla de política de firewall en la primera red.
  10. Crea una regla de política de firewall en la segunda red.

¿Qué sigue?