Esta página explica como implementar uma aplicação do ambiente padrão ou flexível do App Engine e protegê-la com o Identity-Aware Proxy (IAP). O início rápido inclui código de exemplo para uma app Web do ambiente padrão do App Engine que valida o nome de um utilizador com sessão iniciada.
Se planear publicar recursos a partir de uma rede de fornecimento de conteúdo (RFC), consulte o guia de práticas recomendadas para ver informações importantes.
Para proteger recursos que não estão no Google Cloud, consulte o artigo Proteger apps e recursos no local.
Antes de começar
Para ativar o CNA para o App Engine, precisa do seguinte:
- Um Google Cloud projeto da consola com a faturação ativada.
Se ainda não tiver a instância do App Engine configurada, consulte o artigo Implementar o App Engine para ver um guia completo.
O IAP usa um cliente OAuth gerido pela Google para autenticar os utilizadores. Apenas os utilizadores na organização podem aceder à aplicação com IAP ativada. Se quiser permitir o acesso a utilizadores externos à sua organização, consulte o artigo Ative o IAP para aplicações externas.
Ativar CNA
Consola
O cliente OAuth gerido pela Google não está disponível quando ativa as CAs através da Google Cloud consola.
Se não tiver configurado o ecrã de consentimento OAuth do seu projeto, é-lhe pedido que o faça. Para configurar o ecrã de consentimento OAuth, consulte o artigo Configurar o ecrã de consentimento OAuth.
Configurar o acesso à IAP
-
Aceda à
página Identity-Aware Proxy.
Aceda à página Identity-Aware Proxy - Selecione o projeto que quer proteger com o IAP.
- Selecione a caixa de verificação junto ao recurso ao qual quer conceder acesso.
- No painel do lado direito, clique em Adicionar diretor.
-
Na caixa de diálogo Adicionar responsáveis apresentada, introduza os endereços de email dos grupos ou
indivíduos que devem ter a função Utilizador da app Web protegida pelo IAP para o projeto.
Os seguintes tipos de principais podem ter esta função:
- Conta Google: user@gmail.com
- Grupo Google: admins@googlegroups.com
- Conta de serviço: server@example.gserviceaccount.com
- Domínio do Google Workspace: example.com
Certifique-se de que adiciona uma Conta Google à qual tem acesso.
- Selecione Cloud IAP > Utilizador da app Web protegida pelo IAP na lista pendente Funções.
- Clique em Guardar.
Ativar o IAP
-
Na página Identity-Aware Proxy, em APLICAÇÕES,
encontre a aplicação à qual quer restringir
o acesso. Para ativar a IAP para um recurso:
- Na janela Ativar IAP apresentada, clique em Ativar para confirmar que quer que o IAP proteja o seu recurso. Depois de ativar o IAP, este requer credenciais de início de sessão para todas as ligações ao seu equilibrador de carga. Apenas as contas com a função utilizador da app Web protegida pelo IAP no projeto têm acesso.
gcloud
Antes de configurar o projeto e as CAs, precisa de uma versão atualizada da CLI gcloud. Para ver instruções sobre como instalar a CLI gcloud, consulte o artigo Instale a CLI gcloud.
-
Para autenticar, use a CLI do Google Cloud e execute o seguinte comando.
gcloud auth login
- Clique no URL apresentado e inicie sessão.
- Depois de iniciar sessão, copie o código de validação apresentado e cole-o na linha de comandos.
-
Execute o seguinte comando para especificar o projeto que contém as aplicações que quer proteger com o IAP.
gcloud config set project PROJECT_ID
-
Para ativar a IAP, execute o seguinte comando.
gcloud iap web enable --resource-type=app-engine --versions=version
-
Adicione os principais que devem ter a função de utilizador da app Web protegida pelo IAP ao projeto.
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=PRINCIPAL_IDENTIFIER \ --role=roles/iap.httpsResourceAccessor
- Substitua PROJECT_ID pelo ID do seu projeto.
- Substitua PRINCIPAL_IDENTIFIER pelos principais necessários. Pode ser um
tipo de domínio, grupo, conta de serviço ou utilizador. Por exemplo,
user:myemail@example.com
.
Depois de ativar o IAP, pode usar a CLI gcloud para modificar a política de acesso do IAP através da função do IAM roles/iap.httpsResourceAccessor
. Saiba mais sobre a
gestão de funções e autorizações.
API
Execute o seguinte comando para preparar um ficheiro
settings.json
.cat << EOF > settings.json { "iap": { "enabled":true } } EOF
Execute o seguinte comando para ativar a 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, pode usar a CLI do Google Cloud para modificar a política de acesso do IAP através da função do IAM roles/iap.httpsResourceAccessor
. Saiba mais sobre a
gestão de funções e autorizações.
Teste a autenticação de utilizadores
Aceda ao URL da app a partir de uma Conta Google que adicionou ao IAP com a função de utilizador da app Web protegida pelo IAP, conforme descrito acima. Deve ter acesso sem restrições à app.
Use uma janela de navegação anónima no Chrome para aceder à app e iniciar sessão quando lhe for pedido. Se tentar aceder à app com uma conta que não esteja autorizada com a função Utilizador da app Web protegida pelo IAP, é apresentada uma mensagem a indicar que não tem acesso.
Passos seguintes
- Defina regras de contexto mais detalhadas aplicando níveis de acesso.
- Veja pedidos de acesso ativando os registos de auditoria do Cloud.
- Saiba mais sobre as compras na app.
- Saiba como obter a identidade do utilizador e desenvolver a sua própria app do App Engine.