¿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 AWS credenciales y credenciales de acceso 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

Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.

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 puedes proporcionar el SSO en tu aplicación para las identidades de los clientes de tu organización en las tiendas públicas de identidades 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, puedes emitir tokens web JSON autenticados (JWTs) directamente a una aplicación, un servidor web o una API.

Grupos de identidades

Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.

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 2.0 tokens. OAuth

  2. Tu aplicación intercambia un token de grupo de usuarios por un grupo de identidades por AWS credenciales temporales que puedes usar con AWS APIs y 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 su seguridad en la nube en Amazon Cognito para que cumpla con las normas SOC1 -3, ISO 27001 e HIPAA-BAA, pero no con PCI DSS. 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 SDK o el (). AWS AWS Command Line Interface AWS CLI

Los grupos de usuarios de Amazon Cognito aceptan tokens y afirmaciones de terceros IdPs y recopilan los atributos de usuario en un JWT que se envía a la aplicación. Puede estandarizar su aplicación en un solo conjunto JWTs mientras Amazon Cognito gestiona las interacciones IdPs con ellas 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 datos de autenticación y autorización. JWTs 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 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 identidades 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 APIs
Proveedor de servicios SAML 2.0 Transforma las afirmaciones de SAML en identificadores y identificadores de acceso
Parte que confía en el OIDC Transforma los tokens OIDC en tokens de identificación y acceso
Proveedor social: parte confiante 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 un inicio de sesión gestionado
Soporte de API para su propia interfaz de usuario Se admiten AWS SDKs solicitudes de API de autenticación para crear, gestionar y autenticar usuarios ¹
Autenticación multifactor Utilice los mensajes SMS o el dispositivo de su usuario como factor de autenticación adicional¹ TOTPs
Supervisión y respuesta de seguridad Protéjase contra actividades maliciosas y contraseñas inseguros¹
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 Personaliza tu ID y accede a los tokens con reclamos nuevos, modificados y suprimidos
Personalice los atributos del usuario Asigna valores a los atributos de usuario y añade tus propios atributos personalizados

¹ La función no está disponible para los usuarios federados.

² La función no está disponible para los usuarios que inician sesión federados y gestionados.

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 credenciales temporales AWS . Cuando presentas una prueba de autenticación a un grupo de identidades en forma de afirmaciones confiables de un proveedor de identidad social (IdP) SAML 2.0, OpenID Connect (OIDC) o 2.0 OAuth , asocias a tu 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 una prueba de autenticación personalizada con. Identidades autenticadas por el desarrollador También puedes conceder AWS credenciales temporales a los usuarios invitados, con identidades no autenticadas.

Con los grupos de identidades, tiene dos formas de integrarse con las políticas de IAM de su empresa. 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ónDepartment: 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
Parte que confía en el grupo de usuarios de Amazon Cognito Cambie un token de identificación de su grupo de usuarios por credenciales de identidad web de AWS STS
Proveedor de servicios SAML 2.0 Intercambie las afirmaciones de SAML para obtener credenciales de identidad web desde AWS STS
Parte de confianza del OIDC Cambie los tokens OIDC por credenciales de identidad web desde AWS STS
Proveedor social: parte de confianza Intercambia OAuth fichas de Amazon, Facebook, Google, Apple y Twitter por credenciales de identidad web de AWS STS
Parte de confianza personalizada Con AWS las credenciales, puede intercambiar solicitudes 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 identidades OIDC Emita tokens de ID de OIDC para autenticar a los usuarios de la aplicación
Directorio de usuarios Almacene los perfiles de usuario para la autenticación
Autoriza el acceso a la API Emita tokens de acceso para autorizar el acceso de los usuarios a bases de datos y otros recursos que acepten OAuth ámbitos APIs (incluidas las operaciones de API de autoservicio del perfil de usuario)
Autorización de identidad web de IAM Genera fichas con las que puedas canjearlas AWS STS por credenciales temporales AWS
Proveedor de servicios SAML 2.0 y proveedor de identidad OIDC Emita tokens OIDC personalizados en función de las afirmaciones de un proveedor de identidad de SAML 2.0
Parte de confianza del OIDC y proveedor de identidad del OIDC Emita tokens OIDC personalizados en función de las afirmaciones de un proveedor de identidad del OIDC
OAuth Parte que confía en 2.0 y proveedor de identidad del OIDC Emite tokens OIDC personalizados basados en los alcances de los proveedores sociales OAuth 2.0, como Apple y Google
Proveedor de servicios y agente de credenciales SAML 2.0 Emita AWS credenciales temporales en función de las afirmaciones de un proveedor de identidad de SAML 2.0
Persona de confianza y agente de credenciales del OIDC Emita AWS credenciales temporales en función de las afirmaciones de un proveedor de identidad del OIDC
Proveedor social, persona de confianza y agente de credenciales Emita AWS credenciales temporales basadas en tokens web JSON de aplicaciones de desarrolladores con proveedores sociales como Apple y Google
Agente de credenciales y agente de confianza del grupo de usuarios de Amazon Cognito Emita AWS credenciales temporales basadas en tokens web JSON de grupos de usuarios de Amazon Cognito
Agente de credenciales y persona de confianza personalizada Emita AWS credenciales temporales para identidades arbitrarias, autorizadas por las credenciales de IAM del desarrollador
Servicio frontend de autenticación Registre, gestione y autentique a los usuarios con un inicio de sesión gestionado
Soporte de API para su propia interfaz de usuario de autenticación Se admite AWS SDKs la creación, gestión y autenticación de usuarios mediante solicitudes de API ¹
MFA Utilice los mensajes SMS o el dispositivo de su usuario como factor de autenticación adicional¹ TOTPs
Supervisión y respuesta de seguridad Protéjase contra actividades malintencionadas y contraseñas inseguros¹
Personalice los flujos de autenticación Cree su propio mecanismo de autenticación o añada pasos personalizados a los flujos existentes¹
Grupos de usuarios 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 Personaliza tu ID y accede a los tokens con pretensiones y alcances nuevos, modificados y suprimidos
AWS WAF web ACLs Supervise y controle las solicitudes a su interfaz 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 un rol de IAM para su usuario autenticado en función de sus afirmaciones y configure la confianza de su rol para limitar el acceso a los usuarios de identidad web
Control de acceso basado en atributos Transforma las notificaciones 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 función no está disponible para los usuarios federados.

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 empezar a utilizar un AWS SDK, consulte Herramientas para AWS desarrolladores. Para ver los recursos para desarrolladores específicos de Amazon Cognito, consulte los recursos para desarrolladores de Amazon Cognito.

Para usar Amazon Cognito necesita una Cuenta de AWS. Para obtener más información, consulte Cómo empezar 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 ver si Amazon Cognito está disponible actualmente en alguno de ellos Región de AWS, consulte AWS Servicios 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.