Amazon Cognito

Es un servicio que permite asignar una identidad a usuarios que no están creados en IAM, para que tengan determinados permisos y que puedan interactuar con nuestro servicio/aplicación.

Cognito User Pools

Ofrece funcionalidad de autenticación para usuarios de aplicaciones, ya que se integra con API Gateway y con ALB. Es como crear una base de datos serverless para los usuarios de una web o aplicación:

  • Login con usuario y contraseña
  • Permite resetear la password
  • Verificación de Email y número de teléfono
  • MFA
  • Federated Identities: de Facebook, Google, SAML, …
  • Permite bloquear usuarios si sus credenciales han sido comprometidas
  • Envía un JSON Web Token (JWT) como respuesta a la operación de login

Cognito Identity Pools (Federated Identity)

En este caso, se obtienen identidades para que los usuarios tengan credenciales temporales de AWS:

  • Incluye proveedores de autenticación (Facebook, Google, Amazon, Apple, …)
  • También pueden ser usuarios de Amazo Cognito User Pool
  • También OpenId Connect Providers y SAML Identity Providers
  • También Developer Authenticated Identities
  • Permite acceso para usuarios no autenticados (guest)

Una vez que se autentican con alguno de los proveedores anteriores, acceden a servicios AWS directamente o a través de API Gateway:

  • Las políticas IAM asociadas están definidas en Cognito
  • Se pueden personalizar por user_id

Cognito Sync

Es un servicio obsoleto, reemplazado por AppSync.

  • Almacena configuración, preferencias y estado de la aplicación.
  • Sincronización entre dispositivos
  • Funcionalidades disponibles offline
  • Push Sync: notifica a todos los dispositivos cuando hay cambios de Identidad
  • Cognito Streams: Streams de datos desde Cognito hacia Kinesis
  • Cognito Events: ejecuta funciones Lambda en respuesta de eventos

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.