¿Qué es Amazon Cognito?
Amazon Cognito es una plataforma de identidad para aplicaciones web y móviles. Es un directorio de usuarios, un servidor de autenticación y un servicio de autorización para los tokens y credenciales de AWS de acceso de OAuth 2.0. Con Amazon Cognito, puede autenticar y autorizar a los usuarios desde el directorio de usuarios integrado, desde el directorio empresarial y desde proveedores de identidad de consumidores como Google y Facebook.
Temas
- Grupos de usuarios
- Grupos de identidades
- Características de Amazon Cognito
- Comparación de grupos de usuarios y grupos de identidades de Amazon Cognito
- Introducción a Amazon Cognito
- Disponibilidad regional
- Precios de Amazon Cognito
- Funcionamiento de la autenticación con Amazon Cognito
- Términos y conceptos comunes de Amazon Cognito
- Uso de este servicio con un SDK de AWS
- Introducción a AWS
Los dos componentes siguientes componen Amazon Cognito. Funcionan de forma independiente o en conjunto, en función de las necesidades de acceso de los usuarios.
Grupos de usuarios

Cree un grupo de usuarios cuando quiera autenticar y autorizar a los usuarios a la aplicación o la API. Los grupos de usuarios son un directorio de usuarios con funciones de creación, administración y autenticación de usuarios automáticas e impulsadas por el administrador. El grupo de usuarios puede ser un directorio independiente y un proveedor de identidades de OIDC (IdP) y un proveedor de servicios intermedio (SP) para proveedores de terceros de identidades de personal y clientes. Puede proporcionar un inicio de sesión único (SSO) en su aplicación para las identidades de los empleados de su organización en los proveedores de identidad de SAML 2.0 y OIDC con grupos de usuarios. También puede proporcionar SSO en su aplicación para las identidades de clientes de su organización en los almacenes de identidades públicos de OAuth 2.0 de Amazon, Google, Apple y Facebook. Para obtener más información acerca de la gestión de acceso e identidad de los clientes (CIAM), consulte ¿Qué es CIAM?
Los grupos de usuarios no requieren la integración con un grupo de identidades. Desde un grupo de usuarios, puede emitir JSON Web Token (JWT) autenticados directamente a una aplicación, un servidor web o una API.
Grupos de identidades

