Los grupos de identidades de Amazon Cognito proporcionan credenciales temporales de AWS a los usuarios invitados (no autenticados) y a los usuarios que se han autenticado y han recibido un token. Un grupo de identidades es un almacén de identificadores de usuario vinculados a los proveedores de identidades externos.
Para comprender las características y las opciones de los grupos de identidades, una buena opción consiste en crear un grupo de identidades en la consola de Amazon Cognito. Puede observar el efecto de las distintas configuraciones en los flujos de autenticación, el control de acceso basado en roles y atributos y el acceso de invitados. A partir de ahí, puede pasar a estudiar los capítulos posteriores de esta guía y añadir los componentes adecuados para su aplicación para poder implementar la autenticación del grupo de identidades.
Temas
- Creación de un grupo de identidades .
- Roles de IAM de usuario
- Identidades autenticadas y sin autenticar
- Activar o desactivar el acceso de invitados
- Cambio del rol asociado a un tipo de identidad
- Editar proveedores de identidad
- Eliminación de un grupo de identidades
- Eliminación de una identidad de un grupo de identidades
- Uso de Amazon Cognito Sync con grupos de identidades
Creación de un grupo de identidades .
Para crear un grupo de identidades nuevo en la consola
-
Inicie sesión en la consola de Amazon Cognito
y seleccione Grupos de identidades. -
Elija Crear grupo de identidades.
-
En Configurar confianza de grupo de identidades, elija configurar el grupo de identidades para el acceso autenticado, el acceso de invitado o ambos.
-
Si elige Acceso autenticado, seleccione uno o más tipos de identidades que desee establecer como origen de identidades autenticadas en el grupo de identidades. Si configura un Proveedor de desarrolladores personalizado, no podrá modificarlo ni eliminarlo después de crear el grupo de identidades.
-
-
En Configurar permisos, elija un rol de IAM predeterminado para los usuarios autenticados o invitados del grupo de identidades.
-
Elija Crear un nuevo rol de IAM si desea que Amazon Cognito cree uno nuevo para usted con permisos básicos y una relación de confianza con el grupo de identidades. Ingrese un Nombre de rol de IAM para identificar el nuevo rol, por ejemplo
myidentitypool_authenticatedrole
. Seleccione Ver documento de política para revisar los permisos que Amazon Cognito asignará al nuevo rol de IAM. -
Puede elegir la opción de Usar un rol de IAM existente si ya tiene un rol en la Cuenta de AWS que desea usar. Debe configurar la política de confianza del rol de IAM para incluir
cognito-identity.amazonaws.com
. Configure la política de confianza del rol para que solo permita que Amazon Cognito asuma el rol cuando presente pruebas de que la solicitud proviene de un usuario autenticado del grupo de identidades específico. Para obtener más información, consulte Confianza y permisos de rol.
-
-
En Conectar proveedores de identidades, ingrese los detalles de los proveedores de identidades (IdP) que eligió en Configurar la confianza del grupo de identidades. Es posible que se le pida que proporcione información del cliente de la aplicación OAuth, elija un grupo de usuarios de Amazon Cognito, elija un IdP de IAM o ingrese un identificador personalizado para un proveedor de desarrolladores.
-
Elija la Configuración del rol para cada IdP. Puede asignar a los usuarios de ese IdP el Rol predeterminado que configuró al configurar el Rol autenticado o puede Elegir el rol con reglas. Con un IdP del grupo de usuarios de Amazon Cognito, también puede Elegir un rol con preferred_role en los tokens. Para obtener más información acerca de la reclamación de
cognito:preferred_role
, consulte Asignación de valores de prioridad a los grupos.-
Si eligió Elegir rol con reglas, ingrese la Reclamación de origen de la autenticación del usuario, el Operador con el que desea comparar la afirmación, el Valor que hará que coincida con esta elección de rol y el Rol que desea asignar cuando la Asignación del rol coincida. Seleccione Agregar otra para crear una regla adicional en función de una condición diferente.
-
Elija una Resolución de rol. Cuando las reclamaciones del usuario no coinciden con las reglas, puede denegar las credenciales o emitir credenciales para el Rol autenticado.
-
-
Configure Atributos para el control de acceso para cada IdP. Los atributos del control de acceso asignan las reclamaciones de los usuarios a las Etiquetas de las entidades principales que Amazon Cognito aplica a la sesión temporal. Puede crear políticas de IAM para filtrar el acceso de los usuarios en función de las etiquetas que aplique a la sesión.
-
Para no aplicar ninguna etiqueta de entidad principal, elija Inactivo.
-
Para aplicar etiquetas de entidades principales en función de las reclamaciones
sub
yaud
, elija Usar mapeos predeterminados. -
Para crear su propio esquema personalizado de atributos para las etiquetas de la entidades principales, elija Usar mapeos personalizados. A continuación, ingrese una Clave de etiqueta que desee obtener de cada Reclamación que desee representar en una etiqueta.
-
-
-
En Configurar propiedades, ingrese un Nombre en Nombre de grupo de identidades.
-
En Autenticación básica (clásica), elija si desea Activar el flujo básico. Con el flujo básico activo, puede omitir las selecciones de roles que realizó para los IdP y llamar directamente a AssumeRoleWithWebIdentity. Para obtener más información, consulte Flujo de autenticación de grupos de identidades.
-
En Etiquetas, elija Agregar etiqueta si quiere aplicar etiquetas al grupo de identidades.
-
En Revisar y crear, confirme las selecciones que realizó para el nuevo grupo de identidades. Seleccione Editar para volver al asistente y cambiar cualquier configuración. Cuando haya acabado, seleccione Crear grupo de identidades.
Roles de IAM de usuario
Mediante los roles de IAM, se definen los permisos con los que los usuarios pueden acceder a los recursos de AWS, como Amazon Cognito Sync. Los usuarios de su aplicación asumirán los roles que cree. Puede especificar otros roles para usuarios autenticados y sin autenticar. Para obtener más información acerca de los roles de IAM, consulte Roles de IAM.
Identidades autenticadas y sin autenticar
Los grupos de identidades de Amazon Cognito admiten tanto las identidades autenticadas como las no autenticadas. Las identidades autenticadas pertenecen a los usuarios que se han autenticado mediante un proveedor de identidad compatible. En cuanto a las identidades sin autenticar normalmente corresponden a usuarios invitados.
-
Para configurar identidades autenticadas en un proveedor de inicio de sesión público, consulte Proveedores de identidades de terceros de grupos de identidades.
-
Para configurar su propio proceso de autenticación de backend, consulte Identidades autenticadas por el desarrollador.
Activar o desactivar el acceso de invitados
El acceso de invitados de los grupos de identidades de Amazon Cognito (identidades no autenticadas) proporciona un identificador único y credenciales de AWS a los usuarios que no se autentiquen con un proveedor de identidad. Si la aplicación permite usuarios que no inician sesión, puede activar el acceso de identidades sin autenticar. Para obtener más información, consulte Introducción a los grupos de identidades de Amazon Cognito.
Para actualizar el acceso de invitado en un grupo de identidades
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Acceso de usuario.
-
Busque el Acceso de invitado. En un grupo de identidades que actualmente no admite el acceso de invitado, el Estado es Inactivo.
-
Si el Acceso de invitado está Activo y quiere desactivarlo, seleccione Desactivar.
-
Si el Acceso de invitado está Inactivo y quiere activarlo, seleccione Editar.
-
Elija un rol de IAM predeterminado para los usuarios invitados del grupo de identidades.
-
Elija Crear un nuevo rol de IAM si desea que Amazon Cognito cree uno nuevo para usted con permisos básicos y una relación de confianza con el grupo de identidades. Ingrese un Nombre de rol de IAM para identificar el nuevo rol, por ejemplo
myidentitypool_authenticatedrole
. Seleccione Ver documento de política para revisar los permisos que Amazon Cognito asignará al nuevo rol de IAM. -
Puede elegir la opción de Usar un rol de IAM existente si ya tiene un rol en la Cuenta de AWS que desea usar. Debe configurar la política de confianza del rol de IAM para incluir
cognito-identity.amazonaws.com
. Configure la política de confianza del rol para que solo permita que Amazon Cognito asuma el rol cuando presente pruebas de que la solicitud proviene de un usuario autenticado del grupo de identidades específico. Para obtener más información, consulte Confianza y permisos de rol. -
Seleccione Guardar cambios.
-
Para activar el acceso como invitado, seleccione Activar en la pestaña Acceso de usuario.
-
-
-
Cambio del rol asociado a un tipo de identidad
Cada identidad del grupo de identidades es autenticada o sin autenticar. Las identidades autenticadas pertenecen a usuarios que se han autenticado mediante un proveedor de inicio de sesión público (grupos de usuarios de Amazon Cognito, Login with Amazon, Sign in with Apple, Facebook, Google, SAML o cualquier proveedor de OpenID Connect) o un proveedor de desarrolladores (su propio proceso de autenticación backend). En cuanto a las identidades sin autenticar normalmente corresponden a usuarios invitados.
Cada tipo de identidad tiene un rol asignado. Este rol tiene una política adjunta que dicta a qué Servicios de AWS puede tener acceso dicho rol. Cuando Amazon Cognito recibe una solicitud, el servicio determina el tipo de identidad y el rol asignado a dicho tipo de identidad, y utiliza la política adjunta a ese rol para responder. Si modifica una política o asigna un rol diferente a un tipo de identidad, puede controlar a qué Servicios de AWS puede tener acceso un tipo de identidad. Para ver o modificar las políticas asociadas a los roles en su grupo de identidades, consulte la consola de AWS IAM
Para cambiar el rol predeterminado autenticado o no autenticado del grupo de identidades
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Acceso de usuario.
-
Busque el Acceso de invitado o el Acceso autenticado. En un grupo de identidades que no esté configurado actualmente para ese tipo de acceso, el Estado es Inactivo. Seleccione Editar.
-
Elija un rol de IAM predeterminado para los usuarios autenticados o invitados del grupo de identidades.
-
Elija Crear un nuevo rol de IAM si desea que Amazon Cognito cree uno nuevo para usted con permisos básicos y una relación de confianza con el grupo de identidades. Ingrese un Nombre de rol de IAM para identificar el nuevo rol, por ejemplo
myidentitypool_authenticatedrole
. Seleccione Ver documento de política para revisar los permisos que Amazon Cognito asignará al nuevo rol de IAM. -
Puede elegir la opción de Usar un rol de IAM existente si ya tiene un rol en la Cuenta de AWS que desea usar. Debe configurar la política de confianza del rol de IAM para incluir
cognito-identity.amazonaws.com
. Configure la política de confianza del rol para que solo permita que Amazon Cognito asuma el rol cuando presente pruebas de que la solicitud proviene de un usuario autenticado del grupo de identidades específico. Para obtener más información, consulte Confianza y permisos de rol.
-
-
Seleccione Guardar cambios.
Editar proveedores de identidad
Si permite que los usuarios se autentiquen mediante proveedores de identidad de los clientes (por ejemplo, grupos de usuarios de Amazon Cognito, Login with Amazon, Sign in with Apple, Facebook o Google), puede especificar los identificadores de su aplicación en la consola de grupos de identidades de Amazon Cognito (identidades federadas). De esta forma, asociará el ID de la aplicación (proporcionado por el proveedor de inicio de sesión público) a su grupo de identidades.
También puede configurar en esta página reglas de autenticación para cada proveedor. Cada proveedor permite un máximo de 25 reglas. Las reglas se aplican en el orden que ha seguido para guardarlas para cada proveedor. Para obtener más información, consulte Uso del control de acceso basado en roles.
aviso
Cambiar el ID de aplicación de IdP enlazado en el grupo de identidades evita que los usuarios existentes se puedan autenticar con dicho grupo de identidades. Para obtener más información, consulte Proveedores de identidades de terceros de grupos de identidades.
Para actualizar un proveedor de identidades (IdP) de un grupo de identidades
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Acceso de usuario.
-
Localice proveedores de identidades. Elija el proveedor de identidades que desea editar. Si quiere agregar un nuevo IdP, seleccione Agregar proveedor de identidades.
-
Si elige Agregar proveedor de identidades, elija uno de los tipos de identidad que desee agregar.
-
-
Para cambiar el ID de la aplicación, seleccione Editar en la Información del proveedor de identidades.
-
Para cambiar el rol que Amazon Cognito solicita cuando emite credenciales a los usuarios que se han autenticado con este proveedor, elija Editar en la Configuración del rol.
-
Puede asignar a los usuarios de ese IdP el Rol predeterminado que configuró al configurar el Rol autenticado o puede Elegir el rol con reglas. Con un IdP del grupo de usuarios de Amazon Cognito, también puede Elegir un rol con preferred_role en los tokens. Para obtener más información acerca de la reclamación de
cognito:preferred_role
, consulte Asignación de valores de prioridad a los grupos.-
Si eligió Elegir rol con reglas, ingrese la Reclamación de origen de la autenticación del usuario, el Operador con el que desea comparar la afirmación, el Valor que hará que coincida con esta elección de rol y el Rol que desea asignar cuando la Asignación del rol coincida. Seleccione Agregar otra para crear una regla adicional en función de una condición diferente.
-
Elija una Resolución de rol. Cuando las reclamaciones del usuario no coinciden con las reglas, puede denegar las credenciales o emitir credenciales para el Rol autenticado.
-
-
-
Para cambiar las etiquetas de la entidad principal que Amazon Cognito asigna cuando emite credenciales a los usuarios que se han autenticado con este proveedor, elija Editar en Atributos para el control de acceso.
-
Para no aplicar ninguna etiqueta de entidad principal, elija Inactivo.
-
Para aplicar etiquetas de entidades principales en función de las reclamaciones
sub
yaud
, elija Usar mapeos predeterminados. -
Para crear su propio esquema personalizado de atributos para las etiquetas de la entidades principales, elija Usar mapeos personalizados. A continuación, ingrese una Clave de etiqueta que desee obtener de cada Reclamación que desee representar en una etiqueta.
-
-
Seleccione Guardar cambios.
Eliminación de un grupo de identidades
No puede deshacer la eliminación de un grupo de identidades. Tras eliminar un grupo de identidades, todas las aplicaciones y los usuarios que dependen de él dejan de funcionar.
Para eliminar un grupo de identidades
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione el botón de opción situado junto al grupo de identidades que desea eliminar. -
Seleccione Eliminar.
-
Ingrese o pegue el nombre del grupo de identidades y seleccione Eliminar.
aviso
Si selecciona botón Delete (eliminar), eliminará permanentemente el grupo de identidades y todos los datos de usuarios que dicho grupo contiene. La eliminación de un grupo de identidades hace que las aplicaciones y los demás servicios que usan el grupo dejen de funcionar.
Eliminación de una identidad de un grupo de identidades
Al eliminar una identidad de un grupo de identidades, se elimina la información de identificación que Amazon Cognito ha almacenado para ese usuario federado. Cuando el usuario vuelva a solicitar las credenciales, recibirá un nuevo ID de identidad si el grupo de identidades sigue confiando en el proveedor de identidades. No podrá deshacer esta operación.
Para eliminar una identidad
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Navegador de identidades.
-
Seleccione las casillas de verificación situadas junto a las identidades que desea eliminar y elija Eliminar. Confirme que desea eliminar las identidades y elija Eliminar.
Uso de Amazon Cognito Sync con grupos de identidades
Amazon Cognito Sync es un Servicio de AWS y una biblioteca de cliente que permite la sincronización entre dispositivos de datos de usuarios relacionados con la aplicación. Amazon Cognito Sync puede sincronizar los datos de los perfiles de usuario entre los dispositivos móviles y la web sin necesidad de utilizar su propio backend. Las bibliotecas de cliente almacenan los datos localmente en la caché para que su aplicación pueda leer y escribir datos, sin importar el estado de conexión del dispositivo. Cuando el dispositivo esté en línea, podrá sincronizar los datos. Cuando el dispositivo esté en línea, podrá notificar inmediatamente a otros dispositivos que hay una actualización disponible.
Administración de conjuntos de datos
Si ha implementado la funcionalidad de Amazon Cognito Sync en la aplicación, la consola de grupos de identidades de Amazon Cognito permite crear y eliminar de forma manual conjuntos de datos y registros de identidades individuales. Los cambios que efectúe en el conjunto de datos o los registros de una identidad en la consola de grupos de identidades de Amazon Cognito no se guardarán hasta que no haya seleccionado Sincronize (Sincronizar) en la consola. El cambio no es visible para el usuario final hasta que la identidad llama a Sincronize (Sincronizar). Los datos que se sincronizando desde otros dispositivos para identidades individuales son visibles cuando se actualiza la página de conjuntos de datos de lista de una identidad determinada.
Creación de un conjunto de datos para una identidad
Amazon Cognito Sync asocia un conjunto de datos a una identidad. Puede rellenar el conjunto de datos con información de identificación sobre el usuario que representa la identidad y, a continuación, sincronizar esa información con todos los dispositivos del usuario.
Para agregar un conjunto de datos y los registros de un conjunto de datos a una identidad
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Navegador de identidades.
-
Seleccione la identidad que desea editar.
-
En Conjuntos de datos, elija Crear conjunto de datos.
-
Ingrese un Nombre de conjunto de datos y seleccione Crear conjunto de datos.
-
Si quiere agregar registros al conjunto de datos, elija el conjunto de datos entre los detalles de identidad. En Registros, seleccione Crear registro.
-
Ingrese una Clave y un Valor para el registro. Elija Confirmar. Repita el procedimiento para agregar más registros.
Eliminación de un conjunto de datos asociado a una identidad
Para eliminar un conjunto de datos y sus registros de una identidad
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Navegador de identidades.
-
Seleccione la identidad que contiene el conjunto de datos que desea eliminar.
-
En Conjuntos de datos, elija el botón de opción situado junto al conjunto de datos que desea eliminar.
-
Seleccione Eliminar. Revise la elección y vuelva a seleccionar Eliminar.
Publicación en masa de datos
La publicación en masa se puede utilizar para exportar datos que ya se encuentren en un almacén de Amazon Cognito Sync a una transmisión de Amazon Kinesis. Para obtener instrucciones sobre cómo publicar en masa todos los flujos, consulte Implementación de flujos de Amazon Cognito Sync.
Activar sincronización mediante inserción
Amazon Cognito realiza seguimiento de forma automática de la asociación entre la identidad y los dispositivos. El uso de la característica de sincronización por inserción puede asegurar que todas las instancias de una determinada identidad reciban una notificación cuando cambien los datos de identidad. La sincronización mediante inserción hace que, cuando el conjunto de datos cambia para una identidad, todos los dispositivos asociados con esa identidad recibirán una notificación de inserción silenciosa que informa del cambio.
Puede activar la sincronización mediante inserción en la consola de Amazon Cognito.
Para activar sincronización mediante inserción
-
Elija Grupos de identidades en la consola de Amazon Cognito
. Seleccione un grupo de identidades. -
Elija la pestaña Propiedades del grupo de identidades.
-
En Sincronización mediante inserción, seleccione Editar
-
Seleccione Activar la sincronización mediante inserción con el grupo de identidades.
-
Elija una de las aplicaciones de la plataforma de Amazon Simple Notification Service (Amazon SNS) que ha creado en la Región de AWS actual. Amazon Cognito publica notificaciones push en la aplicación de la plataforma. Seleccione Crear aplicación de plataforma para ir a la consola de Amazon SNS y crear una nueva.
-
Para publicar en la aplicación de plataforma, Amazon Cognito asume un rol de IAM en la Cuenta de AWS. Elija Crear un nuevo rol de IAM si desea que Amazon Cognito cree uno nuevo para usted con permisos básicos y una relación de confianza con el grupo de identidades. Ingrese un Nombre de rol de IAM para identificar el nuevo rol, por ejemplo
myidentitypool_authenticatedrole
. Seleccione Ver documento de política para revisar los permisos que Amazon Cognito asignará al nuevo rol de IAM. -
Puede elegir la opción de Usar un rol de IAM existente si ya tiene un rol en la Cuenta de AWS que desea usar. Debe configurar la política de confianza del rol de IAM para incluir
cognito-identity.amazonaws.com
. Configure la política de confianza del rol para que solo permita que Amazon Cognito asuma el rol cuando presente pruebas de que la solicitud proviene de un usuario autenticado del grupo de identidades específico. Para obtener más información, consulte Confianza y permisos de rol. -
Seleccione Guardar cambios.
Configuración de Amazon Cognito Streams
Amazon Cognito Streams ofrece a los desarrolladores control e información de los datos almacenados en Amazon Cognito Sync. Ahora, los desarrolladores pueden configurar un flujo de Kinesis para recibir eventos como datos. Amazon Cognito puede enviar cada cambio en el conjunto de datos a un flujo de Kinesis de su propiedad en tiempo real. Para obtener instrucciones acerca de cómo configurar Amazon Cognito Streams en la consola de Amazon Cognito, consulte Implementación de flujos de Amazon Cognito Sync.
Configuración de Amazon Cognito Events
Con Amazon Cognito Events, se puede ejecutar una función de AWS Lambda como respuesta a eventos importantes de Amazon Cognito Sync. Amazon Cognito Sync lanza el evento desencadenador de sincronización cuando se sincroniza un conjunto de datos. Puede utilizar el evento disparador de la sincronización para actuar cuando un usuario actualiza los datos. Para obtener instrucciones sobre cómo configurar Amazon Cognito Events desde la consola, consulte Personalización de los flujos de trabajo con Amazon Cognito Events.
Para obtener más información acerca de la AWS Lambda, consulte AWS Lambda