Como ativar o IAP para o App Engine

Nesta página, você vai aprender a 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 Google Cloud projeto do console 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 usuários na organização podem acessar o aplicativo ativado IAP app. Se você quiser permitir o acesso a 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 Google Cloud .

Ficheiro de inclusão dinâmico

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

  1. Aceda à página Identity-Aware Proxy.
    Aceda à página Identity-Aware Proxy
  2. Selecione o projeto que quer proteger com o IAP.
  3. Selecione a caixa de verificação junto ao recurso ao qual quer conceder acesso.
  4. No painel do lado direito, clique em Adicionar diretor.
  5. 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.

  6. Selecione Cloud IAP > Utilizador da app Web protegida pelo IAP na lista pendente Funções.
  7. Clique em Guardar.

Ativar o IAP

  1. 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:
  2. 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 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.

  1. Para autenticar, use a Google Cloud CLI e execute o seguinte comando:
    gcloud auth login
  2. Clique no URL que aparece e faça login.
  3. Depois de fazer login, copie o código de verificação que aparece e cole-o na linha de comando.
  4. Execute o comando a seguir para especificar o projeto que contém os aplicativos que você quer proteger com o IAP.
    gcloud config set project PROJECT_ID
  5. Para ativar o IAP, execute o seguinte comando.
    gcloud iap web enable --resource-type=app-engine --versions=version
  6. Adicione ao projeto os principais que devem ter a função do usuário do app da Web protegido pelo IAP.
    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 principais necessários. Pode ser um tipo de domínio, grupo, serviceAccount ou usuário. Por exemplo, user:myemail@example.com.

Depois de ativar o IAP, use 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

  1. Execute o comando a seguir para preparar um arquivo settings.json.

    cat << EOF > settings.json
    {
    "iap":
      {
        "enabled":true
      }
    }
    EOF
    

  2. Execute o comando a seguir para ativar 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, use a Google Cloud CLI 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.

Testar a autenticação do usuário de teste

  1. Depois que a função é concedida, os principais podem acessar o app após a autenticação com o IAP. Acesse o URL do aplicativo usando uma Conta do Google que recebeu o IAP com o papel de usuário do app da Web protegido pelo IAP (roles/iap.httpsResourceAccessor).

  2. Use uma janela anônima no Chrome para acessar o app e faça login quando solicitado. Os usuários que recebem o papel de usuário do app da Web protegido pelo IAP e se autenticam com sucesso podem acessar o app. Os usuários que não recebem o papel necessário ou não conseguem se autenticar não podem acessar o app.