Usa etiquetas para crear políticas

Las etiquetas de Resource Manager ayudan a controlar el acceso a tus recursos de Google Cloud. Las etiquetas de Resource Manager te permiten organizar tus recursos de Google Cloud y políticas de permiso o denegación de forma condicional en función de si un recurso tiene una etiqueta específica. Puedes usar etiquetas de Resource Manager para etiquetar cada instancia de máquina virtual (VM) por segmento y tipo de servicio. Las etiquetas de Resource Manager te permiten identificar de forma única los hosts cuando creas políticas de proxy web seguro.

Esta guía te muestra cómo hacer lo siguiente:

  • Crea una instancia de proxy web seguro con una política vacía.
  • Crear y aplicar etiquetas de Resource Manager a las instancias de VM
  • Usa las etiquetas de Resource Manager para crear una política de proxy web seguro.
  • Crea una instancia de proxy web seguro.
  • Prueba la conectividad desde tus VMs.

Antes de comenzar

Crea una instancia de proxy web seguro con una política vacía

Para crear una instancia de proxy web seguro, primero crea una política de seguridad vacía y, luego, crea un proxy web.

Crea una política de seguridad vacía

Consola

  1. En la consola de Google Cloud, ve a la página Seguridad de red.

    Ir a Seguridad de red

  2. Haz clic en Proxy web seguro.

  3. Haz clic en la pestaña Políticas.

  4. Haz clic en Crear una política.

  5. Ingresa un nombre para la política que deseas crear, como myswppolicy.

  6. Ingresa una descripción de la política, como My new swp policy.

  7. En la lista Regiones, selecciona la región en la que deseas crear la política.

  8. Haz clic en Crear.

Cloud Shell

  1. Usa tu editor de texto preferido para crear el archivo POLICY_FILE.yaml. Reemplaza POLICY_FILE por el nombre de archivo que deseas para el archivo de políticas.

  2. Agrega lo siguiente al archivo YAML que creaste:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    description: POLICY_DESCRIPTION
    

    Reemplaza lo siguiente:

    • PROJECT_NAME: nombre del proyecto.
    • REGION: Es la región a la que se aplica esta política.
    • POLICY_NAME: Es el nombre de la política que estás creando.
    • POLICY_DESCRIPTION: Es la descripción de la política que creas.
  3. Importa la política de seguridad:

    gcloud network-security gateway-security-policies import POLICY_NAME \
        --source=POLICY_FILE.yaml \
        --location=REGION
    

Crea un proxy web

Consola

  1. En la consola de Google Cloud, ve a la página Seguridad de red.

    Ir a Seguridad de red

  2. Haz clic en Proxy web seguro.

  3. Haz clic en Configurar un proxy web.

  4. Ingresa un nombre para el proxy web que deseas crear, como myswp.

  5. Ingresa una descripción del proxy web, como My new swp.

  6. En la lista Regiones, selecciona la región en la que deseas crear el proxy web.

  7. En la lista Red, selecciona la red en la que deseas crear el proxy web.

  8. En la lista Subred, selecciona la subred en la que deseas crear el proxy web.

  9. Ingresa la dirección IP del proxy web.

  10. En la lista Certificado, selecciona el certificado que deseas usar para crear el proxy web.

  11. En la lista Política, selecciona la política que creaste para asociar el proxy web.

  12. Haz clic en Crear.

Cloud Shell

  1. Usa tu editor de texto preferido para crear el archivo GATEWAY_FILE.yaml. Reemplaza GATEWAY_FILE por el nombre de archivo que deseas para el archivo de proxy web.

  2. Agrega lo siguiente al archivo YAML que creaste:

    name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME
    type: SECURE_WEB_GATEWAY
    ports: [GATEWAY_PORT_NUMBERS]
    certificateUrls: [CERTIFICATE_URLS]
    gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME
    network: projects/PROJECT_NAME/global/networks/NETWORK_NAME
    subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME
    addresses: [GATEWAY_IP_ADDRESS]
    scope: samplescope
    

    Reemplaza lo siguiente:

    • GATEWAY_NAME: Es el nombre de esta instancia.
    • GATEWAY_PORT_NUMBERS: Es una lista de números de puerto para esta puerta de enlace, como [80,443].
    • CERTIFICATE_URLS: Una lista de URLs de certificados SSL
    • SUBNET_NAME: Es el nombre de la subred que contiene GATEWAY_IP_ADDRESS.

    • GATEWAY_IP_ADDRESS: Es una lista opcional de direcciones IP para las instancias de proxy web seguro dentro de las subredes de proxy creadas con anterioridad en los pasos de configuración iniciales.

      Si decides no enumerar las direcciones IP, omite el campo para que el proxy web elija una dirección IP por ti.

  3. Crea una instancia de proxy web seguro:

    gcloud network-services gateways import GATEWAY_NAME \
        --source=GATEWAY_FILE.yaml \
        --location=REGION
    

Pruebe la conectividad

Para probar la conectividad, usa el comando curl desde cualquier VM dentro de tu red de nube privada virtual (VPC):

  curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure

Se espera un error 403 Forbidden.

Crea y adjunta etiquetas de Resource Manager

Haz lo siguiente para crear y adjuntar etiquetas de Resource Manager:

  1. Crea las claves y los valores de las etiquetas.

    Cuando crees tu etiqueta, elígela con un propósito GCE_FIREWALL. Las funciones de herramientas de redes de Google Cloud, incluido el proxy web seguro, requieren el propósito GCE_FIREWALL para aplicar la etiqueta. Sin embargo, puedes usar la etiqueta para otras acciones.

  2. Vincula etiquetas a instancias de VM.

Crea reglas de proxy web seguro

Para crear reglas de proxy web seguro, haz lo siguiente:

  1. Usa tu editor de texto preferido para crear un archivo RULE_FILE.yaml. Reemplaza RULE_FILE por el nombre del archivo que desees.

  2. Para permitir el acceso a una URL desde la etiqueta deseada, agrega lo siguiente al archivo YAML:

    name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME
    description: RULE_DESCRIPTION
    enabled: true
    priority: RULE_PRIORITY
    sessionMatcher: CEL_EXPRESSION
    basicProfile: ALLOW
    

    Reemplaza lo siguiente:

    • RULE_NAME: Es un nombre para esta regla.
    • RULE_DESCRIPTION: Es una descripción para la regla que creas.
    • RULE_PRIORITY: Es la prioridad de esta regla. Un número menor corresponde a una prioridad más alta.
    • CEL_EXPRESSION: Es una expresión de Common Expression Language (CEL).

      Para obtener más información, consulta la referencia del lenguaje del comparador CEL.

    Por ejemplo, para permitir el acceso a example.com desde la etiqueta deseada, agrega lo siguiente al archivo YAML que creaste para sessionMatcher:

    sessionMatcher: "source.matchTag('TAG_VALUE') && host() == 'example.com'"
    

    Reemplaza TAG_VALUE por la etiqueta que deseas permitir, con el formato tagValues/1234.

  3. Importa las reglas que creaste:

    gcloud network-security gateway-security-policies rules import RULE_NAME \
       --source=RULE_FILE.yaml \
       --location=REGION \
       --gateway-security-policy=POLICY_NAME
    

Pruebe la conectividad

Para probar la conectividad, usa el comando curl desde cualquier VM asociada con la etiqueta TAG_VALUE:

curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure

Reemplaza IPv4_ADDRESS por la dirección IPv4 de tu instancia de proxy web seguro.

¿Qué sigue?