Autentique utilizadores com Contas Google
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. Este início rápido usa o Cloud Shell para clonar e implementar a aplicação de exemplo. Pode usar este guia de início rápido para ativar as CAs para a sua própria app do ambiente padrão do App Engine ou do ambiente flexível do App Engine.
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.
Quando uma aplicação do App Engine consiste em vários serviços, é possível configurar diferentes autorizações da IAP nos diferentes serviços, incluindo tornar apenas alguns dos serviços acessíveis publicamente, mantendo os outros protegidos.
Para seguir orientações passo a passo para esta tarefa diretamente na Google Cloud consola, clique em Orientar-me:
Antes de começar
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
 - 
    
    
      
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
 - 
      Create a project: To create a project, you need the Project Creator
      (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. 
 - 
  
    
Verify that billing is enabled for your Google Cloud project.
 - 
    
    
      
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
 - 
      Create a project: To create a project, you need the Project Creator
      (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. 
 - 
  
    
Verify that billing is enabled for your Google Cloud project.
 
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 } } EOFExecute 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.
O que se segue?
- Saiba como obter a identidade do utilizador e desenvolver a sua própria app App Engine.