O Apache Guacamole oferece uma maneira totalmente baseada em navegador para acessar áreas de trabalho remotas usando o protocolo de área de trabalho remota (RDP), computação de rede virtual (VNC) e Secure Shell Protocol (SSH) em máquinas virtuais (VMs) do Compute Engine. O Identity-Aware Proxy (IAP) fornece acesso ao Guacamole com segurança aprimorada.
Este documento de arquitetura de referência é destinado a administradores e engenheiros de servidores que querem hospedar o Apache Guacamole no Google Kubernetes Engine (GKE) e no Cloud SQL. Neste documento, pressupomos que você esteja familiarizado com a implantação de cargas de trabalho no Kubernetes e no Cloud SQL para MySQL. Neste documento também presumimos que você conheça o Identity and Access Management e o Google Compute Engine.
Arquitetura
O diagrama a seguir mostra como um balanceador de carga do Google Cloud é configurado com o IAP para proteger uma instância do cliente Guacamole em execução no GKE:
Essa arquitetura inclui os seguintes componentes:
- Balanceador de carga do Google Cloud: distribui o tráfego em várias instâncias, o que reduz o risco de problemas de desempenho.
- IAP: fornece segurança aprimorada por meio de uma extensão de autenticação personalizada.
- Cliente Guacamole: é executado no GKE e se conecta ao serviço de back-end guacd.
- Serviço de back-end guacd: intermedia as conexões da área de trabalho remota a uma ou mais VMs do Compute Engine.
- Banco de dados do Guacamole no Cloud SQL: gerencia dados de configuração do Guacamole.
- Instâncias do Compute Engine: VMs hospedadas na infraestrutura do Google.
Considerações sobre o design
As diretrizes a seguir podem ajudar você a desenvolver uma arquitetura que atenda aos requisitos da sua organização para segurança, custo e desempenho.
Segurança e compliance
Essa arquitetura usa o IAP para ajudar a proteger o acesso ao serviço Guacamole. Os usuários autorizados fazem login na instância do Guacamole por meio de uma extensão de autenticação personalizada do IAP. Para saber mais, consulte a extensão personalizada no GitHub.
Quando você adiciona outros usuários (por meio da interface do usuário do Guacamole), eles precisam ter permissões por meio do IAM com o papel IAP-secured Web App User
.
A configuração do OAuth criada por essa implantação
é definida como interna.
Por causa dessa configuração, você precisa usar uma conta do Google na mesma organização
usada para implantar o Guacamole. Se você usar uma Conta do Google fora da organização, receberá um erro HTTP/403 org_internal
.
Desempenho
O balanceador de carga do Google Cloud e o GKE distribuem o tráfego em várias instâncias, o que ajuda a reduzir o risco de problemas de desempenho.
Implantação
Para implantar essa arquitetura, consulte Implantar o Apache Guacamole no GKE e no Cloud SQL.
A seguir
- Consulte as orientações do GKE sobre Como aumentar a segurança do seu cluster.
- Consulte Criptografar secrets na camada do aplicativo para aumentar a segurança dos secrets, como credenciais de banco de dados e OAuth.
- Consulte as Condições de IAM para saber como fornecer controle mais granular para o acesso do usuário ao Guacamole.
- Para saber mais sobre como a integração do IAP funciona, analise o provedor de autenticação personalizado no repositório do GitHub.
- Para mais arquiteturas de referência, diagramas e práticas recomendadas, confira a Central de arquitetura do Cloud.