TOTPtoken de software MFA - 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.

TOTPtoken de software MFA

Cuando configuras un token de TOTP software MFA en tu grupo de usuarios, el usuario inicia sesión con un nombre de usuario y una contraseña y, a continuación, utiliza una TOTP para completar la autenticación. Una vez que el usuario haya establecido y verificado un nombre de usuario y una contraseña, podrá activar un token de TOTP software para MFA ellos. Si su aplicación utiliza la interfaz de usuario alojada en Amazon Cognito para iniciar sesión con los usuarios, el usuario envía su nombre de usuario y contraseña y, a continuación, envía la TOTP contraseña en una página de inicio de sesión adicional.

Puede realizar la activación TOTP MFA para su grupo de usuarios en la consola de Amazon Cognito o utilizar las operaciones de Amazon API Cognito. En el nivel del grupo de usuarios, puede llamar SetUserPoolMfaConfigpara configurarlo MFA y activarlo. TOTP MFA

nota

Si no ha activado el token de TOTP software MFA para el grupo de usuarios, Amazon Cognito no podrá usar el token para asociar o verificar usuarios. En este caso, los usuarios reciben un excepción SoftwareTokenMFANotFoundException con la descripción Software Token MFA has not been enabled by the userPool. Si más adelante desactiva el token de software MFA para el grupo de usuarios, los usuarios que previamente asociaron y verificaron un TOTP token podrán seguir utilizándolo. MFA

La configuración TOTP para el usuario es un proceso de varios pasos en el que el usuario recibe un código secreto que valida introduciendo una contraseña de un solo uso. A continuación, puede habilitarlo TOTP MFA para su usuario o establecerlo TOTP como el MFA método preferido para su usuario.

Cuando configura su grupo de usuarios para que sea obligatorio TOTP MFA y los usuarios se registren en su aplicación en la interfaz de usuario alojada, Amazon Cognito automatiza el proceso de usuario. Amazon Cognito pide al usuario que elija un MFA método, muestra un código QR para configurar su aplicación de autenticación y verifica su registro. MFA En los grupos de usuarios en los que ha permitido a los usuarios elegir entre SMS y TOTPMFA, Amazon Cognito también ofrece al usuario una opción de método. Para obtener más información sobre la experiencia de registro en la interfaz de usuario alojada, consulte Cómo registrarse en una nueva cuenta en la IU alojada de Amazon Cognito.

importante

Si tiene una AWS WAF web ACL asociada a un grupo de usuarios y una regla de su web ACL presenta unaCAPTCHA, esto puede provocar un error irrecuperable en el registro de la interfaz de usuario alojada. TOTP Para crear una regla que incluya una CAPTCHA acción y no afecte a la interfaz de usuario TOTP alojada, consulte. Configurar tu AWS WAF web ACL para una interfaz de usuario alojada TOTP MFA Para obtener más información sobre la AWS WAF web ACLs y Amazon Cognito, consulte. Asociar una AWS WAF web a un grupo ACL de usuarios

Para implementarlo TOTP MFA en una interfaz de usuario personalizada en la que utilice Amazon CognitoAPI, consulte. Configuración MFA para un usuario en los grupos de usuarios de Amazon Cognito API

Para añadirlos MFA a su grupo de usuarios, consulteAñadir MFA a un grupo de usuarios.

