Apache Guacamole propose un moyen d'accéder aux bureaux à distance entièrement basé sur navigateur via le protocole RDP (Remote Desktop Protocol), le protocole VNC (Virtual Network Computing) et le protocole SSH (Secure Shell) sur les machines virtuelles (VM) Compute Engine. Identity-Aware Proxy (IAP) permet un accès à Guacamole avec une sécurité renforcée.
Ce document d'architecture de référence est destiné aux ingénieurs et administrateurs de serveur qui souhaitent héberger Apache Guacamole sur Google Kubernetes Engine (GKE) et Cloud SQL. Dans ce document, nous partons du principe que vous maîtrisez le déploiement de charges de travail sur Kubernetes et Cloud SQL pour MySQL. Nous partons également du principe que vous connaissez bien Identity and Access Management et Google Compute Engine.
Architecture
Le schéma suivant montre comment un équilibreur de charge Google Cloud est configuré avec IAP pour protéger une instance du client Guacamole s'exécutant dans GKE :
Cette architecture comprend les composants suivants :
- Équilibreur de charge Google Cloud : distribue le trafic sur plusieurs instances, ce qui réduit le risque de problèmes de performances.
- IAP : fournit une sécurité renforcée via une extension d'authentification personnalisée.
- Client Guacamole : s'exécute dans GKE et se connecte au service de backend guacd.
- Service de backend guacd : service Broker pour les connexions de bureau à distance à une ou plusieurs VM Compute Engine.
- Base de données Guacamole dans Cloud SQL : gère les données de configuration pour Guacamole.
- Instances Compute Engine : VM hébergées sur l'infrastructure Google.
Considérations de conception
Les consignes suivantes peuvent vous aider à développer une architecture répondant aux exigences de votre organisation en termes de sécurité, de coût et de performances.
Sécurité et conformité
Cette architecture intègre IAP pour aider à protéger l'accès au service Guacamole. Les utilisateurs autorisés se connectent à l'instance Guacamole via une extension d'authentification IAP personnalisée. Pour en savoir plus, consultez la documentation de référence sur l'extension personnalisée dans GitHub.
Lorsque vous ajoutez des utilisateurs (via l'interface utilisateur Guacamole), ces utilisateurs supplémentaires doivent disposer d'autorisations via IAM dotées du rôle IAP-secured Web App User
.
La configuration OAuth créée par ce déploiement est définie sur interne.
En raison de ce paramètre, vous devez utiliser un compte Google dans la même organisation que celle utilisée pour déployer Guacamole. Si vous utilisez un compte Google en dehors de l'organisation, vous recevez une erreur HTTP/403 org_internal
.
Performances
L'équilibreur de charge Google Cloud et GKE distribue le trafic sur plusieurs instances, ce qui permet de réduire le risque de problèmes de performances.
Déploiement
Pour déployer cette architecture, consultez la section Déployer Apache Guacamole sur GKE et Cloud SQL.
Étape suivante
- Consultez les conseils de GKE sur la page Renforcer la sécurité d'un cluster.
- Consultez la page Chiffrer les secrets au niveau de la couche d'application pour renforcer la sécurité des secrets, tels que les identifiants de base de données et les identifiants OAuth.
- Passez en revue les Conditions IAM pour découvrir comment fournir un contrôle plus précis sur l'accès des utilisateurs à Guacamole.
- Apprenez-en plus sur le fonctionnement de l'intégration IAP en examinant le fournisseur d'authentification personnalisé dans le dépôt GitHub.
- Pour découvrir d'autres architectures de référence, schémas et bonnes pratiques, consultez le Centre d'architecture cloud.