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:
- Crea una política y reglas de proxy web seguro.
- Crea una instancia de proxy web seguro que use tu política.
- Crea un archivo adjunto de servicio para publicar la instancia de Secure Web Proxy como servicio de Private Service Connect.
- Crea un endpoint de consumidor de Private Service Connect en cada red de VPC que necesite conectarse a Secure Web Proxy.
- Dirige el tráfico de salida de tu carga de trabajo a la instancia centralizada de proxy web seguro de la región.
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
En la Google Cloud consola, ve a la página Políticas de SWP.
Haz clic en
Crear una política.Introduce el nombre de la política que quieras crear, como
myswppolicy
.Escribe una descripción de la política.
En la lista Regiones, selecciona la región en la que quieras crear la política de proxy web.
Haz clic en Crear.
Cloud Shell
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 proyectoREGION
: la región de la política
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
En la Google Cloud consola, ve a la página Políticas de SWP.
Haz clic en el nombre de la política.
Para añadir reglas que permitan que las cargas de trabajo accedan a Internet, haz lo siguiente:
- Haz clic en Añadir regla.
- Introduce una prioridad. Las reglas se evalúan de mayor a menor prioridad, donde
0
es la prioridad más alta. - Escribe un nombre.
- Introduce una descripción.
- Introduce un estado.
- En Acción, selecciona Permitir.
- Haga clic en Estado y, a continuación, seleccione Habilitado.
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'
Haz clic en Crear.
Cloud Shell
Por cada regla que quiera añadir, haga lo siguiente:
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 proyectoREGION
: la región de tu políticaRULE_NAME
: el nombre de la reglaPRIORITY
: la prioridad de la regla. Las reglas se evalúan de mayor a menor prioridad, donde0
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.
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
En la Google Cloud consola, ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver su página Detalles de la red de VPC.
Haz clic en Subredes.
Haz clic en Añadir subred. En el panel que aparece, haz lo siguiente:
- Proporciona un nombre.
- Selecciona una región.
- En la sección Propósito, selecciona Private Service Connect.
- En Tipo de pila de IP, selecciona IPv4 (pila única) o IPv4 e IPv6 (pila dual).
- Introduce un intervalo de IPv4. Por ejemplo,
10.10.10.0/24
. - Si vas a crear una subred de doble pila, define el tipo de acceso IPv6 como Interno.
- 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
En la Google Cloud consola, ve a la página Private Service Connect.
Haz clic en la pestaña Servicios publicados.
Haz clic en Publicar servicio.
En la sección Detalles del destino, selecciona Web Proxy seguro.
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.
En Nombre del servicio, escribe el nombre de la vinculación de servicio.
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.
En la sección Preferencia de conexión, selecciona Aceptar todas las conexiones automáticamente.
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 servicioSWP_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 ConnectREGION
: la región de la implementación de Secure Web ProxyPROJECT
: 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
En la Google Cloud consola, ve a la página Private Service Connect.
Haz clic en la pestaña Puntos finales conectados.
Haz clic en Conectar punto final.
En Destino, selecciona Servicio publicado.
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
En Endpoint name (Nombre del endpoint), escribe el nombre que quieras usar para el endpoint.
Selecciona una red para el endpoint.
Selecciona una subred para el endpoint.
Selecciona una dirección IP para el endpoint. Si necesitas una dirección IP nueva, puedes crearla:
- Haga clic en el menú desplegable Dirección IP y seleccione Crear dirección IP.
- Escriba un nombre y una descripción (opcional) para la dirección IP.
- Selecciona una versión de IP.
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.
Haz clic en Reservar.
Haz clic en Añadir endpoint.
Cloud Shell
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 serIPV4
oIPV6
.IPV4
es el valor predeterminado. Para especificarIPV6
, la dirección IP debe estar conectada a una subred con un intervalo de direcciones IPv6 internas.
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 endpointHTTP_PORT
: el puerto para recibir tráfico HTTPHTTPS_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
- Configurar la inspección TLS
- Usar etiquetas para crear políticas
- Asignar direcciones IP estáticas al tráfico de salida
- Consideraciones adicionales sobre el modo de vinculación de servicio de Private Service Connect