O Apache Guacamole oferece uma forma totalmente baseada no navegador de aceder a computadores remotos através do protocolo Remote Desktop Protocol (RDP), Virtual Network Computing (VNC) e Secure Shell Protocol (SSH) em máquinas virtuais (VMs) do Compute Engine. O Identity-Aware Proxy (IAP) oferece acesso ao Guacamole com segurança melhorada.
Este documento de arquitetura de referência destina-se a administradores de servidores e engenheiros que pretendam alojar o Apache Guacamole no Google Kubernetes Engine (GKE) e no Cloud SQL. Este documento pressupõe que tem experiência na implementação de cargas de trabalho no Kubernetes e no Cloud SQL para MySQL. Este documento também pressupõe que conhece a gestão de identidade e acesso e o Google Compute Engine.
Arquitetura
O diagrama seguinte mostra como um Google Cloud equilibrador de carga é configurado com o IAP para proteger uma instância do cliente Guacamole em execução no GKE:
Esta arquitetura inclui os seguintes componentes:
- Google Cloud Equilibrador de carga: distribui o tráfego por várias instâncias, o que reduz o risco de problemas de desempenho.
- IAP: oferece segurança melhorada através de uma extensão de autenticação personalizada.
- Cliente Guacamole: é executado no GKE e liga-se ao serviço de back-end guacd.
- Serviço de back-end do Guacd: negoceia ligações de ambiente de trabalho remoto a uma ou mais VMs do Compute Engine.
- Base de dados do Guacamole no Cloud SQL: gere os dados de configuração do Guacamole.
- Instâncias do Compute Engine: VMs alojadas na infraestrutura da Google.
Considerações de design
As seguintes diretrizes podem ajudar a desenvolver uma arquitetura que cumpra os requisitos da sua organização em termos de segurança, custo e desempenho.
Segurança e conformidade
Esta arquitetura usa o IAP para ajudar a proteger o acesso ao serviço Guacamole. Os utilizadores autorizados iniciam sessão na instância do Guacamole através de uma extensão de autenticação do IAP personalizada. Para ver detalhes, consulte a extensão personalizada no GitHub.
Quando adiciona utilizadores adicionais (através da interface de utilizador do Guacamole), estes utilizadores adicionais têm de ter autorizações através do IAM, com a função IAP-secured Web App User
.
A configuração de OAuth que esta implementação cria
está definida como interna.
Devido a esta definição, tem de usar uma Conta Google na mesma organização
que usa para implementar o Guacamole. Se usar uma Conta Google fora da organização, recebe um erro HTTP/403 org_internal
.
Desempenho
Google Cloud O balanceador de carga e o GKE distribuem o tráfego por várias instâncias, o que ajuda a reduzir o risco de problemas de desempenho.
Implementação
Para implementar esta arquitetura, consulte o artigo Implemente o Apache Guacamole no GKE e no Cloud SQL.
What's Next?
- Reveja as orientações do GKE sobre como reforçar a segurança do cluster.
- Reveja a secção Encriptar informações secretas na camada de aplicação para aumentar a segurança das informações secretas, como credenciais de bases de dados e credenciais do OAuth.
- Reveja as condições da IAM para saber como fornecer um controlo mais detalhado do acesso dos utilizadores ao Guacamole.
- Compreenda melhor como funciona a integração da IAP revendo o fornecedor de autenticação personalizado no repositório do GitHub.
- Para ver mais arquiteturas de referência, diagramas e práticas recomendadas, explore o Centro de arquitetura na nuvem.
Colaboradores
Autor: Richard Grime | Principal Architect, UK Public Sector
Outros colaboradores:
- Aaron Lind | Solution Engineer, Application Innovation
- Eyal Ben Ivri | Arquiteto de soluções na nuvem
- Ido Flatow | Arquiteto de soluções na nuvem