Apache Guaamole 提供了一种完全基于浏览器的方法,可在 Compute Engine 虚拟机 (VM) 上通过远程桌面协议 (RDP)、虚拟网络计算 (VNC) 和 Secure Shell Protocol (SSH) 访问远程桌面。Identity-Aware Proxy (IAP) 提供对 Guamamole 的访问权限,并且安全性更高。
本参考架构文档适用于希望在 Google Kubernetes Engine (GKE) 和 Cloud SQL 上托管 Apache Guacamole 的服务器管理员和工程师。本文档假定您熟悉如何将工作负载部署到 Kubernetes 和 Cloud SQL for MySQL。本文档还假定您熟悉 Identity and Access Management 和 Google Compute Engine。
架构
下图展示了如何使用 IAP 配置 Google Cloud 负载均衡器,以保护在 GKE 中运行的 Guacamole 客户端实例:
此架构包括以下组件:
- Google Cloud 负载均衡器:将流量分配到多个实例,从而减少性能问题。
- IAP:通过自定义身份验证扩展程序提供更高的安全性。
- Guamamole 客户端:在 GKE 中运行并连接到 Guucd 后端服务。
- Guacd 后端服务:代理与一个或多个 Compute Engine 虚拟机建立远程桌面连接。
- Cloud SQL 中的 Guacamole 数据库:管理 Guacamole 的配置数据。
- Compute Engine 实例:托管在 Google 基础架构上的虚拟机。
设计考虑事项
以下指南可帮助您开发满足组织的安全性、费用和性能要求的架构。
安全与法规遵从
此架构使用 IAP,有助于访问 Guamamole 服务。授权用户通过自定义 IAP 身份验证扩展程序登录 Guacamole 实例。如需了解详情,请参阅 GitHub 中的自定义扩展程序。
当您通过 Guamamole 界面添加其他用户时,这些额外的用户必须通过 IAM 拥有 IAP-secured Web App User
角色的权限。
此部署创建的 OAuth 配置设置为内部。由于此设置,您必须使用同一组织中与部署 Guamamole 相同的 Google 账号。如果您使用的是组织外部的 Google 账号,则会收到 HTTP/403 org_internal
错误。
性能
Google Cloud 负载均衡器和 GKE 在多个实例之间分配流量,这有助于减少发生性能问题的风险。
部署
如需部署此架构,请参阅在 GKE 和 Cloud SQL 上部署 Apache Guacamole。
后续步骤
- 查看关于强化集群的安全性的 GKE 指南。
- 查看在应用层对 Secret 加密,以提高 Secret(例如数据库凭据和 OAuth 凭据)的安全性。
- 请查看 IAM Conditions,了解如何对 Guamamole 的用户访问进行更精细的控制。
- 请参阅 GitHub 代码库中的自定义身份验证提供方,详细了解 IAP 集成的工作原理。
- 如需查看更多参考架构、图表和最佳实践,请浏览云架构中心。