Protege recursos con los controles del servicio de VPC


Para proteger aún más los recursos de Compute Engine, puedes hacerlo mediante los Controles del servicio de VPC.

Los controles del servicio de VPC te permiten definir un perímetro de seguridad para los recursos de Compute Engine. El perímetro de servicio limita la importación y exportación de recursos y sus datos asociados dentro del perímetro definido.

Cuando creas un perímetro de servicio, selecciona uno o más proyectos para protegerlos. Las solicitudes entre proyectos dentro del mismo perímetro no se ven afectadas. Todas las API existentes continúan funcionando siempre que los recursos involucrados estén dentro del mismo perímetro de servicio. Ten en cuenta que las funciones y políticas de IAM aún se aplican dentro de un perímetro de servicio.

Cuando un perímetro protege un servicio, este no puede realizar solicitudes dentro del perímetro a ningún recurso fuera del perímetro. Esto incluye la exportación de recursos desde el interior hacia el exterior del perímetro. Las solicitudes de recursos protegidos desde el exterior de un perímetro son posibles si cumplen ciertos criterios. Para obtener más información, consulta Descripción general en la documentación de controles del servicio de VPC.

Cuando se realiza una solicitud que infringe el perímetro de servicio, la solicitud falla con el siguiente error:

"code": 403, "message": "Request is prohibited by organization's policy."

Beneficios de seguridad

Los controles del servicio de VPC brindan los siguientes beneficios de seguridad:

  • El acceso a las operaciones sensibles de la API de Compute Engine, como el cambio de reglas de firewall, se puede restringir a un acceso privado desde redes autorizadas o a direcciones IP permitidas.
  • Las imágenes personalizadas y las instantáneas del disco persistente de Compute Engine se pueden restringir a un perímetro.
  • Los metadatos de la instancia de Compute Engine actúan como un sistema de almacenamiento limitado. El acceso a los metadatos de la instancia a través de la API de Compute Engine está limitado por la política de perímetro de servicio, lo que mitiga los riesgos de robo de datos mediante este canal.

Además, ahora se puede acceder a la API de Compute Engine en la IP virtual restringida (VIP). Esto simplifica la configuración de enrutamiento y Cloud DNS para los clientes que están dentro del perímetro y que necesitan acceso a esta API.

Limitaciones

  • Los firewalls jerárquicos no se ven afectados por los perímetros de servicio.
  • Las operaciones de intercambio de tráfico de VPC no imponen restricciones en el perímetro de servicio de VPC.
  • El método de la API projects.ListXpnHosts para la VPC compartida no impone restricciones de perímetro de servicio en los proyectos que se muestran.

Permisos

Asegúrate de tener las funciones adecuadas a fin de administrar la configuración del perímetro de los controles del servicio de VPC para la organización.

Configura un perímetro de servicio

Sigue las instrucciones en Crea un perímetro de servicio en la documentación de controles del servicio de VPC para configurar un perímetro de servicio.

Si configuras un perímetro de servicio mediante Google Cloud CLI, especifica compute.googleapis.com con la marca --restricted-services para restringir la API de Compute Engine.

Agrega Compute Engine como un servicio restringido a un perímetro existente

Si tienes un perímetro de servicio existente y deseas agregar Compute Engine al perímetro de servicio, sigue las instrucciones en Actualiza un perímetro de servicio en la documentación de controles del servicio de VPC.

Crea una VM con controles del servicio de VPC

Después de configurar un perímetro de servicio, no es necesario que realices ningún cambio en las llamadas a la API o las herramientas de API existentes, siempre que los recursos afectados en las solicitudes estén incluidos en el mismo perímetro de servicio. Por ejemplo, con el siguiente comando, se crea una instancia de VM con una imagen de ejemplo. En este caso, el comando falla si el IMAGE_PROJECT está fuera del perímetro de servicio (y no hay un puente perimetral de servicio entre los proyectos).

gcloud compute instances create new-instance \
    --image-family IMAGE_FAMILY --image-project IMAGE_PROJECT \
    --zone us-central1-a --machine-type n1-standard-72

