Protege Compute Engine con un perímetro de Controles del servicio de VPC


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.

Es posible que los usuarios de Google Cloud nuevos cumplan con los requisitos para acceder a una prueba gratuita.

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

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:

  1. 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.

  2. Haz clic en Administrar políticas.

  3. Crea una política de acceso nueva que se limite a la carpeta Exercise.

  4. 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.

  1. Accede al proyecto My-Project-1 y verifica que puedes acceder a Compute Engine visitando la página Instancias de VM.

    Ir a Instancias de VM

    Deberías poder acceder porque My-Project-1 no está protegido por el perímetro que creaste antes.

  2. 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 protege My-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

  1. Busca el ID único del incumplimiento de los Controles del servicio de VPC en los registros de auditoría del proyecto My-Project-2:

    1. 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.

    2. Selecciona el proyecto My-Project-2.

    3. 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"
      
    4. 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.

  2. 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

  1. En la consola de Google Cloud , ve a la página Access Context Manager en el alcance de la carpeta Exercise.

    Ir a Access Context Manager

  2. 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.

  3. Ve a la página Controles del servicio de VPC en el alcance de la organización.

    Ir a los Controles del servicio de VPC

  4. Selecciona la política de acceso que creaste antes en este instructivo.

  5. Agrega el nivel de acceso que creaste en el alcance de la carpeta Exercise al perímetro MyFirstPerimeter.

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.

  1. En la Google Cloud consola, ve a la página Instancias de VM.

    Ir a Instancias de VM

  2. Crea una instancia 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

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Borra los recursos individuales

Borra instancias de VM

  1. In the Google Cloud console, go to the VM instances page.

    Go to VM instances

  2. Select the checkbox for the instance that you want to delete.
  3. To delete the instance, click More actions, click Delete, and then follow the instructions.

Borra recursos de los Controles del servicio de VPC

  1. Borra el perímetro de servicio.

  2. Borra el nivel de acceso que creaste en el alcance de la carpeta Exercise.

¿Qué sigue?