Esta página descreve os conceitos básicos do Identity-Aware Proxy (IAP), um Google Cloud serviço global.
A IAP permite-lhe estabelecer uma camada de autorização central para aplicações acedidas por HTTPS, para que possa usar um modelo de controlo de acesso ao nível da aplicação em vez de depender de firewalls ao nível da rede.
As políticas de IAP são dimensionadas na sua organização. Pode definir políticas de acesso centralmente e aplicá-las a todas as suas aplicações e recursos. Quando atribui uma equipa dedicada para criar e aplicar políticas, protege o seu projeto de uma definição ou implementação incorreta de políticas em qualquer aplicação.
Quando usar as CAsI
Use o IAP quando quiser aplicar políticas de controlo de acesso para aplicações e recursos. O IAP funciona com cabeçalhos assinados ou com a API Users do ambiente padrão do App Engine para proteger a sua app. Com o IAP, pode configurar o acesso à aplicação com base em grupos: um recurso pode estar acessível para funcionários e inacessível para contratados, ou apenas acessível a um departamento específico.
Como funciona a IAP
Quando uma aplicação ou um recurso está protegido pelo IAP, só pode ser acedido através do proxy por diretores, também conhecidos como utilizadores, que tenham a função de gestão de identidade e de acesso (IAM) correta. Quando concede a um utilizador acesso a uma aplicação ou um recurso através da IAP, este fica sujeito aos controlos de acesso detalhados implementados pelo produto em utilização sem necessidade de uma VPN. Quando um utilizador tenta aceder a um recurso protegido pelo IAP, o IAP realiza verificações de autenticação e autorização.




