Publicar Secure Web Proxy como servicio de Private Service Connect

Para centralizar tu implementación de proxy web seguro en varias redes VPC, puedes hacer que el proxy web seguro esté disponible a través de una vinculación de servicio Private Service Connect.

Para implementar Secure Web Proxy con Private Service Connect, sigue estos pasos:

  1. Crea una política y reglas de proxy web seguro.
  2. Crea una instancia de proxy web seguro que use tu política.
  3. Crea un archivo adjunto de servicio para publicar la instancia de Secure Web Proxy como servicio de Private Service Connect.
  4. Crea un endpoint de consumidor de Private Service Connect en cada red de VPC que necesite conectarse a Secure Web Proxy.
  5. Dirige el tráfico de salida de tu carga de trabajo a la instancia centralizada de proxy web seguro de la región.
Implementación de proxy web seguro en el modo de vinculación de servicio de Private Service Connect.
Publicar Secure Web Proxy como un servicio Private Service Connect te permite centralizar la gestión del tráfico de salida de las cargas de trabajo en varias redes de VPC. Haz clic para ampliar.

Antes de empezar

Antes de completar los pasos que se indican en esta página, sigue los pasos de configuración inicial.

Crear y configurar una instancia de proxy web seguro

En esta guía se describe cómo crear una política y reglas de proxy web seguro que coincidan con el tráfico por sesión.

Para obtener información sobre cómo configurar la inspección TLS de forma opcional, consulta el artículo Habilitar la inspección TLS.

Para obtener información sobre cómo configurar opcionalmente la coincidencia a nivel de aplicación, consulta Desplegar una instancia de proxy web seguro.

Crear una política de proxy web seguro

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. Escribe una descripción de la política.

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

  6. Haz clic en Crear.

Cloud Shell

  1. Crea un archivo policy.yaml.

    description: basic Secure Web Proxy policy
    name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1
    

    Haz los cambios siguientes:

    • PROJECT_ID: el ID de tu proyecto
    • REGION: la región de la política
  2. Crea una política de proxy web seguro basada en policy.yaml.

    gcloud network-security gateway-security-policies import policy1 \
        --source=policy.yaml \
        --location=REGION
    

Añadir reglas de proxy web seguro a tu política

Configura reglas de proxy web seguro para permitir el tráfico de salida de cada carga de trabajo.

En esta sección se muestra cómo crear una regla para permitir el tráfico de cargas de trabajo identificadas por una etiqueta de Resource Manager o una cuenta de servicio. Para obtener información sobre cómo hacer coincidir el tráfico de otras formas, consulta la referencia del lenguaje del comparador de CEL.

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 el nombre de la política.

  3. Para añadir reglas que permitan que las cargas de trabajo accedan a Internet, haz lo siguiente:

    1. Haz clic en Añadir regla.
    2. Introduce una prioridad. Las reglas se evalúan de mayor a menor prioridad, donde 0 es la prioridad más alta.
    3. Escribe un nombre.
    4. Introduce una descripción.
    5. Introduce un estado.
    6. En Acción, selecciona Permitir.
    7. Haga clic en Estado y, a continuación, seleccione Habilitado.
    8. En la sección Coincidencia de sesión, especifique los criterios de coincidencia de la sesión.

      • Por ejemplo, para permitir el tráfico a google.com desde cargas de trabajo con el ID de valor de etiqueta de Resource Manager tagValues/123456, introduce lo siguiente:

        source.matchTag('tagValues/123456') && host() == 'google.com'

      • Para permitir el tráfico a google.com desde cargas de trabajo que usen la cuenta de servicio account-name@my-project.iam.gserviceaccount.com, introduce lo siguiente:

        source.matchServiceAccount('account-name@my-project.iam.gserviceaccount.com') && host() == 'google.com'

    9. Haz clic en Crear.

Cloud Shell

Por cada regla que quiera añadir, haga lo siguiente:

  1. Crea un archivo rule.yaml y especifica los criterios para que coincida con la sesión.

    • Para permitir el tráfico a un dominio específico desde cargas de trabajo identificadas por el ID de valor de etiqueta de Resource Manager, crea el siguiente archivo:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on tag
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchTag('TAG_VALUE_ID') && host() == 'DOMAIN_NAME'
      

      Haz los cambios siguientes:

      • PROJECT_ID: el ID de tu proyecto
      • REGION: la región de tu política
      • RULE_NAME: el nombre de la regla
      • PRIORITY: la prioridad de la regla. Las reglas se evalúan de mayor a menor prioridad, donde 0 es la prioridad más alta.
      • TAG_VALUE_ID: el ID del valor de la etiqueta de las cargas de trabajo para permitir el tráfico.
      • DOMAIN_NAME: nombre de dominio al que se permite dirigir el tráfico
    • Para permitir el tráfico a un dominio específico desde cargas de trabajo que usen una cuenta de servicio, crea el siguiente archivo:

      name: projects/PROJECT_ID/locations/REGION/gatewaySecurityPolicies/policy1/rules/RULE_NAME
      description: Allow traffic based on service account
      enabled: true
      priority: PRIORITY
      basicProfile: ALLOW
      sessionMatcher: source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'DOMAIN_NAME'
      

      Sustituye SERVICE_ACCOUNT por el nombre de la cuenta de servicio.

  2. Para actualizar tu política con la regla que has definido en rule.yaml, usa el siguiente comando:

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

