Usar cuentas de servicio para crear políticas

Una cuenta de servicio es un tipo especial de cuenta que suele utilizar una aplicación o una carga de trabajo de computación, como una instancia de Compute Engine, en lugar de una persona. Esta cuenta se identifica por su dirección de correo electrónico, que es única.

Las aplicaciones usan cuentas de servicio para hacer llamadas a las APIs autorizadas autenticándose como la propia cuenta de servicio o como usuarios de Google Workspace o Cloud Identity mediante la delegación de todo el dominio. Cuando una aplicación se autentica como una cuenta de servicio, tiene acceso a todos los recursos a los que la cuenta de servicio tiene permiso para acceder.

Puedes usar una cuenta de servicio para identificar la fuente de tráfico y configurar las políticas de proxy web seguro según sea necesario.

En esta guía se explica cómo hacer lo siguiente:

  • Crea una instancia de proxy web seguro con una política vacía.
  • Crear y adjuntar cuentas de servicio a recursos.
  • Usa cuentas de servicio para crear una política de Secure Web Proxy.
  • Crea una instancia de proxy web seguro.
  • Prueba la conectividad desde tus VMs.

Antes de empezar

  • Completa los pasos de configuración inicial.

  • Pide a un administrador de la organización que conceda acceso a una cuenta de servicio.

  • Comprueba que tienes instalada la versión 406.0.0 o una posterior de la CLI de Google Cloud:

    gcloud version | head -n1
    

    Si tienes instalada una versión anterior de la CLI de gcloud, actualízala:

    gcloud components update --version=406.0.0
    

Crear 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, a continuación, crea un proxy web.

Crear una política de seguridad vacía

Consola

  1. En la Google Cloud consola, ve a la página Políticas de SWP.

    Ir a las políticas de SWP

  2. Haz clic en Crear una política.

  3. Introduce el nombre de la política que quieras crear, como myswppolicy.

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

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

  6. Haz clic en Crear.

Cloud Shell

  1. Usa el editor de texto que prefieras para crear el archivo POLICY_FILE.yaml. Sustituye POLICY_FILE por el nombre que quieras darle al archivo de la política.

  2. Añade lo siguiente al archivo YAML que has creado:

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

    Haz los cambios siguientes:

    • PROJECT_NAME: el nombre de tu proyecto
    • REGION: la región a la que se aplica esta política
    • POLICY_NAME: el nombre de la política que vas a crear
    • POLICY_DESCRIPTION: la descripción de la política que vas a crear
  3. Importa la política de seguridad:

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

Crear un proxy web

Consola

  1. En la Google Cloud consola, ve a la página Proxies web.

    Ve a Proxies web.

  2. Haz clic en Crear un proxy web seguro.

  3. Introduce el nombre del proxy web que quieras crear, como myswp.

  4. Introduce una descripción del proxy web, como My new swp.

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

  6. En la lista Red, selecciona la red en la que quieras crear el proxy web.

  7. En la lista Subred, selecciona la subred en la que quieras crear el proxy web.

  8. Opcional: Introduce la dirección IP del proxy web seguro. Puedes introducir una dirección IP del intervalo de direcciones IP de Secure Web Proxy que se encuentre en la subred que has creado en el paso anterior. Si no introduces la dirección IP, tu instancia de Secure Web Proxy elegirá automáticamente una dirección IP de la subred seleccionada.

  9. En la lista Certificado, selecciona el certificado que quieras usar para crear el proxy web.

  10. En la lista Política, seleccione la política que ha creado para asociar el proxy web.

  11. Haz clic en Crear.

Cloud Shell

  1. Usa el editor de texto que prefieras para crear el archivo GATEWAY_FILE.yaml. Sustituye GATEWAY_FILE por el nombre de archivo que quieras para el archivo de proxy web.

  2. Añade lo siguiente al archivo YAML que has creado:

    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
    

    Haz los cambios siguientes:

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

    • GATEWAY_IP_ADDRESS: una lista opcional de direcciones IP de tus instancias de Secure Web Proxy en las subredes de proxy que has creado anteriormente en los pasos de configuración inicial

      Si decides no incluir 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
    

Probar la conectividad

Para probar la conectividad, usa el comando curl desde cualquier VM 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.

Crear y adjuntar cuentas de servicio a recursos

Para crear y adjuntar cuentas de servicio, sigue estos pasos:

  1. Crea las cuentas de servicio.

  2. Asocia cuentas de servicio a recursos.

Crear reglas de Secure Web Proxy

Para crear reglas de proxy web seguro, sigue estos pasos:

  1. Usa el editor de texto que prefieras para crear un archivo RULE_FILE.yaml. Sustituye RULE_FILE por el nombre de archivo que elijas.

  2. Para permitir el acceso a una URL desde la cuenta de servicio elegida, añade 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
    

    Haz los cambios siguientes:

    • RULE_NAME: nombre de esta regla
    • RULE_DESCRIPTION: una descripción de la regla que vas a crear
    • RULE_PRIORITY: la prioridad de esta regla. Un número más bajo corresponde a una prioridad más alta.
    • CEL_EXPRESSION: una expresión de lenguaje de expresión común (CEL)

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

      Por ejemplo, para permitir el acceso a example.com desde el recurso con la cuenta de servicio que quieras, añade lo siguiente al archivo YAML que has creado para sessionMatcher:

      sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
      

      Sustituye SERVICE_ACCOUNT por la cuenta de servicio a la que quieras dar acceso. Debe ser la dirección de correo de la cuenta de servicio.

  3. Importa las reglas que has creado:

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

Probar la conectividad

Para probar la conectividad, usa el comando curl del recurso con el SERVICE_ACCOUNT adjunto:

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

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

Siguientes pasos