Autenticação
Os pedidos aos seus Google Cloud recursos são feitos através do Cloud Run, do App Engine e do Cloud Load Balancing (balanceamento de carga HTTP(S) externo e interno). O código da infraestrutura de publicação destes produtos verifica se as compras na app estão ativadas para a app ou o serviço de back-end. Se o IAP estiver ativado, as informações sobre o recurso protegido são enviadas para o servidor de autenticação do IAP. Isto inclui informações como o Google Cloud número do projeto, o URL do pedido e quaisquer credenciais da IAP nos cabeçalhos dos pedidos ou nos cookies.
Em seguida, o IAP verifica as credenciais do navegador do utilizador. Se não existir nenhuma, o utilizador é redirecionado para um fluxo de início de sessão na Conta Google do OAuth 2.0 que armazena um token num cookie do navegador para inícios de sessão futuros. Se precisar de criar Contas Google para os seus utilizadores existentes, pode usar a Sincronização de diretórios do Google Cloud para sincronizar com o seu Active Directory ou servidor LDAP.
Se as credenciais do pedido forem válidas, o servidor de autenticação usa essas credenciais para obter a identidade do utilizador (endereço de email e ID do utilizador). Em seguida, o servidor de autenticação usa a identidade para verificar a função de IAM do utilizador e se este tem autorização para aceder ao recurso.
Se estiver a usar o Compute Engine ou o Google Kubernetes Engine, os utilizadores que podem aceder à porta de publicação de aplicações da máquina virtual (VM) podem ignorar a autenticação do IAP. As regras de firewall do Compute Engine e do GKE não podem proteger contra o acesso a partir de código executado na mesma VM que a aplicação protegida pelo IAP. As regras de firewall podem proteger contra o acesso de outra VM, mas apenas se estiverem configuradas corretamente. Saiba mais acerca das suas responsabilidades para garantir a segurança.
Se estiver a usar o Cloud Run, pode ativar o IAP das seguintes formas:
- Diretamente nos seus serviços do Cloud Run. Isto permite que o IAP proteja todos os caminhos de entrada para o Cloud Run, incluindo o URL atribuído automaticamente e qualquer URL do balanceador de carga configurado. Esta configuração é útil quando tem um único serviço do Cloud Run para o qual quer ativar o IAP.
- Através de um balanceador de carga com um back-end do Cloud Run. Esta configuração é útil quando tem vários serviços do Cloud Run em diferentes regiões atrás de um único balanceador de carga global. Nesta configuração, o URL atribuído automaticamente não está protegido pela IAP e pode ser diretamente acessível. Saiba mais sobre as suas responsabilidades para garantir a segurança.
Se um serviço do Cloud Run estiver atrás de um balanceador de carga, não ative o IAP no balanceador de carga e no serviço do Cloud Run.
Autorização
Após a autenticação, o IAP aplica a política de IAM relevante para verificar se o utilizador está autorizado a aceder ao recurso pedido. Se o utilizador tiver a função Utilizador da app Web protegida por IAP no projeto da consola onde o recurso existe, tem autorização para aceder à aplicação.Google Cloud Para gerir a lista de funções de utilizador da app Web protegida por IAP, use o painel do IAP na Google Cloud consola.
Quando ativa a IAP para um recurso, esta cria automaticamente um ID de cliente e um segredo do OAuth 2.0. Se eliminar as credenciais OAuth 2.0 geradas automaticamente, a IAP não funciona corretamente. Pode ver e gerir as credenciais do OAuth 2.0 nas Google Cloud APIs e serviços da consola.
Acesso sensível ao contexto
Como parte do passo de autorização, pode usar o acesso sensível ao contexto para fornecer acesso seguro aos seguintes tipos de recursos:
Google Cloud Consola e APIs
- Primeira camada de defesa na proteção do acesso à infraestrutura para Google Cloud.
- Acesso Google Cloud avançado sensível ao contexto para os utilizadores.
Máquinas virtuais (VMs)
- Ativa o acesso administrativo SSH/RDP a VMs no Google Cloud e noutras nuvens.
- Permite-lhe implementar controlos sensíveis ao contexto robustos para restringir o acesso apenas a administradores designados.
Apps Web
- Fornece autorização e autenticação para aplicações Web alojadas no Google Cloud e noutras nuvens.
- Oferece autorização contínua para evitar o acesso não autorizado e a perda de dados.
As suas responsabilidades
O IAP protege a autenticação e a autorização de todos os pedidos para o Cloud Run, o App Engine, o Cloud Load Balancing (HTTPS) e o balanceamento de carga HTTP interno.
Para garantir a segurança, tem de tomar as seguintes precauções:
- Se estiver a ativar a IAP num equilibrador de carga, verifique se é possível aceder diretamente aos recursos de back-end.
- Se o recurso de back-end for uma VM, configure as regras de firewall para se proteger contra tráfego que não passe pelo balanceador de carga. O IAP não protege contra a atividade num projeto, como outra VM no projeto.
- Se o recurso de back-end for um serviço do Cloud Run, pode desativar o URL run.app para garantir que todo o ingresso entra através do balanceador de carga. Se optar por deixar o URL run.app ativado, deve usar os controlos de entrada para bloquear o tráfego proveniente de fora da sua rede.
- Atualize a sua app para usar cabeçalhos assinados ou use a API Users do ambiente padrão do App Engine.
O que se segue?
- Comece a usar as CAs concluindo uma das seguintes tarefas:
- Ative o IAP diretamente nos serviços Cloud Run ou num equilibrador de carga com um backend do Cloud Run.
- Conclua o Início rápido do App Engine para gerir o acesso com as contas Google.
- Ative o IAP para o Compute Engine.
- Ative o IAP para o GKE.
- Ative as compras na app para apps no local.
- Saiba mais:
- Autenticação no Compute Engine
- Opções de autenticação de utilizadores do App Engine
- Usar o OAuth 2.0 para aceder às APIs Google
- Google Cloud guia de autenticação
- Configurar um balanceador de carga
- Configurar um balanceador de carga com o Cloud Run (totalmente gerido)
- Restringir a entrada para o Cloud Run