Apache Guacamole bietet eine vollständig browserbasierte Möglichkeit, auf Remote Desktops über Remote Desktop Protocol (RDP), Virtual Network Computing (VNC) und Secure Shell Protocol (SSH) auf Compute Engine-VMs zuzugreifen. Identity-Aware Proxy (IAP) bietet Zugriff auf Guacamole mit verbesserter Sicherheit.
Dieses Referenzarchitekturdokument richtet sich an Serveradministratoren und Entwickler, die Apache Guacamole in Google Kubernetes Engine (GKE) und Cloud SQL hosten möchten. In diesem Dokument wird davon ausgegangen, dass Sie mit dem Bereitstellen von Arbeitslasten in Kubernetes und Cloud SQL for MySQL vertraut sind. In diesem Dokument wird auch davon ausgegangen, dass Sie mit Identity and Access Management und Google Compute Engine vertraut sind.
Architektur
Das folgende Diagramm zeigt, wie ein Google Cloud-Load-Balancer mit IAP konfiguriert wird, um eine in GKE ausgeführte Instanz des Guacamole-Clients zu schützen:
Diese Architektur umfasst die folgenden Komponenten:
- Google Cloud-Load-Balancer: Verteilt den Traffic auf mehrere Instanzen, wodurch das Risiko von Leistungsproblemen reduziert wird.
- IAP: Bietet eine höhere Sicherheit durch eine benutzerdefinierte Authentifizierungserweiterung.
- Guacamole-Client: Wird in GKE ausgeführt und stellt eine Verbindung zum gesicherten Backend-Dienst her.
- Guacd-Backend-Dienst: Broker Remote Desktop-Verbindungen zu einer oder mehreren Compute Engine-VMs.
- Guacamole-Datenbank in Cloud SQL: Verwaltet Konfigurationsdaten für Guacamole.
- Compute Engine-Instanzen: VMs, die in der Google-Infrastruktur gehostet werden.
Überlegungen zum Design
Die folgenden Richtlinien können Ihnen bei der Entwicklung einer Architektur helfen, die den Anforderungen Ihrer Organisation hinsichtlich Sicherheit, Kosten und Leistung entspricht.
Sicherheit und Compliance
Diese Architektur verwendet IAP, um den Zugriff auf den Guacamole-Dienst zu schützen. Autorisierte Nutzer melden sich über eine benutzerdefinierte IAP-Authentifizierungserweiterung bei der Guacamole-Instanz an. Weitere Informationen finden Sie in der benutzerdefinierten Erweiterung in GitHub.
Wenn Sie zusätzliche Nutzer (über die Guacamole-Benutzeroberfläche) hinzufügen, muss diesen zusätzlichen Nutzer Berechtigungen über IAM mit der Rolle IAP-secured Web App User
gewährt werden.
Die OAuth-Konfiguration, die von diesem Deployment erstellt wird, ist auf internal gesetzt.
Aufgrund dieser Einstellung müssen Sie ein Google-Konto in derselben Organisation wie das Projekt verwenden, mit dem Sie Guacamole bereitstellen. Wenn Sie ein Google-Konto außerhalb der Organisation verwenden, erhalten Sie die Fehlermeldung HTTP/403 org_internal
.
Leistung
Der Google Cloud-Load-Balancer und GKE verteilen den Traffic auf mehrere Instanzen, wodurch das Risiko von Leistungsproblemen reduziert wird.
Bereitstellung
Informationen zum Bereitstellen dieser Architektur finden Sie unter Apache Guacamole in GKE und Cloud SQL bereitstellen.
Nächste Schritte
- GKE-Anleitung zur Härtung Ihrer Cluster-Sicherheit ansehen
- Lesen Sie den Abschnitt Secrets auf Anwendungsebene verschlüsseln, um die Sicherheit von Secrets wie Datenbankanmeldedaten und OAuth-Anmeldedaten zu erhöhen.
- Unter IAM Conditions erfahren Sie, wie Sie den Nutzerzugriff auf Guacamole detaillierter steuern können.
- Weitere Informationen zur Funktionsweise von IAP-Integrationen finden Sie, wenn Sie den benutzerdefinierten Authentifizierungsanbieter im GitHub-Repository ansehen.
- Weitere Referenzarchitekturen, Diagramme und Best Practices finden Sie im Cloud-Architekturcenter.