AWS Cognito

AWS Cognito

Cognito para la Autenticación de Usuarios

Cognito es la propuesta que Amazon ofrece entre sus servicios a las organizaciones para reducir la inversión de tiempo y esfuerzo en el desarrollo de la plataforma de autenticación para sus aplicaciones.

Es muy común que entre las actividades planificadas para el desarrollo de una nueva aplicación, bien sea web o móvil, se encuentre la configuración de bases de datos, servidores y un conjunto de tareas asociadas en gran medida al proceso de autenticación de los usuarios que usaran su aplicación.

Este proceso debe realizarse de manera muy cuidadosa pues resulta necesario garantizar la seguridad de los datos personales de sus usuarios y al mismo tiempo disponer de una de plataforma robusta que pueda escalarse rápidamente y de forma segura según vaya creciendo la cantidad de usuarios que usen su aplicación.

Es en este punto en que Cognito puede resultar de gran ayuda presentándose principalmente como una herramienta con características enfocadas al proceso de autenticación de usuarios a gran escala e incluso a la sincronización de sus datos. Estas características son los Grupos de Usuarios y los Grupos de Identidades.

Los Grupos de Usuarios son directorios en Amazon que permiten a los usuarios obtener el servicio de inscripción e inicio de sesión en su aplicación e incluyen niveles de seguridad como autenticación multifactor (MFA), comprobación de credenciales, verificación de correo electrónico y teléfono. También es posible el inicio de sesión a través de terceros mediante un proveedor de identidad (IdP) como, por ejemplo: Facebook, Google, Login con Amazon e inicio de sesión con Apple o través de proveedores de identidad SAML y OIDC.

Los Grupos de Identidades permiten a los usuarios obtener credenciales temporales para acceder a servicios de Amazon como S3 y DynamoDB, estos necesitan ser integrados con grupos de usuarios para guardar información de un perfil. Los usuarios pueden autenticarse con Grupos de Usuarios Cognito, Facebook, Google y Login con Amazon, además, de proveedores como OIDC y SAML.

Otros de los aspectos resaltantes de Cognito es la gran cantidad de usuarios que puede soportar llegando a números de millones de usuarios, con costos que varían según la cantidad de usuarios activos por mes (MAU). Además, las configuraciones que deben realizarse para establecer la autenticación de usuarios en su aplicación son bastantes sencillas incluso llegando a realizarse sin necesidad de escribir ni una sola línea de código.

En conclusión, Cognito es un servicio para la autenticación de usuarios a pequeña y gran escala con características bastante robustas y fáciles de configurar, cuyo objetivo principal es la de que sus desarrolladores se centren principalmente en desarrollar sin preocuparse por temas de autenticación y todo el esfuerzo asociado a este tipo de actividades.

Jesús González