Para centralizar la implementación de Secure Web Proxy en varias redes de VPC, puedes hacer que Secure Web Proxy esté disponible a través de un adjunto de servicio de Private Service Connect.
La implementación de Secure Web Proxy con Private Service Connect implica los siguientes pasos:
- Crea una políticayreglas de Secure Web Proxy .
- Crea una instancia de Secure Web Proxy que use tu política.
- Crea un adjunto de servicio para publicar la instancia de Secure Web Proxy como un servicio de Private Service Connect.
- Crea un extremo de consumidor de Private Service Connect en cada red de VPC que necesite conectarse a Secure Web Proxy.
- Dirige el tráfico saliente de tu carga de trabajo a la instancia centralizada de Secure Web Proxy dentro de la región.
Antes de comenzar
Antes de completar los pasos de esta página, completa los pasos de configuración inicial.
Crea y configura una instancia de Secure Web Proxy
En esta guía, se describe cómo crear una política y reglas de Secure Web Proxy que coincidan con el tráfico por sesión.
Para obtener información sobre la configuración opcional de la inspección de TLS, consulta Habilita la inspección de TLS.
Para obtener información sobre la configuración opcional de la coincidencia a nivel de la aplicación, consulta Crea y, luego, implementa una instancia de Secure Web Proxy.
Crea una política de Secure Web Proxy
Console
En la Google Cloud consola, accede a la página Políticas de SWP.
Haz clic en Crear una política.
Ingresa un nombre para la política que deseas crear, como
myswppolicy.Ingresa una descripción de la política.
En la lista Regiones, selecciona la región en la que deseas 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/policy1Reemplaza lo siguiente:
PROJECT_ID: el ID del proyectoREGION: la región de la política
Crea una política de Secure Web Proxy basada en
policy.yaml.gcloud network-security gateway-security-policies import policy1 \ --source=policy.yaml \ --location=REGION
Agrega reglas de Secure Web Proxy a tu política
Configura las reglas de Secure Web Proxy 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 del administrador de recursos 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
En la Google Cloud consola, accede a la página Políticas de SWP.
Haz clic en el nombre de la política.
Para agregar reglas que permitan que las cargas de trabajo accedan a Internet, haz lo siguiente:
- Haz clic en Agregar regla.
- Ingresa una prioridad. Las reglas se evalúan de la prioridad más alta a la más baja, donde
0es la prioridad más alta. - Ingresa un nombre.
- Ingresa una descripción.
- Ingresa un estado.
- En Acción, selecciona Permitir.
- Haz clic en Estado y, luego, selecciona Habilitado.
En la sección Coincidencia de sesión, especifica los criterios para hacer coincidir 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 cargas de trabajo que usan la cuenta de servicio
my-service-account@my-project.iam.gserviceaccount.com, ingresa lo siguiente:source.matchServiceAccount('my-service-account@my-project.iam.gserviceaccount.com') && host() == 'google.com'
Haz clic en Crear.
Cloud Shell
Para cada regla que desees agregar, haz lo siguiente:
Crea un archivo
rule.yamly especifica los criterios para hacer coincidir 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 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 la prioridad más alta a la más baja, donde0es la prioridad más alta)TAG_VALUE_ID: el ID de valor de etiqueta de las cargas de trabajo para las que se permitirá el tráficoDOMAIN_NAME: 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_ACCOUNTpor el nombre de la cuenta de servicio.
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 de Secure Web Proxy
Implementa una instancia de Secure Web Proxy en 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 los pasos anteriores.
La publicación de Secure Web Proxy con un adjunto de servicio de Private Service Connect no admite el modo de enrutamiento de siguiente 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 Secure Web Proxy como un servicio de Private Service Connect en un modelo de hub y radio
En esta sección, se describe cómo implementar Secure Web Proxy como un servicio de Private Service Connect, mediante un modelo de hub y radio para centralizar la administración del tráfico de salida.
Publica Secure Web Proxy como un servicio de Private Service Connect
Para publicar Secure Web Proxy como un servicio, crea una subred y un adjunto de servicio de Private Service Connect. La subred y el adjunto de servicio deben compartir la misma región que los extremos de Private Service Connect que acceden al adjunto de servicio.
Crea una subred para Private Service Connect
Para crear una subred para Private Service Connect, haz lo siguiente.
Console
En la consola de Google Cloud , ve a la página Redes de VPC.
Haz clic en el nombre de una red de VPC para ver la página Detalles de la red de VPC.
Haz clic en Subredes.
Haz clic en Agregar subred. En el panel que aparece, haz lo siguiente:
- Proporciona un Nombre.
- Selecciona una Región.
- En la sección Objetivo, selecciona Private Service Connect.
- En Tipo de pila IP, selecciona IPv4 (pila única) o IPv4 e IPv6 (pila doble).
- Ingresa un rango IPv4. Por ejemplo,
10.10.10.0/24. - Si creas una subred de doble pila, configura el Tipo de acceso IPv6 como Interno.
- Haz clic en Agregar.
Cloud Shell
Realiza una de las siguientes acciones:
Para crear una subred de Private Service Connect de solo IPv4, haz lo siguiente:
gcloud compute networks subnets create SUBNET_NAME \ --network=NETWORK_NAME \ --region=REGION \ --range=SUBNET_RANGE \ --purpose=PRIVATE_SERVICE_CONNECTPara 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
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 Secure Web Proxy como un adjunto de servicio en la red de VPC central (hub), 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 o las otras opciones de configuración, consulta Publica un servicio con aprobación explícita.
Console
En la Google Cloud consola, busca y 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 Secure Web Proxy.
Selecciona la instancia de Secure Web Proxy que tú deseas publicar. Los campos de red y región se propagan con los detalles de la instancia de Secure Web Proxy seleccionada.
En Nombre del servicio, ingresa un nombre para el adjunto del servicio.
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 de Secure Web Proxy seleccionada.
En la sección Preferencia de conexión, selecciona Aceptar automáticamente todas las conexiones.
Haz clic en Agregar servicio.
Cloud Shell
Usa el gcloud compute service-attachments create comando.
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: el nombre del adjunto de servicioSWP_INSTANCE_URI: el URI de la instancia de Secure Web Proxy, con el siguiente formato://networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/INSTANCE_NAMENAT_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 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 de Secure Web Proxy. Repite los siguientes pasos para cada extremo que necesites crear.
Console
En la Google Cloud consola, busca y ve a la página Private Service Connect.
Haz clic en la pestaña Extremos conectados.
Haz clic en Conectar extremo.
En Destino, selecciona Servicio publicado.
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_NAMEEn Nombre del extremo, ingresa un nombre para usar en el extremo.
Selecciona una red para el extremo.
Selecciona una subred para el extremo.
Selecciona una dirección IP para el extremo. Si necesitas una dirección IP nueva, puedes crear una:
- Haz clic en el menú desplegable Dirección IP y selecciona Crear dirección IP.
- Ingresa un nombre y una descripción para la dirección IP.
- Selecciona una versión de IP.
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.
Haga clic en Reservar.
Haz clic en Agregar extremo.
Cloud Shell
Reserva una dirección IP interna para asignarla al extremo.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET \ --ip-version=IP_VERSIONReemplaza 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 serIPV4oIPV6.IPV4es la configuración predeterminada. Para especificarIPV6, la dirección IP debe estar conectada a una subred con un rango de direcciones IPv6 internas.
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 las cargas de trabajo a los 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 extremoHTTP_PORT: el puerto para recibir tráfico HTTPHTTPS_PORT: 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
- Configura la inspección de TLS
- Usa etiquetas para crear políticas
- Asigna direcciones IP estáticas para el tráfico de salida