Si creas una VM a partir de una plantilla de instancias, todos los recursos a los que se haga referencia en la plantilla de instancias deben pertenecer al mismo perímetro de servicio en el que se ejecuta el comando o estar conectados mediante un puente perimetral de servicio. La solicitud falla si la plantilla de instancia hace referencia a un recurso fuera del perímetro de servicio, incluso si la plantilla de instancia en sí está dentro del perímetro.

Para ver una situación de ejemplo de un cliente de Compute Engine fuera del perímetro con el que se crea un disco de Compute Engine fuera del perímetro con una clave de Cloud KMS dentro del perímetro, consulta Ejemplos de solicitudes a la API que se permiten mediante la combinación de las reglas de entrada y salida.

Proyectos de imagen pública

Google proporciona y mantiene un conjunto de imágenes públicas para las instancias. Estos proyectos están incluidos de manera implícita en todos los perímetros de seguridad. No debes realizar ninguna acción adicional para usar estas imágenes.

A continuación, se muestra una lista de proyectos que se incluyen de forma automática en todos los perímetros de seguridad:

  • centos-cloud
  • cos-cloud
  • debian-cloud
  • fedora-cloud
  • fedora-coreos-cloud
  • rhel-cloud
  • rhel-sap-cloud
  • rocky-linux-cloud
  • opensuse-cloud
  • suse-cloud
  • suse-byos-cloud
  • suse-sap-cloud
  • ubuntu-os-cloud
  • ubuntu-os-pro-cloud
  • windows-cloud
  • windows-sql-cloud

Si usas un proyecto de imagen que no está en esta lista y eliges no incluir el proyecto de imagen directamente en el perímetro de seguridad, recomendamos que primero hagas una copia de todas las imágenes que se usarán en un proyecto separado y, luego, incluyas el proyecto separado en el perímetro de seguridad.

Copia de imágenes con controles del servicio de VPC

Puedes copiar imágenes de un proyecto a otro si ambos pertenecen al mismo perímetro de servicio. En este ejemplo, DST_PROJECT y SRC_PROJECT deben pertenecer al mismo perímetro de servicio para que funcione la solicitud.

gcloud compute images create --project DST_PROJECT IMAGE_NAME \
   --source-image SOURCE_IMAGE --source-image-project SRC_PROJECT \
    --family IMAGE_FAMILY --storage-location LOCATION

Si eliges no incluir el proyecto de imagen directamente en el perímetro de seguridad, recomendamos que primero hagas una copia de todas las imágenes que se usarán en un proyecto separado y, luego, incluyas el proyecto separado en el perímetro de seguridad.

VPC compartida con controles del servicio de VPC

Cuando se usa la VPC compartida, las restricciones del perímetro de servicio se aplican a todos los proyectos involucrados en una operación determinada. En otras palabras, debes asegurarte de que el proyecto host y los proyectos de servicio estén dentro del mismo perímetro de servicio cuando una operación incluya recursos distribuidos entre los proyectos host y de servicio.

Intercambio de tráfico entre redes de VPC

El intercambio de tráfico entre redes de VPC permite el intercambio de tráfico de redes de VPC entre dos organizaciones distintas. Debido a que un perímetro de servicio está limitado a proyectos dentro de una organización, los perímetros de servicio no afectan las redes de VPC de intercambio de tráfico.

Firewalls jerárquicos

Los firewalls jerárquicos son firewalls que se configuran fuera de un proyecto (a nivel de la carpeta o de la organización). Las restricciones del perímetro de servicio se aplican a un conjunto de proyectos dentro de un perímetro, por lo que no se aplican a firewalls jerárquicos.

Grupos de instancias administrados

Los grupos de instancias administrados te ayudan a administrar un grupo de instancias de VM como una sola entidad. Los grupos de instancias administrados (MIG) usan plantillas de instancias para crear VM, y se aplican todas las restricciones en torno a imágenes o redes y subredes de varios proyectos. Es decir, cuando uses imágenes de otros proyectos, asegúrate de que los proyectos pertenezcan al mismo perímetro o copia las imágenes que necesitas en otro proyecto y, luego, incluye ese proyecto en el perímetro de servicio. Los proyectos de imagen pública que mantiene Google se incluyen de forma automática en todos los perímetros de servicio.

Si quieres usar grupos de instancias con VPC compartida, asegúrate de que los proyectos estén en el mismo perímetro de seguridad.

¿Qué sigue?