¿Qué es Amazon Cognito? - Amazon Cognito

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

¿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.

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. Puedes proporcionar un inicio de sesión único (SSO) en tu aplicación para las identidades de los empleados de tu organización en SAML 2.0 y IdPs 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 usuarios autenticados o anónimos a acceder a sus recursos. AWS Un grupo de identidades emite AWS credenciales para que su aplicación sirva de 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 en atributos para administrar la autorización de los usuarios para acceder a sus recursos. 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.

  1. 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.

  2. Tu aplicación intercambia un token de grupo de usuarios por un grupo de identidades por AWS credenciales temporales que puedes usar con las AWS API y el (). AWS Command Line Interface AWS CLI

  3. La aplicación asigna la sesión de credenciales al usuario y proporciona acceso autorizado a sitios 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 cumple con SOC 1-3, PCI DSS, ISO 27001 e HIPAA-BAA. Puede diseñar la seguridad en la nube en Amazon Cognito para que cumpla con SOC1-3, ISO 27001 e HIPAA-BAA, pero no con DSS de PCI. Para obtener más información, consulte Servicios de AWS en el ámbito. Consulte también Consideraciones de datos regionales.

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 el AWS Management Console, un AWS SDK o el AWS Command Line Interface ().AWS CLI

Los grupos de usuarios de Amazon Cognito aceptan tokens y afirmaciones de terceros IdPs y recopilan los atributos del usuario en un JWT que se envía a la aplicación. Puede estandarizar su aplicación en un conjunto de JWT mientras Amazon Cognito gestiona las interacciones con IdPs ellos y asigna sus afirmaciones 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 su IdPs aplicación y como IdP para su aplicación. Los grupos de usuarios de Amazon Cognito pueden conectarse con consumidores IdPs como Facebook y Google, o con empleados IdPs 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.

  • Recupera AWS las credenciales de un grupo de identidades de Amazon Cognito.

Características de los grupos de usuarios de Amazon Cognito
Característica Descripción
Proveedor de identidad OIDC Emita tokens de identificación para autenticar a los usuarios
Servidor de autorización Emita tokens de acceso para autorizar el acceso de los usuarios a las API
SAML 2.0 SP Transforma las aserciones de SAML en identificadores y identificadores de acceso
OIDC SP Transforma los tokens OIDC en tokens de identificación y acceso
OAuth 2.0 SP Transforma los identificadores de Apple, Facebook, Amazon o Google en tus propios identificadores y tokens de acceso
Servicio frontend de autenticación Registre, gestione y autentique a los usuarios con la interfaz de usuario alojada
Soporte de API para tu propia interfaz de usuario Cree, gestione y autentique usuarios mediante solicitudes de API en los SDK compatibles¹ AWS
MFA Utilice los mensajes SMS, los TOTP o el dispositivo de su usuario como factor de autenticación adicional¹
Supervisión y respuesta de seguridad Protéjase contra actividades maliciosas y contraseñas inseguras¹
Personalice los flujos de autenticación Cree su propio mecanismo de autenticación o añada pasos personalizados a los flujos existentes¹
Grupos Cree agrupaciones lógicas de usuarios y una jerarquía de las funciones de IAM al pasar los tokens a los grupos de identidades
Personalice los tokens de identificación Personaliza tus fichas de identificación con reclamos nuevos, modificados y suprimidos
Personalice los atributos de usuario Asigna valores a los atributos de usuario y añade tus propios atributos personalizados

¹ 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 únicos, o identidades, que usted asigna a sus usuarios o invitados y autoriza a recibir AWS credenciales temporales. 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 tu 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 AWS acceso sin la autenticación del IdP. Puede ofrecer su propia prueba de autenticación personalizada o no tener autenticación. Puede conceder AWS credenciales 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 su sesión. Department: marketing Su bucket de Amazon S3 permite realizar operaciones de lectura en función de una PrincipalTag condición aws: que requiere un valor de marketing para la Department etiqueta.

