Publica el proxy web seguro como un servicio de Private Service Connect

Para centralizar la implementación del proxy web seguro en varias redes de VPC, puedes hacer que el proxy web seguro esté disponible a través de un archivo adjunto de servicio de Private Service Connect.

La implementación de un proxy web seguro con Private Service Connect implica los siguientes pasos:

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

Antes de comenzar

Antes de completar los pasos de esta página, completa los pasos de configuración inicial.

Crea y configura una instancia del Proxy web seguro

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

Para obtener información sobre cómo configurar de forma opcional la inspección de TLS, consulta Habilita la inspección de TLS.

Para obtener información sobre cómo configurar de forma opcional la coincidencia a nivel de la aplicación, consulta Cómo implementar una instancia de Secure Web Proxy.

Crea una política del Proxy web seguro

Console

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

    Ir a Políticas de SWP

  2. Haz clic en Crear una política.

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

  4. Ingresa una descripción de la política.

  5. En la lista Regiones, selecciona la región en la que deseas 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
    

    Reemplaza lo siguiente:

    • PROJECT_ID: el ID del proyecto
    • REGION: Es 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
    

Agrega reglas del 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 que se identifican con una etiqueta de Resource Manager o una cuenta de servicio. Para obtener información sobre cómo hacer coincidir el tráfico de otras maneras, consulta la referencia del lenguaje del comparador de CEL.

Console

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

    Ir a Políticas de SWP

  2. Haz clic en el nombre de la política.

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

    1. Haz clic en Agregar regla.
    2. Ingresa una prioridad. Las reglas se evalúan de mayor a menor prioridad, en la que 0 es la prioridad más alta.
    3. Ingresa un nombre.
    4. Ingresa una descripción.
    5. Ingresa un estado.
    6. En Acción, selecciona Permitir.
    7. Haz clic en Estado y, luego, selecciona Habilitado.
    8. En la sección Coincidencia de sesión, especifica los criterios para que coincida con 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, ingresa lo siguiente:

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

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

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

    9. Haz clic en Crear.

Cloud Shell

Para cada regla que quieras agregar, haz 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'
      

      Reemplaza lo siguiente:

      • PROJECT_ID: el ID del proyecto
      • REGION: Es la región de tu política.
      • RULE_NAME: Es el nombre de la regla.
      • PRIORITY: Es la prioridad de la regla. Las reglas se evalúan de mayor a menor prioridad, en la que 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 de
      • DOMAIN_NAME: Es el nombre de dominio al que se permitirá el tráfico.
    • Para permitir el tráfico a un dominio específico desde cargas de trabajo que usan 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'
      

      Reemplaza SERVICE_ACCOUNT por el nombre de la cuenta de servicio.

  2. Para actualizar tu política con la regla que definiste 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
    

Implementa una instancia del Proxy web seguro

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

La publicación de Secure Web Proxy con un archivo adjunto de servicio de Private Service Connect no es compatible con el modo de enrutamiento de próximo salto.

Para obtener información sobre cómo configurar la instancia, consulta Configura un proxy web. No es necesario que completes los otros pasos de esa página en este momento.

Implementa el proxy web seguro como un servicio de Private Service Connect en un modelo de embudo

En esta sección, se describe cómo implementar el proxy web seguro como un servicio de Private Service Connect con un modelo de embudo para centralizar la administración del tráfico de salida.

Publica el proxy web seguro como un servicio de Private Service Connect

Para publicar el Proxy web seguro como un servicio, crea una subred y un adjunto de servicio de Private Service Connect. La subred y el archivo adjunto del servicio deben compartir la misma región que los extremos de Private Service Connect que acceden al archivo adjunto del servicio.

Crea una subred para Private Service Connect

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

Console

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

    Ir a las redes de VPC

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

  3. Haz clic en Subredes.

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

    1. Proporciona un Nombre.
    2. Selecciona una Región.
    3. En la sección Objetivo, selecciona Private Service Connect.
    4. En Tipo de pila IP, selecciona IPv4 (pila única) o IPv4 e IPv6 (pila doble).
    5. Ingresa un rango IPv4. Por ejemplo, 10.10.10.0/24
    6. Si creas una subred de doble pila, establece el tipo de acceso IPv6 en Interno.
    7. Haz clic en Agregar.

Cloud Shell

Realiza una de las siguientes acciones:

  • 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 pila doble, 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
    

Reemplaza lo siguiente:

  • SUBNET_NAME: nombre que se asignará al extremo.

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

  • REGION: Es la región de la subred nueva. Debe ser la misma región que el servicio que publicas.

  • SUBNET_RANGE: Es el rango de direcciones IPv4 que se usará para la subred, por ejemplo, 10.10.10.0/24.

Crea un adjunto de servicio

Para publicar el Proxy web seguro como un archivo adjunto de servicio en la red de VPC central (conmutador), haz lo siguiente.

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

Console

  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 objetivo, selecciona Proxy web seguro.

  5. Selecciona la instancia del Proxy web seguro que quieres publicar. Los campos de red y región se propagan con los detalles de la instancia de proxy web seguro seleccionada.

  6. En Nombre del servicio, ingresa un nombre para el adjunto del servicio.

  7. Selecciona una o más subredes de Private Service Connect para el servicio. La lista se propaga con subredes de la red de VPC de la instancia del Proxy web seguro seleccionada.

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

  9. Haz clic en Agregar 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 \

Reemplaza lo siguiente:

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

Crear extremos

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

Console

  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 Extremos conectados.

  3. Haz clic en Conectar extremo.

  4. En Destino, selecciona Servicio publicado.

  5. En Servicio de destino, ingresa el URI del adjunto de servicio al que deseas conectarte.

    El URI del adjunto de servicio tiene el siguiente formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. En Nombre del extremo, ingresa un nombre para usar en el extremo.

  7. Selecciona una red para el extremo.

  8. Selecciona una subred para el extremo.

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

    1. Haz clic en el menú desplegable Dirección IP y selecciona Crear dirección IP.
    2. Ingresa un nombre y una descripción para la dirección IP.
    3. Selecciona una versión de IP.
    4. Si creas una dirección IPv4, selecciona Asignar de forma automática o Permitirme elegir.

      Si seleccionaste Permitirme elegir, ingresa la dirección IP personalizada que deseas usar.

    5. Haga clic en Reservar.

  10. Haz clic en Agregar extremo.

Cloud Shell

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

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

    Reemplaza lo siguiente:

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

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

    • SUBNET: Es el nombre de la subred para la dirección IP del extremo.

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

  2. Crea una regla de reenvío para conectar el extremo al adjunto de servicio del productor de servicios.

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

    Reemplaza lo siguiente:

    • ENDPOINT_NAME: nombre que se asignará al extremo.

    • REGION: Es la región para el extremo. Debe ser la misma región que contiene el adjunto del servicio del productor de servicios.

    • NETWORK_NAME: nombre de la red de VPC para el extremo.

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

    • SERVICE_ATTACHMENT: Es el URI del adjunto del servicio del productor de servicios. Por ejemplo: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

Dirige cargas de trabajo a extremos de Private Service Connect

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

Por ejemplo, para una carga de trabajo en un entorno de 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"

Reemplaza lo siguiente:

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

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

Próximos pasos