Cómo autenticar usuarios

Para autenticar usuarios en aplicaciones de Google Cloud, Google ofrece los siguientes métodos de autenticación de usuarios:

Servicio de autenticación Resumen
Identity Platform (recomendado) Autentica usuarios con contraseñas, números de teléfono, proveedores de identidad federada populares, como Google, Facebook y Twitter, y cualquier otro proveedor que admita el protocolo OpenID Connect o SAML. Ofrece funciones empresariales como la autenticación de varios factores, la compatibilidad con el SSO de OIDC y SAML, la arquitectura multiusuario, el ANS del 99.95% y mucho más.

El método recomendado cuando se inicia un proyecto nuevo, por lo que puedes usar las capacidades de Identity Platform y las funciones heredadas de Firebase Authentication.
Firebase Authentication Autentica usuarios a través de diferentes opciones de autenticación, como Google, Facebook y Twitter. Firebase Authentication admite la mayor cantidad de usuarios y, al mismo tiempo, mantiene la menor cantidad de código.

El método recomendado para implementar una solución en la menor cantidad de pasos.
Google Identity Services para la Web Autentica usuarios con las cuentas de usuario de Google desde Gmail y Google Workspace.

El método recomendado para admitir cuentas solo de Google o Cuentas de Google en un sistema de acceso existente.
OAuth 2.0 y OpenID Connect Proporciona la identidad federada del proveedor que elijas, incluido Google.

El método recomendado si deseas compilar el protocolo de autenticación de usuarios por tu cuenta.
Identity-Aware Proxy (IAP) Proporciona autenticación a través del agregado de una capa de verificación de Identity and Access Management (IAM) arriba de la app de App Engine. IAP te permite controlar el acceso a los servicios de App Engine antes de que las solicitudes lleguen a los recursos de tu aplicación. Esto hace que IAP no sea adecuado para protegerse contra la actividad dentro del mismo proyecto de Google Cloud.

El método recomendado si deseas usar IAM y Cuentas de Google para controlar el acceso de los usuarios.

Identity Platform

Identity Platform es una plataforma de administración de identidades y accesos de clientes (CIAM) que permite a las organizaciones personalizar la identidad y la autenticación para el registro y el acceso de los usuarios en sus aplicaciones. Identity Platform es compatible con varios métodos de autenticación (SAML, OIDC, correo electrónico y contraseña, redes sociales, teléfono y autenticación personalizada) a fin de proporcionar opciones de integración flexibles para cualquier solución de identidad. Identity Platform se basa en la escala, el rendimiento, la red y la seguridad globales de Google Cloud, y cuenta con asistencia de nivel empresarial y un ANS para satisfacer las demandas de prácticamente cualquier app o servicio.

Esta solución es la mejor para la mayoría de los usuarios que desean opciones de autenticación flexibles basadas en funciones y ANS confiables de nivel empresarial.

Identity Platform ofrece su propio sistema de identidad de usuario. Si ya usas Google Workspace para tu dominio y deseas autenticar usuarios según ese acceso, debes usar Google Identity Services para la Web.

Si deseas obtener más información sobre cómo integrar Identity Platform en App Engine, prueba la guía práctica para el acceso de usuarios en App Engine.

Firebase Authentication

Firebase Authentication proporciona un servicio directo de identidad y autenticación personalizable para el registro y acceso de los usuarios. Al igual que Identity Platform, Firebase Authentication admite varios métodos de autenticación (SAML, OIDC, correo electrónico y contraseña, redes sociales, dispositivos móviles y autenticación personalizada) para proporcionar opciones de integración flexibles para cualquier solución de identidad.

Firebase Authentication se diferencia de Identity Platform porque carece de ciertas funciones empresariales. Para obtener más información, consulta Diferencias entre Identity Platform y Firebase Authentication.

Esta solución es la mejor si deseas la forma más ligera de configurar la autenticación de usuario para una aplicación de App Engine. Para muchos usuarios, Firebase Authentication es la forma más rápida de implementar o probar la autenticación.

Para obtener más información sobre Firebase Authentication, consulta la siguiente documentación:

Google Identity Services para la Web

Google Identity Services para la Web es una biblioteca cliente de acceso para Google compilada en los protocolos OAuth 2.0 y OpenID Connect. Permite un acceso rápido y sencillo a través del botón Acceder con Google que aparece en tu sitio web o app.

Esta solución es la mejor opción si deseas autenticar a los usuarios en función de su Cuenta de Google o si usas la Consola del administrador de Google para tu dominio.

OAuth 2.0 y OpenID Connect

OpenID Connect es una capa de identidad basada en el protocolo OAuth 2.0. Google ofrece una implementación de OAuth 2.0 que cumple con la especificación de OpenID Connect y cuenta con la certificación de OpenID. También hay muchos otros proveedores disponibles.

Esta solución es la mejor opción si deseas una personalización y un control totales de tu implementación de autenticación.

Para obtener más información, consulta OpenID Connect.

Identity-Aware Proxy (IAP)

A diferencia de las otras opciones de autenticación que implementan la autenticación en tu aplicación, IAP protege y asegura tu aplicación a través de la adición de una capa de autorización y autenticación de IAM frente a tus recursos. Esta capa verifica las solicitudes externas entrantes antes de que se pueda acceder a la aplicación. Los usuarios que no tienen acceso autorizado a tu aplicación no tendrán acceso a tu aplicación de App Engine.

Puedes habilitar IAP para toda la aplicación o para servicios o versiones específicos de la aplicación. Solo las principales que tienen el rol de IAM correcto pueden acceder a los servicios o las aplicaciones protegidos con IAP. Cuando un usuario intenta acceder a un recurso protegido con IAP, IAP realiza verificaciones de autenticación y autorización por ti. Obtén información sobre cómo IAP protege los recursos de tu aplicación en la descripción general de IAP.

IAP no protege contra la actividad dentro de un mismo proyecto, como la de un servicio de App Engine que accede a otro servicio en el mismo proyecto.

Esta solución es la mejor opción si deseas usar IAM y las cuentas de usuario de Google para autorizar el acceso de los usuarios.

Para obtener información sobre cómo configurar IAP para tus recursos de App Engine, consulta la guía de inicio rápido de IAP.

Otros servicios de autenticación

Auth0, que proporciona autenticación con varios proveedores de identidad y características de inicio de sesión único.