Apache Guacamole offre un modo completamente basato sul browser per accedere ai desktop remoti tramite Remote Desktop Protocol (RDP), Virtual Network Computing (VNC) e Secure Shell Protocol (SSH) sulle macchine virtuali (VM) Compute Engine. Identity-Aware Proxy (IAP) fornisce l'accesso a Guacamole con una maggiore sicurezza.
Questo documento sull'architettura di riferimento è destinato agli amministratori di server e agli ingegneri che vogliono ospitare Apache Guacamole su Google Kubernetes Engine (GKE) e Cloud SQL. Questo documento presuppone che tu abbia familiarità con il deployment dei carichi di lavoro su Kubernetes e Cloud SQL per MySQL. Questo documento presuppone inoltre che tu abbia familiarità con Identity and Access Management e Google Compute Engine.
Architettura
Il seguente diagramma mostra come un bilanciatore del carico Google Cloud è configurato con IAP per proteggere un'istanza del client Guacamole in esecuzione in GKE:
Questa architettura include i seguenti componenti:
- Bilanciatore del caricoGoogle Cloud :distribuisce il traffico su più istanze, riducendo il rischio di problemi di prestazioni.
- IAP:offre una maggiore sicurezza tramite un'estensione di autenticazione personalizzata.
- Client Guacamole:viene eseguito in GKE e si connette al servizio di backend guacd.
- Servizio di backend guacd:gestisce le connessioni desktop remoto a una o più VM Compute Engine.
- Database Guacamole in Cloud SQL:gestisce i dati di configurazione per Guacamole.
- Istanze Compute Engine:VM ospitate sull'infrastruttura di Google.
Considerazioni sulla progettazione
Le seguenti linee guida possono aiutarti a sviluppare un'architettura che soddisfi i requisiti della tua organizzazione in termini di sicurezza, costi e prestazioni.
Sicurezza e conformità
Questa architettura utilizza IAP per proteggere l'accesso al servizio Guacamole. Gli utenti autorizzati accedono all'istanza Guacamole tramite un'estensione di autenticazione IAP personalizzata. Per maggiori dettagli, consulta l'estensione personalizzata su GitHub.
Quando aggiungi altri utenti (tramite l'interfaccia utente di Guacamole), questi utenti aggiuntivi
devono disporre delle autorizzazioni tramite IAM, con il ruolo
IAP-secured Web App User
.
La configurazione OAuth creata da questo deployment
è impostata su internal.
A causa di questa impostazione, devi utilizzare un Account Google nella stessa organizzazione
di quello che utilizzi per il deployment di Guacamole. Se utilizzi un Account Google esterno all'organizzazione, ricevi un errore HTTP/403 org_internal
.
Prestazioni
Google Cloud Il bilanciatore del carico e GKE distribuiscono il traffico su più istanze, il che contribuisce a ridurre il rischio di problemi di prestazioni.
Deployment
Per eseguire il deployment di questa architettura, consulta Esegui il deployment di Apache Guacamole su GKE e Cloud SQL.
Passaggi successivi
- Consulta le indicazioni di GKE sul rafforzamento della sicurezza del cluster.
- Consulta Crittografia dei secret a livello di applicazione per aumentare la sicurezza dei secret, come le credenziali del database e le credenziali OAuth.
- Consulta Condizioni IAM per scoprire come fornire un controllo più granulare dell'accesso degli utenti a Guacamole.
- Scopri di più su come funziona l'integrazione di IAP esaminando il provider di autenticazione personalizzato nel repository GitHub.
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.
Collaboratori
Autore: Richard Grime | Principal Architect, UK Public Sector
Altri collaboratori:
- Aaron Lind | Solution Engineer, Application Innovation
- Eyal Ben Ivri | Cloud Solutions Architect
- Ido Flatow | Cloud Solutions Architect