Ativar o IAP para o App Engine

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 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.

Arquivo de inclusão dinâmico

Se você ainda não configurou 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

  1. Acesse a página Identity-Aware Proxy.
    Acessar a página "Identity-Aware Proxy"
  2. Selecione o projeto que você quer proteger com o IAP.
  3. Marque a caixa de seleção ao lado do recurso a que você quer conceder acesso.
  4. No painel lateral à direita, clique em Adicionar principal.
  5. Na caixa de diálogo Adicionar principais 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 principais podem ter essa função:

    • 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.

  6. Selecione Cloud IAP > Usuário do app da Web protegido pelo IAP na lista suspensa Papéis.
  7. Clique em Salvar.

Ativando o IAP

  1. Na página Identity-Aware Proxy, em Aplicativos, encontre o aplicativo a que você quer restringir o acesso. Para ativar o IAP para um recurso,
  2. 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 a principais com o papel Usuário do app da Web protegido pelo IAP (roles/iap.httpsResourceAccessor) 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.

  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.

Teste a autenticação de utilizadores

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

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