Una cuenta de servicio es un tipo especial de cuenta que, por lo general, es usada por una carga de trabajo de aplicación o procesamiento, como una instancia de Compute Engine, en lugar de una persona. Una cuenta de servicio se identifica por su dirección de correo electrónico, que es única a la cuenta.
Las aplicaciones usan cuentas de servicio para hacer llamadas a la API autorizadas, autorizadas como la cuenta de servicio en sí o como usuarios de Google Workspace o Cloud Identity a través de delegación de todo el dominio. Cuando una aplicación se autentica como una cuenta de servicio, tiene acceso a todos los recursos a los que tiene acceso la cuenta de servicio.
Usa una cuenta de servicio para identificar la fuente de tráfico y configurar Políticas del Proxy web seguro según sea necesario.
Esta guía te muestra cómo hacer lo siguiente:
- Crear una instancia del Proxy web seguro con una política vacía.
- Crear y conectar cuentas de servicio a los recursos
- Usar cuentas de servicio para crear una política del Proxy web seguro
- Crear una instancia del Proxy web seguro
- Prueba la conectividad desde tus VMs.
Funciones compatibles
El Proxy web seguro admite el filtrado de tráfico basado en cuentas de servicio Instancias de VM y nodos de GKE (pero no contenedores de GKE). Cada uno de los los recursos compatibles también pueden visualizarse entre proyectos (VPC compartida), entre los límites de la Nube privada virtual (VPC) (Network Connectivity Center, intercambio de tráfico entre redes de VPC) y en Private Service Connect o saltos. En el Acceso a VPC sin servidores, las cuentas de servicio no están disponibles para intercambio de tráfico directo o aplicaciones conectadas a VPC. Para esas aplicaciones, puedes usar la dirección IP de origen del conector de VPC porque solo se usa en tu entorno sin servidores.
Antes de comenzar
Completa la configuración inicial pasos.
Tener un administrador de la organización otorgar acceso a una cuenta de servicio
Verifica que tengas instalada la versión 406.0.0 de Google Cloud CLI o una posterior:
gcloud version | head -n1
Si tienes instalada una versión anterior de gcloud CLI, actualízala:
gcloud components update --version=406.0.0
Crea una instancia del Proxy web seguro con una política vacía
Para crear una instancia del Proxy web seguro, primero crea una política de seguridad vacía y, luego, crearé un proxy web.
Crea una política de seguridad vacía
Console
En la consola de Google Cloud, ve a la página Seguridad de red.
Haz clic en Proxy web seguro.
Haz clic en la pestaña Políticas.
Haz clic en Crear una política.
Escribe un nombre para la política que quieres crear. como
myswppolicy
.Ingresa una descripción de la política, como
My new swp policy
En la lista Regiones, selecciona la región a la que deseas ir. crea la política.
Haz clic en Crear.
Cloud Shell
Usa tu editor de texto preferido para crear el archivo.
POLICY_FILE
.yaml. ReemplazarPOLICY_FILE
por el nombre de archivo que que deseas para el archivo de políticas.Agrega lo siguiente al archivo YAML que creaste:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME description: POLICY_DESCRIPTION
Reemplaza lo siguiente:
PROJECT_NAME
: nombre del proyecto.REGION
: La región a la que se aplica esta políticaPOLICY_NAME
: Es el nombre de la política. creandoPOLICY_DESCRIPTION
: Es la descripción de la política que estás creando
Importa la política de seguridad:
gcloud network-security gateway-security-policies import POLICY_NAME \ --source=POLICY_FILE.yaml \ --location=REGION
Crea un proxy web
Console
En la consola de Google Cloud, ve a la página Seguridad de red.
Haz clic en Proxy web seguro.
Haz clic en Configurar un proxy web.
Ingresa un nombre para el proxy web que quieras crear. como
myswp
.Ingresa una descripción del proxy web, como
My new swp
.En la lista Regiones, selecciona la región a la que deseas ir. crear el proxy web.
En la lista Red, selecciona la red a la que quieres crear el proxy web.
En la lista Subred, selecciona la subred en la que desees crear el proxy web.
Ingresa la dirección IP del proxy web.
En la lista Certificado, selecciona el certificado que deseas. que se usará para crear el proxy web.
En la lista Política, selecciona la política que creaste. asociar el proxy web.
Haz clic en Crear.
Cloud Shell
Usa tu editor de texto preferido para crear el archivo.
GATEWAY_FILE
.yaml. ReemplazarGATEWAY_FILE
por el nombre de archivo que deseas el archivo del proxy web.Agrega lo siguiente al archivo YAML que creaste:
name: projects/PROJECT_NAME/locations/REGION/gateways/GATEWAY_NAME type: SECURE_WEB_GATEWAY ports: [GATEWAY_PORT_NUMBERS] certificateUrls: [CERTIFICATE_URLS] gatewaySecurityPolicy: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME network: projects/PROJECT_NAME/global/networks/NETWORK_NAME subnetwork: projects/PROJECT_NAME/regions/REGION/subnetworks/SUBNET_NAME addresses: [GATEWAY_IP_ADDRESS] scope: samplescope
Reemplaza lo siguiente:
GATEWAY_NAME
: Es el nombre de esta instancia.GATEWAY_PORT_NUMBERS
: Una lista de números de puerto para esta puerta de enlace, como[80,443]
CERTIFICATE_URLS
: Una lista de certificados SSL URLSUBNET_NAME
: Es el nombre de la subred que contieneGATEWAY_IP_ADDRESS
GATEWAY_IP_ADDRESS
: Una lista opcional de IP para tus instancias del Proxy web seguro dentro del proxy subredes creadas anteriormente en el pasos iniciales de configuraciónSi eliges no enumerar las direcciones IP, omitir el campo para que el proxy web elija una dirección IP por ti.
Crea una instancia del Proxy web seguro:
gcloud network-services gateways import GATEWAY_NAME \ --source=GATEWAY_FILE.yaml \ --location=REGION
Prueba la conectividad
Para probar la conectividad, usa el comando curl
desde cualquier VM dentro de tu
Red de nube privada virtual (VPC):
curl -x https://GATEWAY_IP_ADDRESS:PORT_NUMBER https://www.example.com --proxy-insecure
Se espera un error 403 Forbidden
.
Crea y adjunta cuentas de servicio a los recursos
Haz lo siguiente para crear y conectar cuentas de servicio:
Crea reglas del Proxy web seguro
Para crear reglas del Proxy web seguro, haz lo siguiente:
Usa tu editor de texto preferido para crear una
RULE_FILE
.yaml. ReemplazarRULE_FILE
por el nombre de archivo que elegistePara permitir el acceso a una URL desde la cuenta de servicio elegida, agrega lo siguiente: al archivo YAML:
name: projects/PROJECT_NAME/locations/REGION/gatewaySecurityPolicies/POLICY_NAME/rules/RULE_NAME description: RULE_DESCRIPTION enabled: true priority: RULE_PRIORITY sessionMatcher: CEL_EXPRESSION basicProfile: ALLOW
Reemplaza lo siguiente:
RULE_NAME
: Es un nombre para esta regla.RULE_DESCRIPTION
: Es una descripción del regla que estás creandoRULE_PRIORITY
: Es la prioridad para esta regla. un número menor corresponde a una prioridad más altaCEL_EXPRESSION
: una expresión común Expresión de lenguaje (CEL)Para obtener más información, consulta Comparador de CEL lenguaje de referencia.
Por ejemplo, para permitir el acceso a
example.com
desde el recurso con el permiso adjunta la cuenta de servicio deseada, agrega lo siguiente al archivo YAML que creaste parasessionMatcher
:sessionMatcher: "source.matchServiceAccount('SERVICE_ACCOUNT') && host() == 'example.com'"
Reemplaza
SERVICE_ACCOUNT
por la cuenta de servicio que quieres permitir. Debe ser el correo electrónico de la cuenta de servicio web.
Importa las reglas que creaste:
gcloud network-security gateway-security-policies rules import RULE_NAME \ --source=RULE_FILE.yaml \ --location=REGION \ --gateway-security-policy=POLICY_NAME
Prueba la conectividad
Para probar la conectividad, usa el comando curl
desde el recurso con el
SERVICE_ACCOUNT
adjunto:
curl -x https://IPv4_ADDRESS:443 http://example.com
--proxy-insecure
Reemplaza IPv4_ADDRESS
por la dirección IPv4 de tu
Instancia de Proxy web seguro.
¿Qué sigue?
- Usa una lista de URLs para crear políticas
- Asigna direcciones IP estáticas para el tráfico de salida