Apache Guacamole 提供全瀏覽器式方法,可透過遠端桌面通訊協定 (RDP)、虛擬網路運算 (VNC) 和安全殼層通訊協定 (SSH),存取 Compute Engine 虛擬機器 (VM) 上的遠端桌面。Identity-Aware Proxy (IAP) 可提供 Guacamole 存取權,並提升安全性。
本參考架構文件適用於想在 Google Kubernetes Engine (GKE) 和 Cloud SQL 上代管 Apache Guacamole 的伺服器管理員和工程師。本文假設您熟悉如何將工作負載部署至 Kubernetes 和 MySQL 適用的 Cloud SQL。此外,本文也假設您熟悉 Identity and Access Management 和 Google Compute Engine。
架構
下圖顯示如何使用 IAP 設定負載平衡器,保護在 GKE 中執行的 Guacamole 用戶端執行個體: Google Cloud
這個架構包含下列元件:
- Google Cloud 負載平衡器:將流量分配到多個執行個體,降低發生效能問題的風險。
- IAP:透過自訂驗證擴充功能,提供更完善的安全性。
- Guacamole 用戶端:在 GKE 中執行,並連線至 guacd 後端服務。
- Guacd 後端服務:仲介與一或多個 Compute Engine VM 的遠端桌面連線。
- Cloud SQL 中的 Guacamole 資料庫:管理 Guacamole 的設定資料。
- Compute Engine 執行個體:在 Google 基礎架構上代管的 VM。
設計須知
下列指南可協助您開發符合貴機構安全性、成本和效能需求的架構。
安全性與法規遵循
這個架構會使用 IAP,協助保護 Guacamole 服務的存取權。授權使用者透過自訂 IAP 驗證擴充功能登入 Guacamole 執行個體。詳情請參閱 GitHub 中的自訂擴充功能。
透過 Guacamole 使用者介面新增其他使用者時,這些使用者必須透過 IAM 取得權限,並具備 IAP-secured Web App User
角色。
這項部署作業建立的 OAuth 設定會設為「內部」。因此,您必須使用與部署 Guacamole 時相同的機構 Google 帳戶。如果使用機構外部的 Google 帳戶,系統會顯示 HTTP/403 org_internal
錯誤。
成效
Google Cloud 負載平衡器和 GKE 會將流量分配到多個執行個體,有助於降低發生效能問題的風險。
部署作業
如要部署這個架構,請參閱「在 GKE 和 Cloud SQL 上部署 Apache Guacamole」。
後續步驟
- 請參閱 GKE 指南,瞭解如何強化叢集安全性。
- 請參閱「在應用程式層加密 Secret」,提升 Secret (例如資料庫憑證和 OAuth 憑證) 的安全性。
- 請參閱 IAM 條件,瞭解如何更精細地控管使用者對 Guacamole 的存取權。
- 如要進一步瞭解 IAP 整合的運作方式,請查看 GitHub 存放區中的自訂驗證供應商。
- 如需更多參考架構、圖表和最佳做法,請瀏覽 Cloud 架構中心。
貢獻者
作者:Richard Grime | 英國公部門首席架構師
其他貢獻者:
- Aaron Lind | 應用程式創新解決方案工程師
- Eyal Ben Ivri | 雲端解決方案架構師
- Ido Flatow | 雲端解決方案架構師