Apache Guacamole offre un modo completamente basato su browser per accedere ai desktop remoti tramite Remote Desktop Protocol (RDP), Virtual Network Computing (VNC) e Secure Shell Protocol (SSH) su macchine virtuali (VM) di Compute Engine. Identity-Aware Proxy (IAP) consente di accedere a Guacamole con una sicurezza migliorata.
Questo documento sull'architettura di riferimento è destinato agli amministratori e agli ingegneri dei server che vogliono ospitare Apache Guacamole su Google Kubernetes Engine (GKE) e Cloud SQL. Questo documento presuppone che tu conosca la procedura di deployment dei carichi di lavoro in 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 carico di Google Cloud: distribuisce il traffico su più istanze, riducendo il rischio di problemi di prestazioni.
- IAP: fornisce una maggiore sicurezza grazie a un'estensione di autenticazione personalizzata.
- Client Guacamole: viene eseguito in GKE e si connette al servizio di backend guacd.
- Servizio di backend Guacd: connessioni desktop remoto dei broker a una o più VM di Compute Engine.
- Database Guacamole in Cloud SQL: gestisce i dati di configurazione per Guacamole.
- Istanze Compute Engine: VM ospitate nell'infrastruttura Google.
Note sul layout
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 in GitHub.
Quando aggiungi altri utenti (tramite l'interfaccia utente Guacamole), questi devono disporre delle autorizzazioni tramite IAM con il ruolo IAP-secured Web App User
.
La configurazione OAuth creata da questo deployment
è impostata su interna.
Per questa impostazione, devi utilizzare un Account Google all'interno della stessa organizzazione
che utilizzi per eseguire il deployment di Guacamole. Se utilizzi un Account Google esterno all'organizzazione, ricevi un errore HTTP/403 org_internal
.
Prestazioni
Il bilanciatore del carico Google Cloud e GKE distribuiscono il traffico in più istanze, riducendo così il rischio di problemi di prestazioni.
Deployment
Per eseguire il deployment di questa architettura, vedi Eseguire il deployment di Apache Guacamole su GKE e Cloud SQL.
Passaggi successivi
- Rivedi le indicazioni di GKE su Rafforzamento della sicurezza del cluster.
- Consulta Cripta i secret a livello di applicazione per aumentare la sicurezza dei secret, ad esempio le credenziali del database e le credenziali OAuth.
- Consulta le condizioni IAM per scoprire come fornire un controllo più granulare per l'accesso degli utenti a Guacamole.
- Per saperne di più su come funziona l'integrazione IAP, esamina il provider di autenticazione personalizzata nel repository GitHub.
- Per ulteriori architetture di riferimento, diagrammi e best practice, esplora il Cloud Architecture Center.