TOTPtoken software MFA - Amazon Cognito

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

TOTPtoken software MFA

Quando configuri un token TOTP software MFA nel tuo pool di utenti, l'utente accede con un nome utente e una password, quindi utilizza un TOTP per completare l'autenticazione. Dopo aver impostato e verificato un nome utente e una password, l'utente può attivare un token TOTP software perMFA. Se la tua app utilizza l'interfaccia utente ospitata da Amazon Cognito per accedere agli utenti, l'utente invia nome utente e password, quindi invia la TOTP password in una pagina di accesso aggiuntiva.

Puoi eseguire l'attivazione TOTP MFA per il tuo pool di utenti nella console Amazon Cognito oppure puoi utilizzare le operazioni di Amazon API Cognito. A livello di pool di utenti, puoi chiamare SetUserPoolMfaConfigper configurare MFA e abilitare. TOTP MFA

Nota

Se non hai attivato il token TOTP software MFA per il pool di utenti, Amazon Cognito non può utilizzare il token per associare o verificare gli utenti. In questo caso, gli utenti ricevono un'eccezione SoftwareTokenMFANotFoundException con la descrizione Software Token MFA has not been enabled by the userPool. Se disattivi il token software MFA per il pool di utenti in un secondo momento, gli utenti che hanno precedentemente associato e verificato un TOTP token possono continuare a utilizzarlo. MFA

La configurazione TOTP per l'utente è un processo in più fasi in cui l'utente riceve un codice segreto che convalida inserendo una password monouso. Successivamente, puoi abilitarlo TOTP MFA per il tuo utente o impostarlo TOTP come MFA metodo preferito per il tuo utente.

Quando configuri il tuo pool di utenti in modo che richieda TOTP MFA e gli utenti si iscrivono alla tua app nell'interfaccia utente ospitata, Amazon Cognito automatizza il processo utente. Amazon Cognito richiede all'utente di scegliere un MFA metodo, visualizza un codice QR per configurare l'app di autenticazione e verifica la registrazione. MFA Nei pool di utenti in cui hai consentito agli utenti di scegliere tra SMS e TOTPMFA, Amazon Cognito offre agli utenti anche una scelta di metodi. Per ulteriori informazioni sull'esperienza di registrazione all'interfaccia utente ospitata, consulta Come registrarsi per un nuovo profilo utente.

Importante

Quando hai un AWS WAF Web ACL associato a un pool di utenti e una regola nel tuo sito web ACL presenta unaCAPTCHA, ciò può causare un errore irreversibile nella registrazione dell'interfaccia utente ospitata. TOTP Per creare una regola che abbia un'CAPTCHAazione e non influisca sull'interfaccia utente TOTP ospitata, consulta. Configurazione del AWS WAF Web per l'interfaccia utente ospitata ACL TOTP MFA Per ulteriori informazioni sul AWS WAF web ACLs e Amazon Cognito, consulta. Associazione di un AWS WAF Web a un pool di utenti ACL

Per implementarlo TOTP MFA in un'interfaccia utente personalizzata in cui utilizzi Amazon Cognito API, consulta. Configurazione MFA per un utente nei pool di utenti di Amazon Cognito API

Per aggiungerlo MFA al tuo pool di utenti, consultaAggiunta MFA a un pool di utenti.

