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. |
API de Users | Autentica a los usuarios que usan cuentas de Google y Google Workspace. Solo se puede acceder al servicio de usuarios de App Engine a través de los servicios agrupados en paquetes heredados. |
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:
El Instructivo web de Firebase explica cómo usar Firebase en un sitio web, incluido el acceso de usuarios con Google como el Proveedor de identidad.
Aplicaciones de inicio rápido de Firebase, en las que se muestra cómo integrar Firebase en diversas plataformas con ejemplos de acceso federado y de acceso con nombre de usuario y contraseña. En los ejemplos, se demuestra la forma en que Firebase Authentication usa el SDK de JavaScript, así como en iOS y Android.
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 varios 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.
API de Users
La API de usuarios permite que una aplicación de App Engine realice las siguientes tareas:
- Detectar si el usuario actual accedió con una Cuenta de Google.
- Redireccionar al usuario a la página de acceso correcta
- Solicitar al usuario que cree una nueva Cuenta de Google si aún no la tiene.
Cuando un usuario accede a la app, esta puede acceder a la dirección de correo electrónico del usuario. La aplicación también puede detectar si el usuario actual es un administrador, lo que facilita la implementación de áreas de la aplicación exclusivas para administradores.
Esta solución funciona bien si actualizas una app existente de un entorno de ejecución de primera generación a un entorno de ejecución de segunda generación y deseas continuar usando la API de usuarios. Si quieres tener la flexibilidad de pasar a Cloud Run o a otra plataforma de hosting de apps de Google Cloud más adelante, te recomendamos migrar a una solución de autenticación de usuarios más moderna.
Para obtener información sobre la integración de la API de usuarios, consulta Descripción general de la API de usuarios.
Otros servicios de autenticación
Auth0, que proporciona autenticación con varios proveedores de identidad y características de inicio de sesión único.