En este instructivo, se muestra cómo proteger Compute Engine con un perímetro de servicio y solucionar problemas relacionados con un incumplimiento de ingreso para permitir el acceso autorizado a Compute Engine.
Los Controles del servicio de VPC te permiten definir un perímetro de servicio alrededor de los recursos de los servicios administrados por Google para controlar la comunicación hacia esos servicios y entre ellos. Puedes establecer un perímetro de confianza cero alrededor de tus recursos sensibles, lo que restringe el acceso a direcciones IP, usuarios y dispositivos autorizados. Esta capacidad te permite definir políticas de seguridad que evitan el acceso a los servicios administrados por Google fuera de un perímetro de confianza, bloquean el acceso a los datos desde ubicaciones no confiables y mitigan los riesgos de robo de datos.
Este instructivo está dirigido a los administradores de la organización Google Cloud que desean aprender los conceptos básicos de los Controles del servicio de VPC.
Objetivos
- Comprende los conceptos básicos de los Controles del servicio de VPC.
- Crear un perímetro de servicio
- Proteger un proyecto con los Controles del servicio de VPC
- Soluciona problemas relacionados con un incumplimiento de entrada de los Controles del servicio de VPC.
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
Debes tener un Google Cloud recurso de organización. Si aún no tienes una cuenta de Google Workspace o Cloud Identity, debes adquirir una, lo que creará automáticamente un recurso de organización para ti.
Crea una carpeta Create a folder,
Exercise
, a nivel de la organización.Crea dos proyectos,
My-Project-1
yMy-Project-2
, en la carpetaExercise
dentro de la misma organización.Asegúrate de tener los siguientes permisos y roles a nivel de la organización:
Permisos y roles necesarios para configurar los Controles del servicio de VPC
Permisos y roles necesarios para administrar Compute Engine.
Crea un perímetro de servicio
Crea un perímetro de servicio que proteja la API de Compute Engine en el proyecto My-Project-2
:
En la consola de Google Cloud , ve a la página Controles del servicio de VPC.
Ir a los Controles del servicio de VPC
Asegúrate de estar en el alcance de la organización.
Haz clic en Administrar políticas.
Crea una política de acceso nueva que se limite a la carpeta
Exercise
.Crea un perímetro nuevo con los siguientes detalles:
Título:
MyFirstPerimeter
Tipo de perímetro: Normal
Modo de aplicación: Aplicado
Recursos para proteger: proyecto
My-Project-2
Servicios restringidos: API de Compute Engine
Verifica el perímetro
En esta sección, puedes realizar solicitudes de acceso a los recursos de los proyectos para confirmar si el perímetro protege los recursos previstos.
Accede al proyecto
My-Project-1
y verifica que puedes acceder a Compute Engine visitando la página Instancias de VM.Deberías poder acceder porque
My-Project-1
no está protegido por el perímetro que creaste antes.Accede al proyecto
My-Project-2
y verifica que puedes acceder a Compute Engine visitando la página Instancias de VM.Deberías ver que los Controles del servicio de VPC rechazan tu solicitud de acceso a Compute Engine porque el perímetro
MyFirstPerimeter
protegeMy-Project-2
y la API de Compute Engine.
Soluciona problemas relacionados con un incumplimiento
Los registros de auditoría de los Controles del servicio de VPC incluyen detalles sobre las solicitudes a recursos protegidos y el motivo por el que los Controles del servicio de VPC rechazaron la solicitud. Necesitas esta información para identificar y solucionar el incumplimiento en el proyecto My-Project-2
.
Ver registros de auditoría
Busca el ID único del incumplimiento de los Controles del servicio de VPC en los registros de auditoría del proyecto
My-Project-2
:-
En la consola de Google Cloud , accede a la página Explorador de registros:
Acceder al Explorador de registros
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Selecciona el proyecto
My-Project-2
.Para mostrar todos los registros de auditoría, ingresa la siguiente consulta en el campo del editor de consultas:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Haz clic en Ejecutar consulta.
Esta consulta muestra todos los registros de auditoría de los Controles del servicio de VPC. Para encontrar los detalles del incumplimiento por acceder a la API de Compute Engine en el proyecto
My-Project-2
, consulta el último registro de errores.Para obtener más información, consulta Visualiza los registros.
-
En el panel Resultados de la consulta, haz clic en Controles del servicio de VPC junto al rechazo que deseas solucionar y, luego, en Rechazo de la solución de problemas.
Se abrirá la página Solucionador de problemas de los Controles del servicio de VPC. En esta página, se muestra el motivo del incumplimiento y otra información, como si se trata de un incumplimiento de ingreso o egreso.
En este instructivo, busca la siguiente información:
"principalEmail": "USER@DOMAIN" "callerIp": "PUBLIC_IP_ADDRESS" "serviceName": "compute.googleapis.com" "servicePerimeterName": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter "ingressViolations": [ { "targetResource": "projects/PROJECT_NUMBER", "servicePerimeter": "accessPolicies/POLICY_NUMBER/servicePerimeters/MyFirstPerimeter" } ], "violationReason": "NO_MATCHING_ACCESS_LEVEL", "resourceNames": "PROJECT_ID"
El motivo del incumplimiento es
"NO_MATCHING_ACCESS_LEVEL"
. El incumplimiento de"NO_MATCHING_ACCESS_LEVEL"
se produce cuando la dirección IP, el tipo de dispositivo o la identidad del usuario no coinciden con ninguna regla de entrada ni nivel de acceso asociados al perímetro. Si falta la dirección IP del emisor o aparece como una dirección IP interna en el registro, este incumplimiento puede deberse a un servicio Google Cloud que no es compatible con los Controles del servicio de VPC.
Para corregir este rechazo en el proyecto My-Project-2
, tienes dos opciones:
Crea un nivel de acceso que permita el acceso a la dirección IP de tu sistema al proyecto dentro del perímetro.
Crea una regla de entrada que permita el acceso a un cliente de API desde fuera del perímetro a los recursos que se encuentran dentro de él.
En la siguiente sección, se ilustra cómo solucionar este rechazo creando un nivel de acceso.
Crea un nivel de acceso
En la consola de Google Cloud , ve a la página Access Context Manager en el alcance de la carpeta
Exercise
.Crea un nivel de acceso con los siguientes detalles:
En Crear condiciones en, selecciona Modo básico.
En Cuando se cumpla la condición, se devolverá, selecciona Verdadero.
Selecciona el atributo Subredes de IP y especifica la dirección IP pública de tu sistema.
Selecciona el atributo Ubicaciones geográficas y especifica tu ubicación geográfica.
Este nivel de acceso solo permite el acceso cuando coinciden la dirección IP y la ubicación geográfica.
Ve a la página Controles del servicio de VPC en el alcance de la organización.
Selecciona la política de acceso que creaste antes en este instructivo.
Agrega el nivel de acceso que creaste en el alcance de la carpeta
Exercise
al perímetroMyFirstPerimeter
.
Prueba el acceso
Después de agregar el nivel de acceso, verifica que puedas acceder a Compute Engine en el proyecto My-Project-2
y crear una instancia de VM.
En la Google Cloud consola, ve a la página Instancias de VM.
Después de aproximadamente un minuto, Compute Engine crea una instancia de VM, y esta acción verifica que tengas acceso completo a Compute Engine protegido dentro del perímetro.
Limpia
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, borra el proyecto que contiene los recursos o conserva el proyecto y borra los recursos individuales.
Borra el proyecto
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Borra los recursos individuales
Borra instancias de VM
- In the Google Cloud console, go to the VM instances page.
- Select the checkbox for the instance that you want to delete.
- To delete the instance, click More actions, click Delete, and then follow the instructions.
Borra recursos de los Controles del servicio de VPC
Borra el nivel de acceso que creaste en el alcance de la carpeta
Exercise
.