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:
- Crea una política y reglas del Proxy web seguro.
- Crea una instancia del Proxy web seguro que use tu política.
- Crea un adjunto de servicio para publicar la instancia del proxy web seguro como un servicio de Private Service Connect.
- Crea un extremo de consumidor de Private Service Connect en cada red de VPC que necesite conectarse al proxy web seguro.
- Dirige el tráfico de salida de tu carga de trabajo a la instancia centralizada de Proxy web seguro 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 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
En la consola de Google Cloud , ve 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/policy1
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyectoREGION
: Es 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
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
En la consola de Google Cloud , ve 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 mayor a menor prioridad, en la que
0
es 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 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'
Haz clic en Crear.
Cloud Shell
Para cada regla que quieras agregar, haz 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'
Reemplaza lo siguiente:
PROJECT_ID
: el ID del proyectoREGION
: 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 que0
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 deDOMAIN_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.
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
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, establece el tipo de acceso IPv6 en Interno.
- 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
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 objetivo, selecciona Proxy web seguro.
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.
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 del Proxy web seguro 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 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
En la Google Cloud consola, 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_NAME
En 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_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 serIPV4
oIPV6
.IPV4
es 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 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 extremoHTTP_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
- Configura la inspección de TLS
- Cómo usar etiquetas para crear políticas
- Asigna direcciones IP estáticas para el tráfico de salida
- Consideraciones adicionales para el modo de adjunto de servicio de Private Service Connect