Apache Guamole ofrece una forma completamente basada en navegador para acceder a escritorios remotos a través del protocolo de escritorio remoto (RDP), la computación de red virtual (VNC) y el protocolo de shell seguro (SSH) en máquinas virtuales (VMs) de Compute Engine. . Identity-Aware Proxy (IAP) proporciona acceso a Guacamole con mayor seguridad.
Este documento de arquitectura de referencia está dirigido a ingenieros y administradores de servidores que desean alojar Apache Gacamole en Google Kubernetes Engine (GKE) y Cloud SQL. En este documento, se supone que estás familiarizado con la implementación de cargas de trabajo en Kubernetes y Cloud SQL para MySQL. En este documento, también se supone que estás familiarizado con Identity and Access Management y Google Compute Engine.
Arquitectura
En el siguiente diagrama, se muestra cómo se configura un balanceador de cargas de Google Cloud con IAP para proteger una instancia del cliente de Guacamole que se ejecuta en GKE:
Esta arquitectura incluye los siguientes componentes:
- Balanceador de cargas de Google Cloud: Distribuye el tráfico en varias instancias, lo que reduce el riesgo de problemas de rendimiento.
- IAP: Proporciona una seguridad mejorada a través de una extensión de autenticación personalizada.
- Cliente Guacamole: Se ejecuta en GKE y se conecta al servicio de backend de guacd.
- Servicio de backend de Gitac: Agentes de conexiones remotas de escritorio a una o más VMs de Compute Engine.
- Base de datos Guacamole en Cloud SQL: Administra los datos de configuración de Guacamole.
- Instancias de Compute Engine: VMs alojadas en la infraestructura de Google.
Consideraciones del diseño
Los siguientes lineamientos pueden ayudarte a desarrollar una arquitectura que cumpla con los requisitos de seguridad, costo y rendimiento de tu organización.
Seguridad y cumplimiento
Esta arquitectura usa IAP para ayudar a proteger el acceso al servicio Guacamole. Los usuarios autorizados acceden a la instancia de Guacamole a través de una extensión de autenticación de IAP personalizada. Para obtener más detalles, consulta la extensión personalizada en GitHub.
Cuando agregas usuarios adicionales (a través de la interfaz de usuario de Guacamole), estos deben tener permisos a través de IAM, con la función IAP-secured Web App User
.
La configuración de OAuth que crea esta implementación se establece como interna.
Debido a este parámetro de configuración, debes usar una Cuenta de Google en la misma organización que usas para implementar Guacamole. Si usas una Cuenta de Google fuera de la organización, recibirás un error HTTP/403 org_internal
.
Rendimiento
El balanceador de cargas de Google Cloud y GKE distribuyen el tráfico entre varias instancias, lo que ayuda a reducir el riesgo de problemas de rendimiento.
Deployment
Para implementar esta arquitectura, consulta Implementa Apache Guamole en GKE y Cloud SQL.
Próximos pasos
- Revisa la guía de GKE sobre Endurece la seguridad del clúster.
- Revisa Encripta secretos en la capa de la aplicación para aumentar la seguridad de los secretos, como las credenciales de base de datos y las credenciales de OAuth.
- Revisa las Condiciones de IAM para obtener información sobre cómo proporcionar un control más detallado sobre el acceso de usuarios a Guacamole.
- Revisa el proveedor de autenticación personalizado en el repositorio de GitHub para obtener más información sobre cómo funciona la integración de IAP.
- Para obtener más información sobre las arquitecturas de referencia, los diagramas y las prácticas recomendadas, explora Cloud Architecture Center.