Usa cuentas de servicio para crear políticas

Una cuenta de servicio es un tipo especial de cuenta que, por lo general, es usada por una carga de trabajo de aplicación o procesamiento, 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 para ella.

Las aplicaciones usan cuentas de servicio para hacer llamadas a la API autorizadas, autorizadas como la cuenta de servicio en sí o como usuarios de Google Workspace o Cloud Identity a través de 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 tiene acceso la cuenta de servicio.

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.

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

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

Antes de comenzar

  • Completa los pasos iniciales de configuración.

  • Haz que un administrador de la organización otorgue acceso a una cuenta de servicio.

  • Verifica que tengas instalada la versión 406.0.0 o posterior de Google Cloud CLI:

    gcloud version | head -n1
    

    Si tienes instalada una versión anterior de gcloud CLI, actualiza la versión:

    gcloud components update --version=406.0.0
    

Crea una instancia del Proxy web seguro con una política vacía

Para crear una instancia del 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

Console

  1. En la Google Cloud consola, 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. Utiliza tu editor de texto preferido para crear el archivo POLICY_FILE.yaml. Reemplaza POLICY_FILE por el nombre que deseas para el archivo de política.

  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 crearás.
    • POLICY_DESCRIPTION: Es la descripción de la política que crearás.
  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

Console

  1. En la Google Cloud consola, 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. Utiliza 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: Es una lista de URLs de certificados SSL.
    • SUBNET_NAME: El nombre de la subred que contiene GATEWAY_IP_ADDRESS

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

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

  3. Crea una instancia del Proxy web seguro:

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

Prueba 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 que surja un error 403 Forbidden.

Crea y conecta cuentas de servicio a recursos

Para crear y adjuntar cuentas de servicio, haz lo siguiente:

  1. Crea las cuentas de servicio.

  2. Conecta cuentas de servicio a recursos.

Crea reglas del Proxy web seguro

Para crear reglas del Proxy web seguro, haz lo siguiente:

  1. Utiliza tu editor de texto preferido para crear un archivo RULE_FILE.yaml. Reemplaza RULE_FILE por el nombre de archivo que elegiste.

  2. Para permitir el acceso a una URL desde la cuenta de servicio elegida, 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 más bajo 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 de CEL.

      Por ejemplo, para permitir el acceso a example.com desde el recurso con la cuenta de servicio deseada adjunta, agrega lo siguiente al archivo YAML que creaste para sessionMatcher:

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

      Reemplaza SERVICE_ACCOUNT por la cuenta de servicio que deseas permitir. Debe ser la dirección de correo electrónico de la cuenta de servicio.

  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
    

Prueba 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

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

¿Qué sigue?