TOTPMFAconsideraciones y limitaciones

  1. Amazon Cognito admite el token de software a MFA través de una aplicación de autenticación que genera códigos. TOTP Amazon Cognito no es compatible con los sistemas basados en hardware. MFA

  2. Cuando su grupo de usuarios lo requiera TOTP para un usuario que no lo haya configurado, este recibe un token de acceso único que la aplicación puede usar TOTP MFA para activarlo para el usuario. Los intentos de inicio de sesión posteriores fallarán hasta que el usuario haya registrado un factor de inicio de TOTP sesión adicional.

    • Un usuario que se registre en tu grupo de usuarios mediante la SignUp API operación o a través de la interfaz de usuario alojada recibirá un token único cuando complete el registro.

    • Después de crear un usuario y de que este configure su contraseña inicial, Amazon Cognito emite tokens de un solo uso desde la IU alojada para el usuario. Si establece una contraseña permanente para el usuario, Amazon Cognito emite tokens de un solo uso cuando el usuario inicia sesión por primera vez.

    • Amazon Cognito no emite tokens de un solo uso a un usuario creado por el administrador que inicia sesión con las operaciones o. InitiateAuthAdminInitiateAuthAPI Cuando el usuario supera el desafío de establecer su contraseña inicial, o si usted establece una contraseña permanente para el usuario, Amazon Cognito le pide inmediatamente que la configure. MFA

  3. Si un usuario de un grupo de usuarios que lo requiere ya MFA ha recibido un token de acceso único pero no lo ha configurado TOTPMFA, no podrá iniciar sesión con la interfaz de usuario alojada hasta que lo haya configurado. MFA En lugar del token de acceso, puedes usar el valor de session respuesta de un MFA_SETUP desafío a una solicitud InitiateAutho AdminInitiateAuthen una AssociateSoftwareTokensolicitud.

  4. Si tus usuarios lo han configuradoTOTP, pueden usarloMFA, incluso si lo desactivas TOTP para el grupo de usuarios más adelante.

  5. Amazon Cognito solo acepta TOTPs aplicaciones autenticadoras que generen códigos con la función hashHMAC. SHA1 Los códigos generados con un hash SHA de 256 bits devuelven un error. Code mismatch

Configuración MFA para un usuario en los grupos de usuarios de Amazon Cognito API

Cuando un usuario inicia sesión por primera vez, la aplicación utiliza su token de acceso único para generar la clave TOTP privada y presentársela al usuario en formato de texto o código QR. El usuario configura su aplicación de autenticación y proporciona una TOTP para los siguientes intentos de inicio de sesión. Su aplicación o la interfaz de usuario alojada la presentan TOTP a Amazon Cognito en las respuestas a los MFA desafíos.

Asocie el token de TOTP software

Para asociar el TOTP token, envía a tu usuario un código secreto que debe validar con una contraseña de un solo uso. Para asociar el token se deben seguir tres pasos.

  1. Cuando el usuario elija un token de TOTP softwareMFA, llame AssociateSoftwareTokenpara obtener un código clave secreto compartido generado y exclusivo para la cuenta de usuario. Puede autorizar AssociateSoftwareToken con un token de acceso o una cadena de sesión.

  2. La aplicación presenta al usuario la clave privada o un código QR que usted genera a partir de la clave privada. El usuario debe introducir la clave en una aplicación TOTP generadora, como Google Authenticator. Puede usar libqrencode para generar un código QR.

  3. Cuando el usuario introduce la clave o escanea el código QR en una aplicación de autenticación como Google Authenticator, la aplicación comienza a generar códigos.

Verifica el token TOTP

A continuación, verifica el TOTP token. Solicita códigos de muestra a tu usuario y entrégalos al servicio Amazon Cognito para confirmar que el usuario está generando TOTP códigos correctamente, de la siguiente manera.

  1. La aplicación solicita al usuario un código para demostrar que ha configurado correctamente su aplicación de autenticación.

  2. La aplicación de autenticación del usuario muestra una contraseña temporal. La aplicación de autenticación basa la contraseña en la clave secreta que usted le dio al usuario.

  3. El usuario ingresa su contraseña temporal. La aplicación pasa la contraseña temporal a Amazon Cognito en una VerifySoftwareToken API solicitud.

  4. Amazon Cognito ha conservado la clave secreta asociada al usuario, genera una TOTP y la compara con la que proporcionó el usuario. Si coinciden, VerifySoftwareToken devuelve una respuesta SUCCESS.

  5. Amazon Cognito asocia el TOTP factor con el usuario.

  6. Si la operación VerifySoftwareToken devuelve una respuesta ERROR, asegúrese de que el reloj del usuario sea correcto y de que no haya superado el número máximo de reintentos. Amazon Cognito acepta los TOTP tokens que se encuentren 30 segundos antes o después del intento, para tener en cuenta una pequeña desviación del reloj. Cuando haya resuelto el problema, vuelva a intentar la VerifySoftwareToken operación.

