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.
Uso de dispositivos de usuario en el grupos de usuarios
Al iniciar sesión en los grupos de usuarios locales con los grupos de usuarios de Amazon CognitoAPI, puede asociar los registros de actividad de los usuarios de las funciones de seguridad avanzadas a cada uno de sus dispositivos y, de forma opcional, permitir que los usuarios se salten la autenticación multifactorial (MFA) si están en un dispositivo de confianza. Amazon Cognito incluye una clave de dispositivo en la respuesta a cualquier inicio de sesión que no incluya información del dispositivo. La clave del dispositivo está en el formato
. Con una clave de dispositivo, una biblioteca Secure Remote Password (SRP) y un grupo de usuarios que permita la autenticación de dispositivos, puedes pedir a los usuarios de tu aplicación que confíen en el dispositivo actual y dejar de solicitar un MFA código al iniciar sesión.Region
_UUID
Temas
Configuración de dispositivos recordados
Con los grupos de usuarios de Amazon Cognito, puede asociar los dispositivos de cada uno de sus usuarios a un identificador de dispositivo único: una clave de dispositivo. Al presentar la clave del dispositivo y realizar la autenticación del dispositivo al iniciar sesión, puede utilizar dos características.
-
Gracias a las características de seguridad avanzadas, puede monitorizar la actividad de los usuarios en dispositivos concretos con fines de seguridad y análisis. Cuando los usuarios inician sesión, su aplicación tiene la opción de autenticar a cada usuario y su dispositivo, agregando la información del dispositivo a sus registros de actividad.
-
La función de recordar dispositivos también permite un flujo de autenticación de dispositivos de confianza, en el que los usuarios pueden optar por iniciar sesión sin ella MFA hasta más adelante, según lo determinen los requisitos de seguridad de la aplicación o las preferencias de los usuarios. Por ejemplo, la aplicación puede solicitar a los usuarios que confíen en un dispositivo durante 30, 60 o 90 días. Puede almacenar esta fecha en un atributo personalizado y, en esa fecha, cambiar el estado recordado de su dispositivo. A continuación, debes volver a solicitar al usuario que envíe un MFA código y configurar el dispositivo para que se recuerde de nuevo tras una autenticación correcta.
Los dispositivos recordados MFA solo se pueden anular en los grupos de usuarios que estén activadosMFA.
Cuando el usuario inicia sesión con un dispositivo recordado, debe realizar una autenticación de dispositivo adicional durante el flujo de autenticación. Para obtener más información, consulte Inicio de sesión con un dispositivo.
Configure su grupo de usuarios para que recuerde dispositivos en la pestaña Experiencia de inicio de sesión del grupo de usuarios, en Seguimiento de dispositivos. Cuando configura la funcionalidad de recordar los dispositivos a través de la consola de Amazon Cognito, dispone de tres opciones: Always (Siempre), User Opt-In (Activación por usuario) y No.
- No recordar
-
Su grupo de usuarios no sugiere a los usuarios que se recuerden los dispositivos cuando inician sesión.
- Recordar siempre
-
Cuando tu aplicación confirma el dispositivo de un usuario, tu grupo de usuarios siempre recuerda el dispositivo y no devuelve MFA problemas cuando se inicia sesión correctamente en el dispositivo en el futuro.
- Opción de usuario
-
Cuando tu aplicación confirma el dispositivo de un usuario, tu grupo de usuarios no suprime MFA automáticamente los desafíos. Debe presentar un mensaje para que el usuario elija si quiere que se recuerde su dispositivo.
Al elegir Recordar siempre o Opción de usuario, Amazon Cognito genera una clave de identificación del dispositivo y un secreto cada vez que un usuario inicia sesión desde un dispositivo no identificado. La clave del dispositivo es el identificador inicial que la aplicación envía al grupo de usuarios cuando el usuario autentica el dispositivo.
Con cada dispositivo de usuario confirmado, ya sea que se recuerde automáticamente o por opción de usuario, puede usar la clave y el secreto del identificador del dispositivo para autenticar un dispositivo cada vez que un usuario inicie sesión.
También puedes configurar los ajustes de los dispositivos recordados para tu grupo de usuarios en una solicitud CreateUserPoolo UpdateUserPoolAPI. Para obtener más información, consulte la DeviceConfigurationpropiedad.
Los grupos de usuarios de Amazon Cognito API tienen operaciones adicionales para los dispositivos recordados.
-
ListDevicesy AdminListDevicesdevuelve una lista de las claves del dispositivo y sus metadatos para un usuario.
-
GetDevicey AdminGetDevicedevuelve la clave del dispositivo y los metadatos de un solo dispositivo.
-
UpdateDeviceStatusy AdminUpdateDeviceStatusconfigura el dispositivo de un usuario como recordado o no recordado.
-
ForgetDevicey AdminForgetDeviceeliminar el dispositivo confirmado de un usuario de su perfil.
APIlas operaciones con nombres que comiencen por Admin
se utilizan en aplicaciones del lado del servidor y deben autorizarse con IAM credenciales. Para obtener más información, consulte Uso de los grupos de usuarios API y el servidor de autorización.
Obtención de la clave del dispositivo
Cada vez que el usuario inicie sesión en los grupos de usuarios API y no incluya una clave de dispositivo en los parámetros de autenticaciónDEVICE_KEY
, Amazon Cognito devolverá una nueva clave de dispositivo en la respuesta. En su aplicación pública del lado del cliente, coloque la clave del dispositivo en el almacenamiento de la aplicación para poder incluirla en futuras solicitudes. En su aplicación confidencial del lado del servidor, configure una cookie del navegador u otro token del lado del cliente con la clave del dispositivo de su usuario.
Para que el usuario pueda iniciar sesión con su dispositivo de confianza, la aplicación debe confirmar la clave del dispositivo y proporcionar información adicional. Genere una ConfirmDevicesolicitud a Amazon Cognito que confirme el dispositivo de su usuario con la clave del dispositivo, un nombre descriptivo, un verificador de contraseñas y una sal. Si ha configurado su grupo de usuarios para la autenticación de dispositivos según la opción del usuario, Amazon Cognito responde a su solicitud ConfirmDevice
con una pregunta para que el usuario elija si desea que se recuerde el dispositivo actual. Responda con la selección de su usuario en una UpdateDeviceStatussolicitud.
Cuando confirma el dispositivo de su usuario pero no lo configura como recordado, Amazon Cognito guarda la asociación, pero continúa con el inicio de sesión sin dispositivo cuando proporciona la clave del dispositivo. Los dispositivos pueden generar registros que son útiles para la seguridad del usuario y la solución de problemas. Un dispositivo confirmado pero no recordado no aprovecha la característica de inicio de sesión, pero sí la característica de registros de monitorización de la seguridad. Al activar las características de seguridad avanzadas para el cliente de la aplicación y codificar la huella de un dispositivo en la solicitud, Amazon Cognito asocia los eventos de usuario con el dispositivo confirmado.
Para obtener una nueva clave de dispositivo
-
Inicia la sesión de inicio de sesión de tu usuario con una InitiateAuthAPIsolicitud.
-
Responda a todos los desafíos de autenticación RespondToAuthChallengehasta que reciba tokens JSON web (JWTs) que indiquen que la sesión de inicio de sesión de su usuario ha finalizado.
-
En su aplicación, registre los valores que Amazon Cognito devuelve en
NewDeviceMetadata
en su respuestaRespondToAuthChallenge
oInitiateAuth
:DeviceGroupKey
yDeviceKey
. -
Genera un nuevo SRP secreto para tu usuario: una sal y un verificador de contraseñas. Esta función está disponible en las SRP bibliotecas SDKs que proporcionan.
-
Solicite al usuario un nombre de dispositivo o genere uno a partir de las características del dispositivo del usuario.
-
Proporcione el token de acceso, la clave del dispositivo, el nombre del dispositivo y el SRP secreto de su usuario en una ConfirmDeviceAPIsolicitud. Si su grupo de usuarios está configurado para Recordar siempre los dispositivos, el registro del usuario se habrá completado.
-
Si Amazon Cognito responde a
ConfirmDevice
con"UserConfirmationNecessary": true
, pida al usuario que elija si quiere que se recuerde el dispositivo. Si afirman que quieren recordar el dispositivo, genera una UpdateDeviceStatusAPIsolicitud con el token de acceso, la clave del dispositivo y el identificador del usuario"DeviceRememberedStatus": "remembered"
. -
Si has indicado a Amazon Cognito que recuerde el dispositivo, la próxima vez que inicie sesión, se le presentará un MFA desafío en lugar de un
DEVICE_SRP_AUTH
desafío.
Inicio de sesión con un dispositivo
Tras configurar el dispositivo de un usuario para que sea recordado, Amazon Cognito ya no le exige que envíe un MFA código al iniciar sesión con la misma clave de dispositivo. La autenticación del dispositivo solo reemplaza el desafío MFA de autenticación por un desafío de autenticación del dispositivo. Los usuarios no pueden iniciar sesión únicamente con la autenticación del dispositivo. El usuario debe completar primero la autenticación con su contraseña o con un desafío personalizado. A continuación se muestra el proceso de autenticación de un usuario en un dispositivo recordado.
Para realizar la autenticación de dispositivos en un flujo que utiliza activadores Lambda de desafío de autenticación personalizados, pase un DEVICE_KEY
parámetro en su InitiateAuthAPIsolicitud. Cuando el usuario supere todos los desafíos y el desafío CUSTOM_CHALLENGE
devuelva un valor issueTokens
de true
, Amazon Cognito devolverá un último desafío DEVICE_SRP_AUTH
.
Para iniciar sesión con un dispositivo
-
Recupere la clave del dispositivo de su usuario del almacenamiento del cliente.
-
Inicie la sesión de inicio de sesión del usuario con una InitiateAuthAPIsolicitud. Elija un
AuthFlow
deUSER_SRP_AUTH
,REFRESH_TOKEN_AUTH
,USER_PASSWORD_AUTH
oCUSTOM_AUTH
. EnAuthParameters
, agregue la clave del dispositivo de su usuario al parámetroDEVICE_KEY
e incluya los demás parámetros necesarios para el flujo de inicio de sesión seleccionado.-
También puede transferir
DEVICE_KEY
en los parámetros de una respuestaPASSWORD_VERIFIER
a un desafío de autenticación.
-
-
Complete las respuestas al desafío hasta que reciba un desafío
DEVICE_SRP_AUTH
en la respuesta. -
En una RespondToAuthChallengeAPIsolicitud, envía un
ChallengeName
deDEVICE_SRP_AUTH
y los parámetros paraUSERNAME
DEVICE_KEY
, ySRP_A
. -
Amazon Cognito responde con un desafío
DEVICE_PASSWORD_VERIFIER
. Esta respuesta al desafío incluye valores paraSECRET_BLOCK
ySRP_B
. -
Con su SRP biblioteca, genere y envíe
PASSWORD_CLAIM_SIGNATURE
PASSWORD_CLAIM_SECRET_BLOCK
,TIMESTAMP
USERNAME
, yDEVICE_KEY
parámetros. Envíelos en una solicitudRespondToAuthChallenge
adicional. -
Completa desafíos adicionales hasta que recibas los del usuarioJWTs.
El siguiente pseudocódigo muestra cómo calcular los valores para la respuesta al desafío DEVICE_PASSWORD_VERIFIER
.
PASSWORD_CLAIM_SECRET_BLOCK = SECRET_BLOCK TIMESTAMP = Tue Sep 25 00:09:40 UTC 2018 PASSWORD_CLAIM_SIGNATURE = Base64(SHA256_HMAC(K_USER, DeviceGroupKey + DeviceKey + PASSWORD_CLAIM_SECRET_BLOCK + TIMESTAMP)) K_USER = SHA256_HASH(S_USER) S_USER = (SRP_B - k * gx)(a + ux) x = SHA256_HASH(salt + FULL_PASSWORD) u = SHA256_HASH(SRP_A + SRP_B) k = SHA256_HASH(N + g)
Visualización, actualización y olvido de dispositivos
Puede implementar las siguientes funciones en su aplicación con Amazon CognitoAPI.
-
Mostrar información sobre el dispositivo actual de un usuario.
-
Mostrar una lista de todos los dispositivos del usuario.
-
Olvidar un dispositivo.
-
Actualizar el estado recordado de un dispositivo.
Los tokens de acceso que autorizan las API solicitudes de las siguientes descripciones deben incluir el aws.cognito.signin.user.admin
alcance. Amazon Cognito añade una reclamación para este ámbito a todos los tokens de acceso que genere con los grupos de usuarios de Amazon Cognito. API Un tercero IdPs debe gestionar por separado los dispositivos y MFA para sus usuarios que se autentiquen en Amazon Cognito. En la interfaz de usuario alojada, puede solicitar el ámbito aws.cognito.signin.user.admin
, pero la interfaz de usuario alojada agrega automáticamente la información del dispositivo a los registros de usuarios de seguridad avanzada y no permite recordar los dispositivos.
Visualización de información sobre un dispositivo
Puede consultar información sobre el dispositivo de un usuario para determinar si todavía está en uso. Por ejemplo, es posible que desees desactivar los dispositivos recordados después de que no hayan iniciado sesión durante 90 días.
-
Para mostrar la información del dispositivo del usuario en una aplicación de cliente público, envíe la clave de acceso del usuario y la clave del dispositivo en una solicitud. GetDeviceAPI
-
Para mostrar la información del dispositivo de su usuario en una aplicación de cliente confidencial, firme una AdminGetDeviceAPIsolicitud con AWS credenciales y envíe el nombre de usuario, la clave del dispositivo y el grupo de usuarios de su usuario.
Visualización de una lista de todos los dispositivos del usuario
Puede mostrar una lista de todos los dispositivos de sus usuarios y sus propiedades. Por ejemplo, es posible que desee comprobar que el dispositivo actual coincide con un dispositivo recordado.
-
En una aplicación de cliente público, envía el token de acceso de tu usuario en una solicitud. ListDevicesAPI
-
En una aplicación de cliente confidencial, firma una AdminListDevicesAPIsolicitud con AWS credenciales y envía el nombre de usuario y el grupo de usuarios de tu usuario.
Olvido de un dispositivo
Puede eliminar la clave del dispositivo de un usuario. Puede que desees hacerlo cuando descubras que tu usuario ya no usa un dispositivo o cuando detectes una actividad inusual y desees pedirle al usuario que vuelva a MFA completarla. Para volver a registrar el dispositivo más adelante, debe generar y almacenar una nueva clave de dispositivo.
-
En una aplicación de cliente público, envía la clave del dispositivo y el token de acceso del usuario cuando lo ForgetDeviceAPIsolicites.
-
En una aplicación de cliente confidencial, envía la clave del dispositivo y el token de acceso del usuario cuando lo solicites. AdminForgetDeviceAPI