Características de los grupos de identidades de Amazon Cognito
Característica Descripción
Grupo de usuarios de Amazon Cognito SP Cambie un token de identificación de su grupo de usuarios por credenciales de identidad web de AWS STS
SAML 2.0 SP Intercambie las afirmaciones de SAML para obtener credenciales de identidad web desde AWS STS
OIDC SP Intercambie los tokens OIDC por credenciales de identidad web desde AWS STS
OAuth 2.0 SP Intercambia los tokens de OAuth de Amazon, Facebook, Google, Apple y Twitter por credenciales de identidad web de AWS STS
SP personalizado Con AWS las credenciales, intercambie reclamos en cualquier formato por credenciales de identidad web desde AWS STS
Acceso sin autenticar Emita credenciales de identidad web de acceso limitado sin autenticación AWS STS
Control de acceso con base en roles Elija una función de IAM para su usuario autenticado en función de sus afirmaciones y configure sus funciones para que solo las asuma en el contexto de su conjunto de identidades
Control de acceso basado en atributos Convierte las notificaciones en etiquetas principales para tu sesión AWS STS temporal y utiliza las políticas de IAM para filtrar el acceso a los recursos en función de las etiquetas principales

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
Proveedor de identidad OIDC Emita tokens de ID de OIDC para autenticar a los usuarios de la aplicación
Servidor de autorización de API Emita tokens de acceso para autorizar el acceso de los usuarios a las API, bases de datos y otros recursos que aceptan los ámbitos de autorización de OAuth 2.0
Servidor de autorización de identidad web de IAM Genere fichas con las que pueda intercambiarlas AWS STS por credenciales temporales AWS
IdP SAML 2.0 SP y OIDC Emita tokens OIDC personalizados en función de las afirmaciones de un IdP de SAML 2.0
OIDC PS y OIDC IdP Emita tokens OIDC personalizados en función de las afirmaciones de un IdP de OIDC
IdP de OAuth 2.0 PS y OIDC Emite tokens OIDC personalizados basados en los alcances de los proveedores sociales de OAuth 2.0, como Apple y Google
SAML 2.0 SP y agente de credenciales Emita AWS credenciales temporales en función de las afirmaciones de un IdP de SAML 2.0
Agente de credenciales y SP de OIDC Emita AWS credenciales temporales en función de las afirmaciones de un IdP de OIDC
Agente de credenciales y SP de OAuth 2.0 Emite AWS credenciales temporales basadas en los alcances de los proveedores sociales de OAuth 2.0, como Apple y Google
Grupo de usuarios de Amazon Cognito, SP y agente de credenciales Emita AWS credenciales temporales en función de las solicitudes de OIDC de un grupo de usuarios de Amazon Cognito
Agente de credenciales y SP personalizados Emita AWS credenciales temporales en función de la autorización de IAM del desarrollador
Servicio frontend de autenticación Registre, gestione y autentique a los usuarios con la interfaz de usuario alojada
Soporte de API para su propia interfaz de usuario de autenticación Cree, gestione y autentique usuarios mediante solicitudes de API en los SDK compatibles¹ AWS
MFA Utilice los mensajes SMS, los TOTP o el dispositivo de su usuario como factor de autenticación adicional¹
Supervisión y respuesta de seguridad Protéjase contra actividades maliciosas y contraseñas inseguras¹
Personalice los flujos de autenticación Cree su propio mecanismo de autenticación o añada pasos personalizados a los flujos existentes¹
Grupos Cree agrupaciones lógicas de usuarios y una jerarquía de las funciones de IAM al pasar los tokens a los grupos de identidades
Personalice los tokens de identificación Personaliza tus fichas de identificación con reclamos nuevos, modificados y suprimidos
AWS WAF ACL web Supervise y controle las solicitudes a su entorno de autenticación con AWS WAF
Personalice los atributos del usuario Asigna valores a los atributos de usuario y añade tus propios atributos personalizados
Acceso sin autenticar Emita credenciales de identidad web de acceso limitado sin autenticación AWS STS
Control de acceso con base en roles Elija una función de IAM para su usuario autenticado en función de sus afirmaciones y configure sus funciones para que solo las asuma en el contexto de su conjunto de identidades
Control de acceso basado en atributos Transforma las afirmaciones de los usuarios en etiquetas principales para tu sesión AWS STS temporal y utiliza las políticas de IAM para filtrar el acceso a los recursos en función de las etiquetas principales

¹ La característica solo está disponible para usuarios locales.

Introducción a Amazon Cognito

Para ver ejemplos de aplicaciones de grupos de usuarios, consulteIntroducción a los grupos de usuarios.

Para obtener una introducción a los grupos de identidades, consulteIntroducció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, consulteOpciones de configuración guiada para Amazon Cognito.

Para ver vídeos, artículos, documentación y más aplicaciones de muestra, consulte los recursos para desarrolladores de Amazon Cognito.

Para usar Amazon Cognito necesita una Cuenta de AWS. Para obtener más información, consulte Empezando con AWS.

Disponibilidad regional

Amazon Cognito está disponible en varias AWS regiones 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. Estas zonas de disponibilidad permiten AWS proporcionar servicios, incluido Amazon Cognito, con niveles muy altos de disponibilidad y redundancia, a la vez que minimizan la latencia.

Para obtener una lista de todas las regiones en las que Amazon Cognito se encuentra actualmente disponible, consulte Regiones y puntos de conexión 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.