1. Introducción
Los Controles del servicio de VPC (VPC-SC) son un control de seguridad a nivel de la organización en Google Cloud que permite a los clientes empresariales mitigar los riesgos de robo de datos. Los Controles del servicio de VPC brindan un estilo de confianza cero a los servicios multiusuario, ya que permiten que los clientes restrinjan el acceso a las IP autorizadas, el contexto del cliente y los parámetros de los dispositivos mientras se conectan a servicios multiusuario desde Internet y otros servicios para reducir tanto las pérdidas intencionales como las accidentales. Puedes usar los Controles del servicio de VPC para crear perímetros que protejan los recursos y datos de los servicios que especifiques de forma explícita.
Los objetivos de este instructivo son los siguientes:
- Comprende los conceptos básicos de los Controles del servicio de VPC
- Crea un perímetro de servicio de VPC
- Protege un proyecto con los Controles del servicio de VPC
- Soluciona un problema de entrada de los Controles del servicio de VPC
2. Configuración y requisitos
Para este instructivo, necesitamos los siguientes requisitos previos:
- Una organización de GCP
- Una carpeta dentro de la organización
- Se colocaron 2 proyectos de GCP dentro de la misma organización en la carpeta.
- Los permisos necesarios a nivel de la organización.
- Cuenta de facturación para ambos proyectos.
Configuración de recursos
- En la consola de Google Cloud, crea una carpeta en la organización y dos proyectos nuevos (puedes reutilizar los existentes).
Si aún no tienes una cuenta de Google Workspace o Cloud Identity, debes adquirir una, ya que necesitarás una organización para este instructivo.
- Verifica que tengas los permisos correctos para este instructivo a nivel de la organización.
- Funciones de IAM para carpetas
- Permisos y roles para los proyectos
- Permisos y roles necesarios para configurar los Controles del servicio de VPC
- Permisos y roles necesarios para administrar Compute Engine
- Asegúrate de que ambos proyectos estén disponibles en la carpeta, ya que necesitamos crear una política con alcance a nivel de la carpeta. Obtén más información para mover un proyecto a una carpeta.
Costo
Debes habilitar la facturación en la consola de Cloud para usar las APIs o los recursos de Cloud. Ejecutar este codelab no costará mucho, tal vez nada. Para cerrar recursos y evitar que se generen cobros más allá de este instructivo, puedes borrar los recursos que creaste o borrar el proyecto. Los usuarios nuevos de Google Cloud son aptos para participar en el programa de prueba gratuita de $300.
El único recurso que generará un costo es la instancia de VM. Puedes encontrar un costo estimado en la calculadora de precios.
3. Crea un perímetro
En este lab, realizaremos los siguientes pasos:
- En Google Console, selecciona tu organización y Accede a los Controles del servicio de VPC. Asegúrate de estar en el nivel de la organización.
- Haz clic en "Administrar políticas". Para crear una nueva política de acceso que se limite al “Codelab”. carpeta.
- Crea un perímetro nuevo en el modo de aplicación forzosa. Llamémosla "Superprotección" para este instructivo.
- Cuando crees el perímetro, selecciona el proyecto que se aplicará como ProjectZ.
- Selecciona el tipo de perímetro como “Regular”.
- En el diálogo Especificar los servicios que deseas restringir, selecciona el servicio que deseas restringir como “Compute Engine”.
La configuración del perímetro debería verse de la siguiente manera:
4. Verifica que se haya aplicado el perímetro
- Accede a ProjectX y verifica si puedes acceder a la API de Compute Engine en la página principal de las instancias de VM. Deberías poder hacerlo porque projectX no está protegido por el perímetro de VPC SC creado.
- Accede a ProjectZ y verifica si puedes acceder a Compute Engine. Puedes ver que los Controles del servicio de VPC prohibieron la solicitud porque la SuperProtection de perímetro de servicio protege a ProjectZ y la API de Compute Engine.
5. Solución de problemas del rechazo
Primero, tenemos que identificar cuál es exactamente el problema aquí para determinar cómo solucionarlo.
- Los registros de los Controles del servicio de VPC incluyen detalles sobre las solicitudes a los recursos protegidos y el motivo por el que estos rechazaron la solicitud. Busquemos el ID único de los Controles del servicio de VPC en los registros de auditoría de ProjectZ con la siguiente consulta en el Explorador de registros:
resource.type="audited_resource" protoPayload.metadata."@type"="type.googleapis.com/google.cloud.audit.VpcServiceControlAuditMetadata"
Se mostrarán todos los registros de auditoría de los Controles del servicio de VPC. Buscaremos el último registro de errores.
- Haz clic en el encabezado Controles del servicio de VPC y selecciona “Denegar la solución de problemas” que abrirá el Solucionador de problemas de los Controles del servicio de VPC.
Esta API nos mostrará en una IU amigable el motivo del incumplimiento y si se trata de una infracción de entrada o salida, entre otros datos útiles.
Para este ejercicio, buscaremos lo siguiente:
"principalEmail": "user@domain" "callerIp": "PUBLIC_IP_ADDRESS" "serviceName": "compute.googleapis.com" "servicePerimeterName": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection "ingressViolations": [ { "targetResource": "projects/[PROJECT_NUMBER]", "servicePerimeter": "accessPolicies/[POLICY_NUMBER]/servicePerimeters/SuperProtection" } ], "violationReason": "NO_MATCHING_ACCESS_LEVEL", "resourceNames": "[PROJECT_ID]"
Tenemos dos opciones para solucionar el rechazo en ProjectZ.
- Crear un nivel de acceso para permitir el acceso al proyecto dentro del perímetro. Para ello, otorga acceso a la IP del sistema.
- Crear una regla de entrada para permitir el acceso de un cliente de API desde fuera del perímetro de servicio a los recursos dentro de ese perímetro.
En este instructivo, crearemos un nivel de acceso para solucionar problemas.
- Ve a Access Context Manager en el permiso de la carpeta (Codelab) y crea un nuevo nivel de acceso.
- Usar el "Modo básico" y permitiremos el acceso cuando se cumplan la subred de IP y la ubicación geográfica.
- Ve a los Controles del servicio de VPC en el permiso de la organización. Selecciona tu política de acceso para este codelab y edita el perímetro que creamos anteriormente.
- Agrega el nivel de acceso creado en el permiso de la carpeta y guárdalo.
6. Resultados de la prueba.
Confirma que tenemos acceso a Compute Engine y que podemos crear una instancia de VM. Ahora que creamos el nivel de acceso, intentemos acceder a Compute Engine en ProjectZ y crear una instancia de VM.
- Ve a Compute Engine y haz clic en Crear instancia.
- Deja todo con su configuración predeterminada y trata de crear una instancia de VM de bajo costo.
Después de aproximadamente un minuto, deberías ver la instancia de VM creada y puedes verificar que tienes acceso completo a Compute Engine protegido dentro del perímetro.
7. Limpieza
Si bien no se aplican cargos adicionales por usar los Controles del servicio de VPC cuando el servicio no se usa, se recomienda limpiar la configuración utilizada en este laboratorio. También puedes borrar la instancia de VM o los proyectos de Cloud para evitar que se generen cargos. Si borras el proyecto de Cloud, se dejan de facturar todos los recursos que usaste en ese proyecto.
- Para borrar tu instancia de VM, selecciona la casilla de verificación a la izquierda del nombre de la instancia de VM y, luego, haz clic en Borrar.
- Para borrar el perímetro, completa los siguientes pasos:
- En la consola de Google Cloud, haz clic en Seguridad y, luego, en Controles del servicio de VPC en el permiso de la organización.
- En la página Controles del servicio de VPC, en la fila de la tabla correspondiente al perímetro que quieres borrar, haz clic en “Borrar ícono”.
- Para borrar el nivel de acceso, completa los siguientes pasos:
- En la consola de Google Cloud, abre la página Access Context Manager en el permiso de la carpeta.
- En la cuadrícula, en la fila del nivel de acceso que deseas borrar, haz clic en “Borrar ícono” y, luego, en Borrar.
- Para cerrar tus proyectos, sigue estos pasos:
- En la consola de Google Cloud, ve a IAM y Página Configuración del administrador del proyecto que quieres borrar.
- En la página de IAM, Configuración del administrador, haz clic en Apagar.
- Ingresa el ID del proyecto y haz clic en Cerrar de todas formas.
8. ¡Felicitaciones!
En este codelab, creaste un perímetro de Controles del servicio de VPC, lo aplicaste y solucionaste problemas.
Más información
- Consulta la documentación de los Controles del servicio de VPC.
- Consulta la documentación de Access Context Manager.
- Consulta la documentación para solucionar problemas de VPC-SC.
Licencia
Este trabajo cuenta con una licencia Atribución 2.0 Genérica de Creative Commons.