Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Come posso attivare l'autenticazione a più fattori TOTP per pool di utenti Amazon Cognito?
Desidero attivare l'autenticazione a più fattori (MFA) per gli utenti della mia app. Desidero farlo con un token di password monouso basato sul tempo (TOTP) che utilizza i pool di utenti Amazon Cognito.
Breve descrizione
Per attivare l'autenticazione MFA con TOTP per gli utenti dell'app, configura l'autenticazione MFA con token di software TOTP per il tuo pool di utenti.
Importante: prima di configurare il token TOTP, rivedi i seguenti requisiti:
- È necessario aggiungere l'MFA al pool di utenti.
- I token TOTP non possono essere associati a un utente finché l'utente non tenta di accedere alla tua app o a meno che non sia già autenticato.
- L'autenticazione MFA non supporta gli utenti federati in un pool di utenti.
Di seguito è riportato un esempio di come configurare l'autenticazione MFA con TOTP utilizzando l'interfaccia della linea di comando AWS (AWS CLI) e Google Authenticator.
Risoluzione
Nota: se ricevi messaggi di errore quando esegui i comandi AWS CLI, consulta Risoluzione degli errori per AWS CLI. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.
-
Per avviare la configurazione del generatore di token MFA, esegui il seguente comando AWS CLI associate-software-token:
aws cognito-idp associate-software-token --access-token eyJraWQiO........ua5Pq3NaA { "SecretCode": "AETQ6XXMDFYMEPFQQ7FD4HKXXXXAOY3MBXIVRBLRXX3SXLSHHWOA" } -
Apri la homepage di Google Authenticator, quindi seleziona Inizia.
-
Seleziona Inserisci una chiave di configurazione.
-
Per Nome account, inserisci un nome account.
Nota: il nome dell'account può essere qualsiasi identificatore di stringa. -
Per l’inserimento di testo La tua chiave, copia e incolla il codice segreto generato dal comando AssociateSoftwareToken eseguito nel primo passaggio.
-
Scegli Tipo di chiave, quindi seleziona Basato sul tempo.
-
Conferma il token software che utilizza la password basata sull'ora che appare sullo schermo e nel codice seguente:
aws cognito-idp verify-software-token --access-token eyJraWQiO........ua5Pq3NaA --user-code 269194 --friendly-device-name ExampleName { "Status": "SUCCESS" } -
Per impostare la configurazione MFA dell'utente su TOTP MFA, esegui il comando AWS CLI set-user-mfa-preference o admin-set-user-mfa-preference:
Esempio di comando set-user-mfa-preferenceaws cognito-idp set-user-mfa-preference --software-token-mfa-settings Enabled=true,PreferredMfa=true --access-token eyJraWQiO........ua5Pq3NaANota: questo comando consente agli utenti di impostare la propria configurazione MFA.
Esempio di comando admin-set-user-mfa-preferenceaws cognito-idp admin-set-user-mfa-preference --software-token-mfa-settings Enabled=true,PreferredMfa=true --username ExampleName --user-pool-id us-east-1_123456789Nota: questo comando consente a un amministratore di impostare la configurazione MFA di un utente.
-
Per attivare il flusso ALLOW_ADMIN_USER_PASSWORD_AUTH per il client dell'app del pool di utenti, apri laconsole Amazon Cognito.
-
Seleziona Gestisci pool di utenti.
-
Seleziona il client di app e seleziona Mostra dettagli.
-
Seleziona Abilita l'autenticazione della password del nome utente per le API di amministrazione per l'autenticazione (ALLOW_ADMIN_USER_PASSWORD_AUTH).
-
Seleziona Salva le modifiche del client di app.
-
Per testare la configurazione, autentica l'utente con uno dei seguenti metodi:
L'Interfaccia utente ospitata da Amazon Cognito.
Le chiamate API InitiateAuth, AdminInitiateAuth o RespondToAuthChallenge.
Nota: per autenticare un utente con uno dei due metodi, è necessario disporre della password, del nome utente e del codice MFA del software dell'utente.
Esempio di comando admin-initiate-auth
aws cognito-idp admin-initiate-auth --user-pool-id us-east-1_123456789 --client-id 3n4b5urk1ft4fl3mg5e62d9ado --auth-flow ADMIN_USER_PASSWORD_AUTH --auth-parameters USERNAME=ExampleName,PASSWORD=P@ssw0rd
Nota: sostituisci le seguenti variabili con le tue informazioni: user-pool-id, client-id, username e password.
Esempio di output del comando admin-initiate-auth
{ "ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeParameters": { "FRIENDLY_DEVICE_NAME": "ExampleDevice", "USER_ID_FOR_SRP": "ExampleName" }, "Session": "Xxz6iadwuWJGN4Z7f4ul5p50IHUqITquoaNxxyDvep.......3A6GokZWKeQ6gkFW4Pgv" }
Esempio di comando admin-respond-to-auth-challenge
aws cognito-idp admin-respond-to-auth-challenge --user-pool-id us-east-1_123456789 --client-id 3n4b5urk1ft4fl3mg5e62d9ado --challenge-name SOFTWARE_TOKEN_MFA --challenge-responses USERNAME=ExampleName,SOFTWARE_TOKEN_MFA_CODE=123456 --session Xxz6iadwuWJGN4Z7f4ul5p50IHUqITquoaNxxyDvep.......3A6GokZWKeQ6gkFW4Pgv
Nota: sostituisci le seguenti variabili con le tue informazioni: client-id, username e software_token_MFA_Code.
Esempio di output del comando admin-respond-to-auth-challenge
{ "AuthenticationResult": { "ExpiresIn": 3600, "RefreshToken": "eyJjdHkiOiJKV1QiLCJlbmMi.......dlbjrtyizlLzZZ5fjjCgL__AVHEzYycjJs_h3i-ly_KixDNtz9VEC", "TokenType": "Bearer", "NewDeviceMetadata": { "DeviceKey": "us-east-1_28abrd7-10f7-9fc6-a931-3ede1c8ckd75", "DeviceGroupKey": "-Gqkj3brS" }, "IdToken": "eyJraWQiOiIzcFFSV29Pb........mNMbE_vvPkQYBuA9ackoER1aSABFGaKK4BpgPjMn7la_A", "AccessToken": "eyJraWQiOi...........qwvQq4awt63TyWw" }, "ChallengeParameters": {} }
Informazioni correlate
- Argomenti
- Security, Identity, & Compliance
- Lingua
- Italiano
Video correlati

