Esta página explica como proteger uma instância do App Engine com o Identity-Aware Proxy (IAP).
Antes de começar
Para ativar o IAP para o App Engine, você precisará destes elementos:
- Um projeto do console do Google Cloud com o faturamento ativado.
Se você ainda não configurou a instância do App Engine, consulte Como implantar o App Engine para um tutorial completo.
O IAP usa um cliente OAuth gerenciado pelo Google para autenticar usuários. Somente os usuários da organização podem acessar o aplicativo com IAP ativado. Se você quiser permitir o acesso de usuários de fora da sua organização, consulte Ativar o IAP para aplicativos externos.
Como ativar o IAP
Console
O cliente OAuth gerenciado pelo Google não está disponível ao ativar o IAP usando o console do Google Cloud.
Se você ainda não tiver configurado a tela de consentimento do OAuth do seu projeto, precisará fazer isso. Para configurar a tela de consentimento do OAuth, consulte Como configurar a tela de consentimento do OAuth.
Como configurar o acesso do IAP
-
Acesse a página Identity-Aware Proxy.
Acessar a página "Identity-Aware Proxy" - Selecione o projeto que você quer proteger com o IAP.
- Marque a caixa de seleção ao lado do recurso que você quer conceder acesso.
- No painel à direita, clique em Adicionar principal.
-
Na caixa de diálogo Adicionar membros que é exibida, insira os endereços de e-mail de grupos ou
indivíduos que terão o papel Usuário do app da Web protegido pelo IAP no projeto.
Os seguintes tipos de administradores podem ter esse papel:
- Conta do Google: user@gmail.com
- grupo do Google: admins@googlegroups.com
- Conta de serviço: server@example.gserviceaccount.com
- Domínio do Google Workspace: example.com
Inclua uma Conta do Google a que você tenha acesso.
- Selecione Cloud IAP > Usuário do app da Web protegido pelo IAP na lista suspensa Papéis.
- Clique em Salvar.
Ativando o IAP
-
Na página Identity-Aware Proxy, em APLICAÇÕES,
encontre o aplicativo a que você quer restringir
o acesso. Para ativar o IAP para um recurso,
- Na janela Ativar IAP que é exibida, clique em Ativar para confirmar que você quer proteger seu recurso com o IAP. Depois disso, será necessário usar credenciais de login para todas as conexões com o balanceador de carga. O acesso será concedido apenas às contas com o papel usuário do app da Web protegido pelo IAP no projeto.
gcloud
Antes de configurar o projeto e o IAP, você precisa de uma versão atualizada da CLI gcloud. Para instruções sobre como instalar a CLI gcloud, consulte Instalar a CLI gcloud.
-
Para fazer a autenticação, use a Google Cloud CLI e execute o comando a seguir.
gcloud auth login
- Clique no URL que aparece e faça login.
- Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.
-
Execute o comando abaixo para especificar o projeto que contém os aplicativos que você quer proteger com o IAP.
gcloud config set project PROJECT_ID
-
Para ativar o IAP, execute o comando a seguir.
gcloud iap web enable --resource-type=app-engine --versions=version
-
Adicione participantes que terão o função do usuário do app da Web protegido pelo IAP ao projeto.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL_IDENTIFIER \ --role=roles/iap.httpsResourceAccessor
- Substitua PROJECT_ID pela ID do seu projeto.
- Substitua PRINCIPAL_IDENTIFIER pelos princípios necessários. Pode ser um
tipo de domínio, grupo, conta de serviço ou usuário. Por exemplo,
user:myemail@example.com
.
Depois de ativar o IAP, será possível usar a CLI gcloud para modificar a
política de acesso do IAP usando o papel do IAM
roles/iap.httpsResourceAccessor
. Saiba mais sobre como gerenciar papéis e permissões.
API
Execute o comando a seguir para preparar um arquivo
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Execute o comando abaixo para ativar o IAP.
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Accept: application/json" \ -H "Content-Type: application/json" \ -d @settings.json \ "https://appengine.googleapis.com/v1/apps/PROJECT_ID?updateMask=iap"
Depois de ativar o IAP, será possível usar a Google Cloud CLI para modificar a
política de acesso do IAP usando o papel roles/iap.httpsResourceAccessor
do IAM. Saiba mais sobre como gerenciar papéis e permissões.
Testar a autenticação do usuário
Acesse o URL do app usando uma conta do Google que você adicionou ao IAP com o papel Usuário do app da Web protegido pelo IAP, conforme descrito acima. Você precisa ter acesso irrestrito a ele.
Use uma janela anônima no Chrome para acessar o app e faça login quando solicitado. Se você tentar acessar o app com uma conta que não está autorizada com o papel Usuário do app da Web protegido pelo IAP, será exibida uma mensagem informando que você não têm acesso.