Visão geral do Identity-Aware Proxy

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Nesta página, você verá os conceitos básicos do Identity-Aware Proxy (IAP), um serviço global do Google Cloud.

Com o IAP, é possível estabelecer uma camada de autorização central para aplicativos acessados por HTTPS. Assim, você tem a opção de adotar um modelo de controle de acesso no nível do aplicativo, em vez de confiar apenas nos firewalls da rede.

As políticas do IAP são escalonadas para toda a organização. É possível definir políticas de acesso de maneira central e aplicá-las a todos os aplicativos e recursos. Ao atribuir uma equipe dedicada para criar e aplicar políticas, você protege seu projeto contra a definição ou a implementação de políticas incorretas em qualquer aplicativo.

Quando usar o IAP

Use o IAP quando você quiser aplicar políticas de controle de acesso para aplicativos e recursos. O IAP funciona com cabeçalhos assinados ou com a API Users do ambiente padrão do App Engine para proteger seu aplicativo. Com o IAP, é possível configurar o acesso a aplicativos com base em grupos. Por exemplo, um recurso pode ser acessível para funcionários, mas não para colaboradores terceirizados, ou com acesso liberado apenas para a um departamento específico.

Como o IAP funciona

Quando um aplicativo ou recurso é protegido pelo IAP, ele só pode ser acessado pelo proxy por principais, também conhecidos como usuários, que têm o papel correto do Identity and Access Management (IAM). Quando você concede a um usuário acesso a um aplicativo ou recurso pelo IAP, esse usuário estará sujeito a controles de acesso minuciosos implementados pelo produto em uso, sem a necessidade de usar uma rede privada virtual (VPN, na sigla em inglês). Quando um usuário tenta acessar um recurso protegido pelo IAP, o IAP executa verificações de autenticação e autorização.

App Engine
Diagrama do caminho de solicitação para o App Engine ao usar o Cloud IAP
Cloud Run
diagrama do caminho de solicitação para o Cloud Run ao usar o Cloud IAP
Compute Engine
Diagrama do caminho de solicitação para o Compute Engine e o Kubernetes Engine ao usar o Cloud IAP
GKE
Diagrama do caminho de solicitação para o Compute Engine e o Kubernetes Engine ao usar o Cloud IAP
Localmente
Diagrama do caminho de solicitação para um app local ao usar o Cloud IAP

Authentication

As solicitações para os recursos do Google Cloud vêm do App Engine, do Cloud Load Balancing (Balanceamento de carga HTTP(S) externo e interno). O código de infraestrutura de exibição desses produtos verifica se o IAP está ativado para o app ou o serviço de back-end. Caso esteja, as informações sobre o recurso protegido são enviadas ao servidor de autenticação do IAP. Isso inclui informações como o número do projeto no Google Cloud, o URL da solicitação e qualquer credencial do IAP que esteja nos cabeçalhos ou cookies da solicitação.

Em seguida, o IAP verifica as credenciais do navegador do usuário. Se não houver nenhuma, o usuário será redirecionado para um fluxo de login da Conta do Google no OAuth 2.0, que armazena um token em um cookie do navegador para logins futuros. Se for necessário criar uma Conta do Google para usuários existentes, é possível usar o Google Cloud Directory Sync para sincronizar com o Active Directory ou o servidor LDAP.

Se as credenciais da solicitação forem válidas, o servidor de autenticação usará essas credenciais para conseguir a identidade do usuário (endereço de e-mail e ID do usuário). O servidor de autenticação usa a identidade para verificar o papel do IAM do usuário e verificar se ele está autorizado a acessar o recurso.

Se você estiver usando o Compute Engine ou o Google Kubernetes Engine, os usuários com acesso a porta de exibição do aplicativo na máquina virtual poderão ignorar a autenticação pelo IAP. As regras de firewall do Compute Engine e do GKE não protegem contra o acesso a partir da execução do código na mesma VM em que está o aplicativo protegido pelo IAP. As regras de firewall podem proteger contra o acesso de outra VM, mas somente se configurado corretamente. Saiba mais sobre suas responsabilidades para garantir a segurança.

Se você estiver usando o Cloud Run, os usuários que podem acessar o URL atribuído automaticamente poderão ignorar a autenticação do IAP. Os controles de entrada podem restringir o acesso para usar o balanceamento de carga, mas apenas se configurados corretamente. Saiba mais sobre suas responsabilidades para garantir a segurança.

Autorização

Após a autenticação, o IAP aplica a política do IAM pertinente para verificar se o usuário está autorizado a acessar o recurso solicitado. Se o usuário tiver o papel de Usuário do app da Web protegido pelo IAP no projeto do console do Google Cloud em que o recurso existe, ele terá autorização para acessar o aplicativo. Para gerenciar a lista de papéis do Usuário do app da Web protegido pelo IAP, use o painel do IAP no Console do Google Cloud.

Quando você ativa o IAP em um recurso, ele cria automaticamente um ID e uma chave secreta de cliente do OAuth 2.0. Se você excluir as credenciais do OAuth 2.0 geradas automaticamente, o IAP não funcionará da maneira correta. É possível ver e gerenciar as credenciais do OAuth 2.0 nos serviços de APIs e serviços do Console do Google Cloud.

Suas responsabilidades

O IAP protege a autenticação e autorização de todas as solicitações ao App Engine, ao Cloud Load Balancing (HTTPS) ou ao balanceamento de carga HTTP interno. O IAP não oferece proteção contra atividades no projeto, como outra VM.

Para garantir a segurança, é necessário tomar as seguintes precauções:

  • Configure o firewall e o balanceador de carga para proteger contra o tráfego que não vem pela infraestrutura de exibição.
    • Como alternativa, se você estiver usando o Cloud Run, poderá restringir o acesso usando controles de entrada.
  • Use cabeçalhos assinados ou a API Users do ambiente padrão do App Engine.

A seguir