Como autenticar usuários

Para autenticar usuários em aplicativos do Google Cloud, o Google oferece os seguintes métodos de autenticação:

Serviço de autenticação Resumo
Identity Platform (recomendado) Autentique usuários usando senhas, números de telefone e provedores de identidade federados como Google, Facebook, Twitter e qualquer outro provedor compatível com o protocolo SAML ou OpenID Connect. Ele oferece recursos empresariais, como autenticação multifator, suporte a SSO do OIDC e SAML, multilocação, SLA de 99,95% e muito mais.

O método recomendado ao iniciar um novo projeto para que você possa usar os recursos do Identity Platform e os recursos legados do Firebase Authentication.
Firebase Authentication Autentique usuários usando diferentes opções de autenticação, incluindo com o Google, o Facebook e o Twitter. O Firebase Authentication oferece suporte ao maior número de usuários, mantendo a menor quantidade de código.

O método recomendado para implantar uma solução no menor número possível de etapas.
Serviços de identidade do Google para a Web Autentique usuários usando contas de usuário do Google do Gmail e do Google Workspace.

O método recomendado para oferecer suporte somente a contas do Google ou a Contas do Google em um sistema de login atual.
OAuth 2.0 e OpenID Connect Fornece identidade federada no provedor que você escolher, incluindo o Google.

O método recomendado se você quiser criar o protocolo de autenticação do usuário.
Identity-Aware Proxy (IAP) Fornece autenticação por meio da adição de uma camada de verificação do Identity and Access Management (IAM) acima do aplicativo do App Engine. O IAP permite controlar o acesso aos serviços do App Engine antes que as solicitações cheguem aos recursos do aplicativo. Isso torna o IAP inadequado para proteção contra atividades no mesmo projeto do Google Cloud.

O método recomendado se você quiser usar as Contas do Google e o IAM para controlar o acesso do usuário.
API Users Autentique os usuários que estão usando contas do Google e do Google Workspace. O serviço de usuários do App Engine é acessível apenas por meio dos serviços em pacote legados.

Identity Platform

O Identity Platform é uma plataforma de gerenciamento de identidade e acesso do cliente (CIAM, na sigla em inglês) que permite às organizações personalizar a identidade e a autenticação para login e login do usuário nos aplicativos. O Identity Platform tem o suporte de vários métodos de autenticação, como SAML, OIDC, e-mail/senha, mídias sociais, smartphone e autenticação personalizada. Com isso, ele oferece opções de integração flexíveis para qualquer solução de identidade. O Identity Platform foi criado com base na segurança, no desempenho, na rede e na escala global do Google Cloud. Ele vem com suporte de nível empresarial e um contrato de nível de serviço (SLA, na sigla em inglês) que atende às demandas de praticamente qualquer app ou serviço.

Essa solução é melhor para a maioria dos usuários que querem opções de autenticação flexíveis com base em SLAs e recursos confiáveis de nível empresarial.

O Identity Platform oferece o próprio sistema de identidade do usuário. Se você já usa o Google Workspace no seu domínio e quer autenticar usuários com base nesse login, use o Google Identity Services para Web.

Para saber mais sobre como integrar o Identity Platform com o App Engine, consulte o guia de instruções sobre como fazer login de usuários no App Engine.

Firebase Authentication

O Firebase Authentication fornece um serviço de autenticação e identidade simples e personalizável para login e login de usuário. Assim como o Identity Platform, o Firebase Authentication é compatível com vários métodos de autenticação (SAML, OIDC, e-mail/senha, redes sociais, dispositivos móveis e autenticação personalizada) para fornecer opções de integração flexíveis para qualquer solução de identidade.

O Firebase Authentication é diferente do Identity Platform porque ele não tem determinados recursos empresariais. Para mais informações, consulte Diferenças entre o Identity Platform e o Firebase Authentication.

Essa solução é melhor se você quiser a maneira mais leve de configurar a autenticação de usuários em um aplicativo do App Engine. Para muitos usuários, o Firebase Authentication é a maneira mais rápida de implementar ou testar a autenticação.

Para saber mais sobre o Firebase Authentication, recorra a uma das opções a seguir:

Serviços de identidade do Google para a Web

O Google Identity Services para Web é uma biblioteca de cliente para o Google criada com base nos protocolos OAuth 2.0 e OpenID Connect. Ele permite um login rápido e fácil ao fornecer um botão "Fazer login com o Google" que aparece no seu site ou app.

Essa solução é melhor se você quiser autenticar usuários com base na Conta do Google ou se estiver usando o Google Admin Console para seu domínio.

OAuth 2.0 e OpenID Connect

O serviço OpenID Connect é uma camada de identidade sobre o protocolo OAuth 2.0. O Google oferece uma implementação do OAuth 2.0 que está em conformidade com a especificação do OpenID Connect e tem a certificação do OpenID. Há também vários outros provedores disponíveis.

Essa solução é melhor se você quiser personalização total e controle da implementação de autenticação.

Para mais informações, consulte OpenID Connect.

Identity-Aware Proxy (IAP)

Ao contrário das outras opções de autenticação que implementam a autenticação no aplicativo, o IAP protege e protege seu aplicativo, adicionando uma camada de autenticação e autorização do IAM aos recursos. Essa camada verifica as solicitações externas de entrada antes que o aplicativo possa ser acessado. Os usuários que não tiverem acesso autorizado ao aplicativo não terão acesso ao aplicativo do App Engine.

É possível ativar o IAP para todo o app ou para serviços ou versões específicas dele. Os serviços ou aplicativos protegidos pelo IAP só podem ser acessados por principais que tenham o papel do IAM correto. Quando um usuário tenta acessar um recurso protegido pelo IAP, o IAP executa verificações de autenticação e autorização para você. Saiba como o IAP protege os recursos do aplicativo na visão geral do IAP.

O IAP não protege contra atividades em um projeto, como um serviço do App Engine que acessa outro no mesmo projeto.

Essa solução é melhor se você quiser usar contas de usuário do Google e o IAM para autorizar o acesso do usuário.

Para saber como configurar o IAP para os recursos do App Engine, consulte o guia de início rápido do IAP.

API Users

A API Users permite que um aplicativo do App Engine execute as seguintes tarefas:

  • Detecta se o usuário atual está conectado usando uma Conta do Google.
  • redirecionar o usuário para a página de login correta;
  • Solicitar que o usuário crie uma nova conta do Google se não tiver uma.

Quando um usuário está conectado, o aplicativo pode acessar o endereço de e-mail dele. Também pode detectar se o usuário atual é um administrador, facilitando a implementação de áreas exclusivas para administradores do aplicativo.

Essa solução funciona bem se você estiver atualizando um app atual de um ambiente de execução de primeira geração para um ambiente de execução de segunda geração e quiser continuar usando a API Users. Se você quiser a flexibilidade de migrar para o Cloud Run ou outra plataforma de hospedagem de apps do Google Cloud mais tarde, recomendamos migrar para uma solução de autenticação de usuário mais moderna.

Para saber mais sobre como integrar a API Users, consulte a Visão geral da API Users.

Outros serviços de autenticação

Auth0 fornece autenticação com vários provedores de identidade e recursos de logon único.