TOTPMFAconsiderazioni e limitazioni

  1. Amazon Cognito supporta i token software MFA tramite un'app di autenticazione che genera codici. TOTP Amazon Cognito non supporta sistemi basati su hardware. MFA

  2. Quando il pool di utenti richiede TOTP la presenza di un utente che non lo ha configurato, l'utente riceve un token di accesso monouso che l'app può utilizzare per attivarlo TOTP MFA per l'utente. I tentativi di accesso successivi falliscono finché l'utente non ha registrato un fattore di TOTP accesso aggiuntivo.

    • Un utente che si iscrive al tuo pool di utenti con l'SignUpAPIoperazione o tramite l'interfaccia utente ospitata riceve token monouso quando completa la registrazione.

    • Una volta che hai creato un utente e che l'utente ha impostato la password iniziale, Amazon Cognito emette token monouso per l'utente dall'interfaccia utente ospitata. Se imposti una password permanente per l'utente, Amazon Cognito emette token monouso quando l'utente accede per la prima volta.

    • Amazon Cognito non rilascia token monouso a un utente creato dall'amministratore che accede con le operazioni o. InitiateAuthAdminInitiateAuthAPI Dopo che l'utente ha superato la sfida di impostazione della password iniziale o se hai impostato una password permanente per l'utente, Amazon Cognito lo invita immediatamente a configurare. MFA

  3. Se un utente in un pool di utenti che lo richiede MFA ha già ricevuto un token di accesso monouso ma non è stato configurato TOTPMFA, non può accedere con l'interfaccia utente ospitata finché non ha effettuato la configurazione. MFA Invece del token di accesso, puoi utilizzare il valore di session risposta di una MFA_SETUP sfida InitiateAutho contenuto AdminInitiateAuthin una AssociateSoftwareTokenrichiesta.

  4. Se gli utenti lo hanno configuratoTOTP, possono utilizzarlo per farloMFA, anche se in un secondo momento si disattiva l'TOTPaccesso al pool di utenti.

  5. Amazon Cognito accetta solo app TOTPs di autenticazione che generano codici con la HMAC funzione - hash. SHA1 I codici generati con l'hashing SHA -256 restituiscono un errore. Code mismatch

Configurazione MFA per un utente nei pool di utenti di Amazon Cognito API

Quando un utente accede per la prima volta, l'app utilizza il token di accesso monouso per generare la chiave TOTP privata e presentarla all'utente in formato testo o codice QR. L'utente configura la propria app di autenticazione e ne fornisce una TOTP per i successivi tentativi di accesso. La tua app o l'interfaccia utente ospitata le presentano TOTP ad Amazon Cognito nelle risposte alle MFA sfide.

Associa il token TOTP software

Per associare il TOTP token, invia all'utente un codice segreto che deve convalidare con una password monouso. Per l'associazione del token sono necessari tre passaggi.

  1. Quando l'utente sceglie il token TOTP softwareMFA, chiama AssociateSoftwareTokenper restituire un codice di chiave segreta condiviso generato in modo univoco per l'account utente. Puoi autorizzare AssociateSoftwareToken con un token di accesso o una stringa di sessione.

  2. La tua app presenta all'utente la chiave privata o un codice QR generato dalla chiave privata. L'utente deve inserire la chiave in un'app TOTP generatrice come Google Authenticator. È possibile utilizzare libqrencode per generare un codice QR.

  3. L'utente inserisce la chiave o scansiona il codice QR in un'app di autenticazione come Google Authenticator che inizia a generare codici.

Verifica il token TOTP

Quindi, verifica il TOTP token. Richiedi codici di esempio al tuo utente e forniscili al servizio Amazon Cognito per confermare che l'utente stia generando correttamente TOTP i codici, come segue.

  1. L'app richiede all'utente un codice per dimostrare di aver configurato correttamente l'app di autenticazione.

  2. L'app di autenticazione dell'utente mostra una password temporanea. L'app di autenticazione crea la password in base alla chiave segreta che hai fornito all'utente.

  3. L'utente inserisce la password temporanea. La tua app trasmette la password temporanea ad Amazon Cognito in una VerifySoftwareToken API richiesta.

  4. Amazon Cognito ha mantenuto la chiave segreta associata all'utente e ne genera una TOTP e la confronta con quella fornita dall'utente. Se corrispondono,VerifySoftwareToken restituisce una risposta SUCCESS.

  5. Amazon Cognito associa il TOTP fattore all'utente.

  6. Se l'operazione VerifySoftwareToken restituisce una risposta ERROR, assicurati che il segnale di clock dell'utente sia corretto e che l'utente non abbia superato il numero massimo di tentativi. Amazon Cognito accetta TOTP token che si trovano entro 30 secondi prima o dopo il tentativo, per tenere conto di una lieve distorsione dell'orologio. Una volta risolto il problema, riprova a eseguire l' VerifySoftwareToken operazione.