Configure un grupo de identidades de Amazon Cognito cuando desee autorizar a los usuarios autenticados o anónimos a acceder a los recursos de AWS. Un grupo de identidades emite credenciales de AWS para que la aplicación proporcione recursos a los usuarios. Puede autenticar a los usuarios con un proveedor de identidades de confianza, como un grupo de usuarios o un servicio SAML 2.0. También puede emitir, opcionalmente, credenciales para los usuarios invitados. Los grupos de identidades utilizan un control de acceso basado en roles y atributos para administrar la autorización de los usuarios para acceder a los recursos de AWS.
Los grupos de identidades no requieren la integración con un grupo de usuarios. Un grupo de identidades puede aceptar reclamaciones autenticadas directamente de los proveedores de identidad de los empleados y de los consumidores.
Un grupo de usuarios y un grupo de identidades de Amazon Cognito que se utilizan en conjunto
En el diagrama que comienza este tema, se utiliza Amazon Cognito para autenticar al usuario y, a continuación, concederle acceso a un Servicio de AWS.
-
El usuario de la aplicación inicia sesión a través de un grupo de usuarios y recibe los tokens de OAuth 2.0.
-
La aplicación intercambia un token de grupo de usuarios por un grupo de identidades para obtener credenciales de AWS temporales que puede usar con las API de AWS y la AWS Command Line Interface (AWS CLI).
-
La aplicación asigna la sesión de credenciales al usuario y proporciona acceso autorizado a Servicios de AWS como Amazon S3 y Amazon DynamoDB.
Para ver más ejemplos que utilizan grupos de identidades y grupos de usuarios, consulte Escenarios comunes de Amazon Cognito.
En Amazon Cognito, la obligación de seguridad de la nube del modelo de responsabilidad compartida
Características de Amazon Cognito
Grupos de usuarios
Un grupo de usuarios de Amazon Cognito es un directorio de usuarios. Con un grupo de usuarios, los usuarios pueden iniciar sesión en su aplicación web o móvil por medio de Amazon Cognito o federarse mediante un IdP de terceros. Los usuarios federados y locales tienen un perfil de usuario en el grupo de usuarios.
Los usuarios locales son los inscritos o registrados directamente en el grupo de usuarios. Puede administrar y personalizar estos perfiles de usuario en AWS Management Console, un AWS SDK o la AWS Command Line Interface (AWS CLI).
Los grupos de usuarios de Amazon Cognito aceptan tokens y afirmaciones de IdP de terceros y recopilan los atributos de los usuarios en un JWT que emite a la aplicación. Puede estandarizar la aplicación en un conjunto de JWT mientras Amazon Cognito gestiona las interacciones con los IdP y asigna las reclamaciones a un formato de token central.
Un grupo de usuarios de Amazon Cognito puede ser un IdP independiente. Amazon Cognito se basa en el estándar OpenID Connect (OIDC) para generar JWT para la autenticación y la autorización. Cuando inicia sesión en los usuarios locales, el grupo de usuarios tiene autoridad para esos usuarios. Tiene acceso a las funciones siguientes cuando autentica a los usuarios locales.
-
Implemente su propia frontend web que llama a la API de grupos de usuarios de Amazon Cognito para autenticar, autorizar y administrar los usuarios.
-
Configurar autenticación multifactor (MFA) para los usuarios. Amazon Cognito admite contraseña temporal de un solo uso (TOTP) y MFA por mensaje SMS.
-
Proteja contra el acceso de cuentas de usuario que estén bajo control malintencionado.
-
Cree sus propios flujos de autenticación de varios pasos personalizados.
-
Busque usuarios en otro directorio y mígrelos a Amazon Cognito.
Un grupo de usuarios de Amazon Cognito también puede cumplir una doble función como proveedor de servicios (SP) para los IdP y como IdP para la aplicación. Los grupos de usuarios de Amazon Cognito se pueden conectar a IdP de consumidores, como Facebook y Google, o a IdP del personal, como Okta y Active Directory Federation Services (ADFS).
Con los tokens de OAuth 2.0 y OpenID Connect (OIDC) que emite un grupo de usuarios de Amazon Cognito, puede
-
Aceptar un ID de token en la aplicación que autentica a un usuario y proporciona la información que necesita para configurar el perfil del usuario.
-
Aceptar un token de acceso en la API con los ámbitos de OIDC que autorizan las llamadas a la API de los usuarios.
-
Recuperar las credenciales de AWS de un grupo de identidades de Amazon Cognito.
Característica | Descripción |
---|---|
OIDC IdP | Issue ID tokens to authenticate users |
Authorization server | Issue access tokens to authorize user access to APIs |
SAML 2.0 SP | Transform SAML assertions into ID and access tokens |
OIDC SP | Transform OIDC tokens into ID and access tokens |
OAuth 2.0 SP | Transform ID tokens from Apple, Facebook, Amazon, or Google to your own ID and access tokens |
Authentication frontend service | Sign up, manage, and authenticate users with the hosted UI |
API support for your own UI | Create, manage and authenticate users through API requests in supported AWS SDKs¹ |
MFA | Use SMS messages, TOTPs, or your user's device as an additional authentication factor¹ |
Security monitoring & response | Secure against malicious activity and insecure passwords¹ |
Customize authentication flows | Build your own authentication mechanism, or add custom steps to existing flows¹ |
Groups | Create logical groupings of users, and a hierarchy of IAM role claims when you pass tokens to identity pools |
Customize ID tokens | Customize your ID tokens with new, modified, and suppressed claims |
Customize user attributes | Assign values to user attributes and add your own custom attributes |
¹ La característica solo está disponible para usuarios locales.
Para obtener más información sobre los grupos de usuarios, consulte Introducción a los grupos de usuarios y la Referencia de la API de grupos de usuarios de Amazon Cognito.
Grupos de identidades
Un grupo de identidades es un conjunto de identificadores o identidades únicos que se asignan a los usuarios o invitados y se autoriza a recibir credenciales temporales de AWS. Al presentar una prueba de autenticación en un grupo de identidades en forma de afirmaciones fiables de un proveedor de identidades sociales (IdP) de SAML 2.0, OpenID Connect (OIDC) u OAuth 2.0, se asocia al usuario con una identidad del grupo de identidades. El token que el grupo de identidades crea para la identidad puede recuperar las credenciales de sesión temporales de AWS Security Token Service (AWS STS).
Para complementar las identidades autenticadas, también puede configurar un grupo de identidades para autorizar el acceso de AWS sin autenticación de IdP. Puede ofrecer su propia prueba de autenticación personalizada o no tener autenticación. Puede conceder credenciales de AWS temporales a cualquier usuario de la aplicación que las solicite, con identidades no autenticadas. Los grupos de identidades también aceptan reclamaciones y emiten credenciales en función del propio esquema personalizado, con identidades autenticadas por el desarrollador.
Con los grupos de identidades de Amazon Cognito, tiene dos formas de integrarse con las políticas de IAM en la Cuenta de AWS. Puede utilizar estas dos características juntas o de forma individual.
Control de acceso con base en roles
Cuando el usuario pasa las reclamaciones al grupo de identidades, Amazon Cognito elige el rol de IAM que solicita. Para personalizar los permisos del rol según las necesidades, se aplican las políticas de IAM a cada rol. Por ejemplo, si el usuario demuestra que trabaja en el departamento de marketing, recibirá credenciales para un rol con políticas adaptadas a las necesidades de acceso del departamento de marketing. Amazon Cognito puede solicitar un rol predeterminado, un rol basado en reglas que consultan las reclamaciones del usuario o un rol basado en la suscripción al grupo del usuario en un grupo de usuarios. También puede configurar la política de confianza de roles para que IAM confíe solo en el grupo de identidades para generar sesiones temporales.
Atributos para controlar el acceso
El grupo de identidades lee los atributos de las reclamaciones de los usuarios y los asigna a las etiquetas de las entidades principales de la sesión temporal del usuario. A continuación, puede configurar las políticas basadas en recursos de IAM para permitir o denegar el acceso a los recursos en función de las entidades principales de IAM que contienen las etiquetas de sesión del grupo de identidades. Por ejemplo, si el usuario demuestra que está en el departamento de marketing, AWS STS etiqueta la sesión Department: marketing
. El bucket de Amazon S3 permite operaciones de lectura en función de una condición aws:PrincipalTag que requiere un valor de marketing
para la etiqueta Department
.
Característica | Descripción |
---|---|
Amazon Cognito user pool SP | Exchange an ID token from your user pool for web identity credentials from AWS STS |
SAML 2.0 SP | Exchange SAML assertions for web identity credentials from AWS STS |
OIDC SP | Exchange OIDC tokens for web identity credentials from AWS STS |
OAuth 2.0 SP | Exchange OAuth tokens from Amazon, Facebook, Google, Apple, and Twitter for web identity credentials from AWS STS |
Custom SP | With AWS credentials, exchange claims in any format for web identity credentials from AWS STS |
Unauthenticated access | Issue limited-access web identity credentials from AWS STS without authentication |
Role-based access control | Choose an IAM role for your authenticated user based on their claims, and configure your roles to only be assumed in the context of your identity pool |
Attribute-based access control | Convert claims into principal tags for your AWS STS temporary session, and use IAM policies to filter resource access based on principal tags |
Para obtener más información sobre los grupos de identidades, consulte Introducción a los grupos de identidades de Amazon Cognito y la Referencia de la API de grupos de identidades de Amazon Cognito.
Comparación de grupos de usuarios y grupos de identidades de Amazon Cognito
Característica | Descripción | Grupos de usuarios | Grupos de identidades |
---|---|---|---|
OIDC IdP | Issue OIDC ID tokens to authenticate app users | ✓ | |
API authorization server | Issue access tokens to authorize user access to APIs, databases, and other resources that accept OAuth 2.0 authorization scopes | ✓ | |
IAM web identity authorization server | Generate tokens that you can exchange with AWS STS for temporary AWS credentials | ✓ | |
SAML 2.0 SP & OIDC IdP | Issue customized OIDC tokens based on claims from a SAML 2.0 IdP | ✓ | |
OIDC SP & OIDC IdP | Issue customized OIDC tokens based on claims from an OIDC IdP | ✓ | |
OAuth 2.0 SP & OIDC IdP | Issue customized OIDC tokens based on scopes from OAuth 2.0 social providers like Apple and Google | ✓ | |
SAML 2.0 SP & credentials broker | Issue temporary AWS credentials based on claims from a SAML 2.0 IdP | ✓ | |
OIDC SP & credentials broker | Issue temporary AWS credentials based on claims from an OIDC IdP | ✓ | |
OAuth 2.0 SP & credentials broker | Issue temporary AWS credentials based on scopes from OAuth 2.0 social providers like Apple and Google | ✓ | |
Amazon Cognito user pool SP & credentials broker | Issue temporary AWS credentials based on OIDC claims from an Amazon Cognito user pool | ✓ | |
Custom SP & credentials broker | Issue temporary AWS credentials based on developer IAM authorization | ✓ | |
Authentication frontend service | Sign up, manage, and authenticate users with the hosted UI | ✓ | |
API support for your own authentication UI | Create, manage and authenticate users through API requests in supported AWS SDKs¹ | ✓ | |
MFA | Use SMS messages, TOTPs, or your user's device as an additional authentication factor¹ | ✓ | |
Security monitoring & response | Protect against malicious activity and insecure passwords¹ | ✓ | |
Customize authentication flows | Build your own authentication mechanism, or add custom steps to existing flows¹ | ✓ | |
Groups | Create logical groupings of users, and a hierarchy of IAM role claims when you pass tokens to identity pools | ✓ | |
Customize ID tokens | Customize your ID tokens with new, modified, and suppressed claims | ✓ | |
AWS WAF web ACLs | Monitor and control requests to your authentication environment with AWS WAF | ✓ | |
Customize user attributes | Assign values to user attributes and add your own custom attributes | ✓ | |
Unauthenticated access | Issue limited-access web identity credentials from AWS STS without authentication | ✓ | |
Role-based access control | Choose an IAM role for your authenticated user based on their claims, and configure your roles to only be assumed in the context of your identity pool | ✓ | |
Attribute-based access control | Transform user claims into principal tags for your AWS STS temporary session, and use IAM policies to filter resource access based on principal tags | ✓ |
¹ La característica solo está disponible para usuarios locales.
Introducción a Amazon Cognito
Para ver ejemplos de aplicaciones de grupos de usuarios, consulte Introducción a los grupos de usuarios.
Para ver una introducción a los grupos de identidades, consulte Introducción a los grupos de identidades de Amazon Cognito.
Para obtener enlaces a experiencias de configuración guiada con grupos de usuarios y grupos de identidades, consulte Opciones de configuración guiada para Amazon Cognito.
Para ver vídeos, artículos, documentación y más aplicaciones de ejemplo, consulte los recursos para desarrolladores de Amazon Cognito
Para usar Amazon Cognito necesita una Cuenta de AWS. Para obtener más información, consulte Introducción a AWS.
Disponibilidad regional
Amazon Cognito está disponible en varias regiones de AWS de todo el mundo. En cada región, Amazon Cognito se distribuye en varias zonas de disponibilidad. Estas zonas de disponibilidad están físicamente aisladas entre sí, pero están unidas mediante conexiones de red privadas con un alto nivel de rendimiento y redundancia y con baja latencia. Con estas zonas de disponibilidad, AWS puede ofrecer servicios, incluido Amazon Cognito, con niveles sumamente elevados de disponibilidad y redundancia, así como minimizar la latencia.
Para ver si Amazon Cognito está disponible actualmente en alguna Región de AWS, consulte Servicios de AWS por región
Para obtener más información sobre los puntos de conexión del servicio de API regional, consulte los puntos de conexión y las regiones de AWS en la Referencia general de Amazon Web Services.
Para obtener más información sobre la cantidad de zonas de disponibilidad de cada región, consulte Infraestructura global de AWS
Precios de Amazon Cognito
Para obtener más información sobre los precios de Amazon Cognito, consulte Precios de Amazon Cognito