Autenticar usuários com Contas do Google

Antes de começar

Nesta página, você verá como implantar um aplicativo do ambiente padrão ou flexível do App Engine e protegê-lo com o Identity-Aware Proxy (IAP). O guia de início rápido inclui o código de amostra de um app da Web do ambiente padrão do App Engine que verifica o nome de um usuário conectado. Aqui, usaremos o Cloud Shell para clonar e implantar o aplicativo de amostra. Use este guia para ativar o IAP para seu próprio aplicativo do ambiente padrão ou flexível do App Engine.

Se você planeja disponibilizar recursos de uma rede de fornecimento de conteúdo (CDN, na sigla em inglês), consulte o guia de práticas recomendadas para informações importantes.

Quando um aplicativo do App Engine é composto por vários serviços, é possível configurar diferentes permissões de IAP nos diferentes serviços, o que inclui tornar apenas alguns dos serviços acessíveis publicamente e manter os outros protegidos.


Para ver orientações passo a passo sobre essa tarefa diretamente no Console do Cloud, clique em Orientação:

Orientação


As seções a seguir guiam você pelas mesmas etapas que você encontra clicando em Orientações.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como verificar se o faturamento está ativado em um projeto.

Como iniciar o Cloud Shell

  1. Clique em Ativar o Cloud Shell na parte superior da janela do console.

    Uma sessão do Cloud Shell é aberta em um novo frame na parte inferior do console e um prompt de linha de comando é exibido. A inicialização da sessão do shell pode levar alguns segundos.

    Frame de sessão do Cloud Shell
  2. Digite o seguinte comando no Cloud Shell para exibir os códigos dos seus projetos:
    gcloud projects list
  3. Execute o comando a seguir para definir o projeto padrão, em que YOUR-PROJECT-ID é o ID do projeto que você quer usar neste guia de início rápido:
    gcloud config set project YOUR-PROJECT-ID

Como receber o código de amostra

  1. Digite o seguinte comando no Cloud Shell para conseguir o aplicativo de amostra:

    git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
    
  2. Acesse o diretório que contém o código de amostra:

    cd python-docs-samples/appengine/standard_python3/hello_world/
    

Como implantar o aplicativo

  1. Use gcloud para implantar o aplicativo no App Engine:
    gcloud app deploy
  2. O target url: é exibido no formato https://YOUR_PROJECT_ID.appspot.com. Para acessar o aplicativo, navegue até esse URL em um navegador da Web.

Como ativar o IAP

Selecionar um projeto

  1. Acesse a página "Identity-Aware Proxy".
    Acessar a página "Identity-Aware Proxy"
  2. Se você ainda não tiver um projeto ativo, precisará selecionar o projeto que você quer proteger com o IAP. Selecione o projeto em que você implantou o aplicativo de amostra.

Como configurar a tela de consentimento do OAuth

Se você ainda não configurou a tela de consentimento do OAuth do seu projeto, precisará fazê-lo. É necessário usar um endereço de e-mail e o nome do produto para isso.

  1. Acesse a tela de consentimento OAuth.
    Configurar tela de consentimento
  2. Em E-mail de suporte, selecione o endereço de e-mail que você quer exibir como um contato público. O endereço de e-mail precisa pertencer à conta de usuário conectada no momento ou a um grupo do Google a que o usuário pertence no momento.
  3. Digite o Nome do aplicativo que você quer exibir.
  4. Adicione os detalhes opcionais que você quiser.
  5. Clique em Salvar.

Para alterar as informações na tela de consentimento do OAuth posteriormente, como o nome do produto ou o endereço de e-mail, repita as etapas anteriores.

Como configurar o acesso do IAP

  1. Acesse a página Identity-Aware Proxy.
    Acessar a página "Identity-Aware Proxy"
  2. Selecione o recurso que você quer modificar marcando a caixa à esquerda. No painel lateral à direita, clique em Adicionar membro.
  3. Na caixa de diálogo Adicionar membros, adicione os endereços de e-mail de grupos ou indivíduos a que você quer conceder o papel Usuário do app da Web protegido pelo IAP no projeto.

    Os seguintes tipos de contas podem ser membros:

    • Conta do Google: user@gmail.com
    • grupo do Google: admins@googlegroups.com
    • Conta de serviço: server@example.gserviceaccount.com
    • Domínio do G Suite: example.com

    Inclua uma Conta do Google a que você tenha acesso.

    Para tornar um recurso acessível publicamente (enquanto recursos irmãos estão restritos), conceda o papel Usuário do app da Web protegido pelo IAP a "allUsers" ou "allAuthenticatedUsers". A diferença entre os dois é explicada na seção Acesso público.

  4. Ao terminar de adicionar membros, clique em Adicionar.

Ativando o IAP

  1. Na página Identity-Aware Proxy, em Recursos HTTPS, localize o aplicativo do App Engine a que você quer restringir o acesso. A coluna Publicado mostra o URL do app. Para ativar o IAP para esse app,
    • Para ativar o IAP, você precisa das permissões appengine.applications.update, clientauthconfig.clients.create e clientauthconfig.clients.getWithSecret. Elas são concedidas por papéis como o de editor do projeto. Para mais informações, consulte Como gerenciar o acesso a recursos protegidos pelo IAP.
  2. Para confirmar que você quer proteger o aplicativo com o IAP, clique em Ativar na janela Ativar IAP que aparecerá. Após a ativação, o IAP exigirá credenciais de login para todas as conexões com o aplicativo.

Testar acesso

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

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

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados nesta página, siga as etapas abaixo.

A seguir