Amazon Cognito icono

Amazon Cognito Populardesde 2014

Un servicio que proporciona autenticación, autorización y gestión de usuarios para aplicaciones web y móviles

Qué hace

Amazon Cognito es un servicio que añade funciones de registro, inicio de sesión y control de acceso a aplicaciones web y móviles. User Pools gestiona el directorio de usuarios con registro, inicio de sesión, MFA y recuperación de contraseña. Identity Pools proporciona credenciales AWS temporales para acceder a servicios AWS directamente desde el cliente. Soporta inicio de sesión social (Google, Facebook, Apple) y proveedores SAML/OIDC.

Casos de uso

Se utiliza para añadir autenticación a aplicaciones web y móviles, implementar inicio de sesión social y federado, gestionar usuarios y sus atributos, controlar el acceso a APIs de API Gateway, y proporcionar acceso directo a servicios AWS (S3, DynamoDB) desde aplicaciones cliente.

Analogía cotidiana

Piensa en él como el sistema de seguridad de un edificio de oficinas. User Pool es la recepción que verifica tu identidad (registro, inicio de sesión, credencial). Identity Pool es el sistema de tarjetas de acceso que te da permisos para entrar a pisos específicos (servicios AWS). Puedes usar tu credencial de empresa (usuario/contraseña) o una credencial de visitante (login social).

¿Qué es Amazon Cognito?

Amazon Cognito es un servicio de identidad que permite añadir autenticación y autorización a tus aplicaciones sin construir un sistema de gestión de usuarios desde cero. Maneja el registro de usuarios, verificación de email, inicio de sesión, tokens JWT, y se integra con proveedores de identidad externos como Google y Facebook.

User Pools e Identity Pools

User Pools es un directorio de usuarios completo: gestiona registro, inicio de sesión, MFA, recuperación de contraseña y atributos de usuario. Emite tokens JWT que puedes usar para autorizar acceso a APIs. Identity Pools (Federated Identities) intercambia tokens de User Pools u otros proveedores por credenciales AWS temporales, permitiendo acceso directo a S3, DynamoDB, etc. desde el cliente.

Inicio de sesión social y federado

Cognito soporta inicio de sesión con Google, Facebook, Apple, Amazon y cualquier proveedor OIDC o SAML 2.0. Los usuarios pueden elegir registrarse con email/contraseña o usar su cuenta social existente. Cognito unifica las identidades: si un usuario inicia sesión con Google y luego con email, puedes vincular ambas identidades al mismo perfil. Para más detalles sobre autenticación, los libros en Amazon son útiles.

Cómo empezar

Crea un User Pool en la consola de Cognito, configurando los atributos requeridos (email, nombre) y las políticas de contraseña. Crea un App Client para tu aplicación. Integra el SDK de Cognito (Amplify Auth es la forma más sencilla) en tu frontend para manejar registro e inicio de sesión. Los tokens JWT emitidos se usan para autorizar llamadas a tu API.

Aspectos a tener en cuenta

  • Algunos ajustes del grupo de usuarios (atributos de inicio de sesión, tipo de MFA, etc.) no se pueden cambiar después de la creación. Examine bien los requisitos antes de crearlo
  • La capa gratuita cubre hasta 10,000 MAU (usuarios activos mensuales) en el nivel Essentials, el predeterminado para los grupos de usuarios nuevos; solo los grupos creados hasta el 22-11-2024 conservan la capa gratuita de 50,000 MAU (a fecha de agosto de 2026). Los usuarios de inicio de sesión social o de federación SAML se facturan con un esquema de precios aparte
  • El token JWT expira por defecto en 1 hora. Implemente el proceso de actualización del token en el lado de la aplicación
CompartirXB!