Implementar una instancia de proxy web seguro

Implementa una instancia de proxy web seguro en modo de enrutamiento explícito en la red de nube privada virtual (VPC) que quieras usar para el tráfico de salida. Cuando crees la instancia, asóciala a la política y a las reglas que has creado en los pasos anteriores.

La publicación de Secure Web Proxy con un archivo adjunto de servicio de Private Service Connect no admite el modo de enrutamiento del siguiente salto.

Para obtener información sobre cómo configurar la instancia, consulta Configurar un proxy web. No es necesario que completes los demás pasos de esa página por ahora.

Implementar Secure Web Proxy como servicio de Private Service Connect en un modelo de concentrador y radios

En esta sección se describe cómo implementar Secure Web Proxy como un servicio de Private Service Connect mediante un modelo de concentrador y radio para centralizar la gestión del tráfico de salida.

Publicar Secure Web Proxy como servicio de Private Service Connect

Para publicar Secure Web Proxy como servicio, crea una subred y un archivo adjunto de servicio de Private Service Connect. La subred y la vinculación de servicio deben compartir la misma región que los puntos finales de Private Service Connect que acceden a la vinculación de servicio.

Crear una subred para Private Service Connect

Para crear una subred para Private Service Connect, haz lo siguiente.

Consola

  1. En la Google Cloud consola, ve a la página Redes de VPC.

    Ir a redes de VPC

  2. Haz clic en el nombre de una red de VPC para ver su página Detalles de la red de VPC.

  3. Haz clic en Subredes.

  4. Haz clic en Añadir subred. En el panel que aparece, haz lo siguiente:

    1. Proporciona un nombre.
    2. Selecciona una región.
    3. En la sección Propósito, selecciona Private Service Connect.
    4. En Tipo de pila de IP, selecciona IPv4 (pila única) o IPv4 e IPv6 (pila dual).
    5. Introduce un intervalo de IPv4. Por ejemplo, 10.10.10.0/24.
    6. Si vas a crear una subred de doble pila, define el tipo de acceso IPv6 como Interno.
    7. Haz clic en Añadir.

Cloud Shell

Elige una de estas opciones:

  • Para crear una subred de Private Service Connect solo IPv4, haz lo siguiente:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    
  • Para crear una subred de Private Service Connect de doble pila, haz lo siguiente:

    gcloud compute networks subnets create SUBNET_NAME \
        --network=NETWORK_NAME \
        --region=REGION \
        --stack-type=IPV4_IPV6 \
        --ipv6-access-type=INTERNAL \
        --range=SUBNET_RANGE \
        --purpose=PRIVATE_SERVICE_CONNECT
    

Haz los cambios siguientes:

  • SUBNET_NAME: el nombre que se asignará a la subred.

  • NETWORK_NAME: el nombre de la VPC de la nueva subred.

  • REGION: la región de la nueva subred. Debe ser la misma región que el servicio que vas a publicar.

  • SUBNET_RANGE: el intervalo de direcciones IPv4 que se va a usar en la subred. Por ejemplo, 10.10.10.0/24.

Crear una vinculación de servicio

Para publicar Secure Web Proxy como vinculación de servicio en la red de VPC central (de concentrador), haz lo siguiente.

En esta sección se describe cómo crear un adjunto de servicio que acepte automáticamente todas las conexiones. Para obtener información sobre la aprobación explícita u otras opciones de configuración, consulta el artículo Publicar un servicio con aprobación explícita.

Consola

  1. En la Google Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Servicios publicados.

  3. Haz clic en Publicar servicio.

  4. En la sección Detalles del destino, selecciona Web Proxy seguro.

  5. Selecciona la instancia de proxy web seguro que quieras publicar. Los campos de red y de región se rellenan con los detalles de la instancia de Secure Web Proxy seleccionada.

  6. En Nombre del servicio, escribe el nombre de la vinculación de servicio.

  7. Selecciona una o varias subredes de Private Service Connect para el servicio. La lista se rellena con las subredes de la red de VPC de la instancia de proxy web seguro seleccionada.

  8. En la sección Preferencia de conexión, selecciona Aceptar todas las conexiones automáticamente.

  9. Haz clic en Añadir servicio.

Cloud Shell

Usa el comando gcloud compute service-attachments create.