Accedi con TOTP MFA

A questo punto, l'utente accede con la password una tantum a tempo. Il procedimento è riportato di seguito.

  1. L'utente inserisce il nome utente e la password per accedere all'app client.

  2. La TOTP MFA sfida viene richiamata e l'app richiede all'utente di inserire una password temporanea.

  3. L'utente ottiene la password temporanea da un'app di generazione associataTOTP.

  4. L'utente inserisce il TOTP codice nell'app client. L'app notifica al servizio Amazon Cognito di verificarlo. Per ogni accesso, RespondToAuthChallengedovresti essere chiamato per ottenere una risposta alla nuova sfida di TOTP autenticazione.

  5. Se il token è verificato da Amazon Cognito, l'accesso viene completato correttamente e l'utente procede nel flusso di autenticazione.

Rimuovi il token TOTP

Infine, l'app dovrebbe consentire all'utente di disattivare la TOTP configurazione. Al momento, non è possibile eliminare il token TOTP software di un utente. Per sostituire il token di software dell'utente, associa e verifica un nuovo token di software. Per disattivarlo TOTP MFA per un utente, chiama SetUserMFAPreferenceper modificare il tuo utente in modo che utilizzi no MFA o only SMSMFA.

  1. Crea un'interfaccia nella tua app per gli utenti che desiderano MFA reimpostarla. Richiedi a un utente in questa interfaccia di inserire la password.

  2. Se Amazon Cognito restituisce una TOTP MFA sfida, aggiorna le MFA preferenze dell'utente con. SetUserMFAPreference

  3. Nella tua app, comunica all'utente che l'operazione è stata disattivata MFA e chiedigli di accedere nuovamente.

Configurazione del AWS WAF Web per l'interfaccia utente ospitata ACL TOTP MFA

Quando hai un AWS WAF Web ACL associato a un pool di utenti e una regola del tuo sito web ACL presenta unCAPTCHA, ciò può causare un errore irreversibile nella registrazione dell'interfaccia utente ospitata. TOTP AWS WAF CAPTCHAle regole influiscono solo TOTP MFA in questo modo sull'interfaccia utente ospitata. SMSMFAè inalterato.

Amazon Cognito visualizza il seguente errore quando la CAPTCHA regola non consente a un utente di completare TOTP MFA la configurazione.

Richiesta non consentita a causa del WAF captcha.

Questo errore si verifica quando AWS WAF viene richiesto un messaggio CAPTCHA in risposta alle AssociateSoftwareTokenVerifySoftwareTokenAPIrichieste formulate dal pool di utenti in background. Per creare una regola che abbia un'CAPTCHAazione e non influisca sull'interfaccia utente ospitataTOTP, escludi i valori di x-amzn-cognito-operation-name intestazione di AssociateSoftwareToken e VerifySoftwareToken dall'CAPTCHAazione nella regola.

La schermata seguente mostra una AWS WAF regola di esempio che applica un'CAPTCHAazione a tutte le richieste che non hanno un valore di x-amzn-cognito-operation-name intestazione pari a o. AssociateSoftwareToken VerifySoftwareToken

Uno screenshot di una AWS WAF regola che applica un'CAPTCHAazione a tutte le richieste che non hanno un valore di x-amzn-cognito-operation-name intestazione pari a o. AssociateSoftwareToken VerifySoftwareToken

Per ulteriori informazioni sul AWS WAF web ACLs e Amazon Cognito, consulta. Associazione di un AWS WAF Web a un pool di utenti ACL