Inicie sesión con TOTP MFA

En este punto, el usuario inicia sesión con la contraseña temporal de un solo uso. El proceso es el siguiente.

  1. El usuario ingresa el nombre de usuario y la contraseña para iniciar sesión en la aplicación cliente.

  2. Se invoca el TOTP MFA desafío y la aplicación le pide al usuario que introduzca una contraseña temporal.

  3. El usuario obtiene la contraseña temporal de una aplicación TOTP generadora asociada.

  4. El usuario introduce el TOTP código en la aplicación cliente. La aplicación solicita al servicio de Amazon Cognito que la verifique. Para cada inicio de sesión, se le RespondToAuthChallengedebe llamar para obtener una respuesta al nuevo desafío de TOTP autenticación.

  5. Si Amazon Cognito verifica el token, el inicio de sesión es exitoso y el usuario continúa con el flujo de autenticación.

Elimine el token TOTP

Por último, tu aplicación debería permitir al usuario desactivar su TOTP configuración. Actualmente, no puedes eliminar el token de TOTP software de un usuario. Para reemplazar el token de software del usuario, asocie y verifique un nuevo token de software. Para desactivarlo TOTP MFA para un usuario, llama SetUserMFAPreferencepara modificar tu usuario para que no lo use o solo MFA SMS MFA lo use.

  1. Crea una interfaz en tu aplicación para los usuarios que quieran MFA restablecerla. Pida a un usuario de esta interfaz que ingrese la contraseña.

  2. Si Amazon Cognito devuelve un TOTP MFA desafío, actualice las MFA preferencias del usuario con. SetUserMFAPreference

  3. En la aplicación, comunique al usuario que la ha desactivado MFA y pídale que vuelva a iniciar sesión.

Configurar tu AWS WAF web ACL para una interfaz de usuario alojada TOTP MFA

Si tienes una AWS WAF web ACL asociada a un grupo de usuarios y una regla de la web ACL presenta unaCAPTCHA, esto puede provocar un error irrecuperable en el registro de la interfaz de usuario alojada. TOTP AWS WAF CAPTCHAlas reglas solo afectan a la interfaz TOTP MFA de usuario alojada de esta manera. SMSMFAno se ve afectada.

Amazon Cognito muestra el siguiente error cuando la CAPTCHA regla no permite que un usuario complete TOTP MFA la configuración.

No se permite la solicitud debido a un WAF captcha.

Este error se produce cuando se AWS WAF solicita una CAPTCHA respuesta a AssociateSoftwareTokenVerifySoftwareTokenAPIlas solicitudes que su grupo de usuarios realiza en segundo plano. Para crear una regla que incluya una CAPTCHA acción y no afecte a la interfaz de usuario alojadaTOTP, excluya los valores del x-amzn-cognito-operation-name encabezado VerifySoftwareToken de la CAPTCHA acción AssociateSoftwareToken y de la misma.

En la siguiente captura de pantalla se muestra un ejemplo de AWS WAF regla que aplica una CAPTCHA acción a todas las solicitudes que no tienen un valor de x-amzn-cognito-operation-name encabezado igual AssociateSoftwareToken oVerifySoftwareToken.

Captura de pantalla de una AWS WAF regla que aplica una CAPTCHA acción a todas las solicitudes que no tienen un valor de x-amzn-cognito-operation-name encabezado igual AssociateSoftwareToken oVerifySoftwareToken.

Para obtener más información sobre la AWS WAF web ACLs y Amazon Cognito, consulte. Asociar una AWS WAF web a un grupo ACL de usuarios