gcloud compute service-attachments create SERVICE_ATTACHMENT_NAME \
    --target-service=SWP_INSTANCE_URI \
    --connection-preference=ACCEPT_AUTOMATIC \
    --nat-subnets=NAT_SUBNET_NAME \
    --region=REGION \
    --project=PROJECT \

Haz los cambios siguientes:

  • SERVICE_ATTACHMENT_NAME: el nombre del archivo adjunto de servicio
  • SWP_INSTANCE_URI: el URI de la instancia de proxy web seguro, con el siguiente formato: //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/INSTANCE_NAME
  • NAT_SUBNET_NAME: el nombre de la subred de Private Service Connect
  • REGION: la región de la implementación de Secure Web Proxy
  • PROJECT: el proyecto de la implementación de Secure Web Proxy

Crear puntos finales

Crea un endpoint en cada red de VPC y región que necesite enviar tráfico de salida a través de la instancia de proxy web seguro centralizada. Repite los pasos siguientes para cada endpoint que necesites crear.

Consola

  1. En la Google Cloud consola, ve a la página Private Service Connect.

    Ir a Private Service Connect

  2. Haz clic en la pestaña Puntos finales conectados.

  3. Haz clic en Conectar punto final.

  4. En Destino, selecciona Servicio publicado.

  5. En Servicio de destino, introduce el URI de la vinculación de servicio al que quieras conectarte.

    El URI de la vinculación de servicio tiene este formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. En Endpoint name (Nombre del endpoint), escribe el nombre que quieras usar para el endpoint.

  7. Selecciona una red para el endpoint.

  8. Selecciona una subred para el endpoint.

  9. Selecciona una dirección IP para el endpoint. Si necesitas una dirección IP nueva, puedes crearla:

    1. Haga clic en el menú desplegable Dirección IP y seleccione Crear dirección IP.
    2. Escriba un nombre y una descripción (opcional) para la dirección IP.
    3. Selecciona una versión de IP.
    4. Si vas a crear una dirección IPv4, selecciona Asignar automáticamente o Dejarme elegir.

      Si has seleccionado Quiero seleccionarlas yo mismo, introduce la dirección IP personalizada que quieras usar.

    5. Haz clic en Reservar.

  10. Haz clic en Añadir endpoint.

Cloud Shell

  1. Reserva una dirección IP interna para asignarla al endpoint.

    gcloud compute addresses create ADDRESS_NAME \
        --region=REGION \
        --subnet=SUBNET \
        --ip-version=IP_VERSION
    

    Haz los cambios siguientes:

    • ADDRESS_NAME: el nombre que se asignará a la dirección IP reservada.

    • REGION: la región de la dirección IP del endpoint. Debe ser la misma región que contiene el adjunto de servicio del productor de servicios.

    • SUBNET: nombre de la subred de la dirección IP del endpoint.

    • IP_VERSION: la versión de IP de la dirección IP, que puede ser IPV4 o IPV6. IPV4 es el valor predeterminado. Para especificar IPV6, la dirección IP debe estar conectada a una subred con un intervalo de direcciones IPv6 internas.

  2. Crea una regla de reenvío para conectar el endpoint a la vinculación de servicio del productor del servicio.

    gcloud compute forwarding-rules create ENDPOINT_NAME \
       --region=REGION \
       --network=NETWORK_NAME \
       --address=ADDRESS_NAME \
       --target-service-attachment=SERVICE_ATTACHMENT
    

    Haz los cambios siguientes:

    • ENDPOINT_NAME: el nombre que se asignará al endpoint.

    • REGION: la región del endpoint. Debe ser la misma región que contiene la vinculación de servicio del productor de servicios.

    • NETWORK_NAME: nombre de la red de VPC del endpoint.

    • ADDRESS_NAME: el nombre de la dirección reservada.

    • SERVICE_ATTACHMENT: el URI de la vinculación de servicio del productor de servicios. Por ejemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Dirigir cargas de trabajo a endpoints de Private Service Connect

Configura las variables de entorno del proxy para que cada carga de trabajo use la dirección IP de un punto final de Private Service Connect para el tráfico de salida.

Por ejemplo, en el caso de una carga de trabajo en un entorno Linux o macOS, puedes usar la línea de comandos para configurar temporalmente las variables de entorno HTTP_PROXY y HTTPS_PROXY:

export HTTP_PROXY="http://ENDPOINT_IP_ADDRESS:HTTP_PORT"
export HTTPS_PROXY="https://ENDPOINT_IP_ADDRESS:HTTPS_PORT"

Haz los cambios siguientes:

  • ENDPOINT_IP_ADDRESS: la dirección IP interna de tu endpoint
  • HTTP_PORT: el puerto para recibir tráfico HTTP
  • HTTPS_PORT: el puerto para recibir tráfico HTTPS

Para obtener información sobre cómo definir variables de proxy de forma permanente en el entorno de tus cargas de trabajo, consulta la documentación de tu sistema operativo.

Siguientes pasos