Seleziona le tue preferenze relative ai cookie

Utilizziamo cookie essenziali e strumenti simili necessari per fornire il nostro sito e i nostri servizi. Utilizziamo i cookie prestazionali per raccogliere statistiche anonime in modo da poter capire come i clienti utilizzano il nostro sito e apportare miglioramenti. I cookie essenziali non possono essere disattivati, ma puoi fare clic su \"Personalizza\" o \"Rifiuta\" per rifiutare i cookie prestazionali.

Se sei d'accordo, AWS e le terze parti approvate utilizzeranno i cookie anche per fornire utili funzionalità del sito, ricordare le tue preferenze e visualizzare contenuti pertinenti, inclusa la pubblicità pertinente. Per continuare senza accettare questi cookie, fai clic su \"Continua\" o \"Rifiuta\". Per effettuare scelte più dettagliate o saperne di più, fai clic su \"Personalizza\".

Autenticazione con pool di utenti Amazon Cognito

Modalità Focus
Autenticazione con pool di utenti Amazon Cognito - 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à.

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à.

Amazon Cognito include diversi metodi per autenticare gli utenti. Tutti i pool di utenti, a prescindere che si disponga di un dominio, possono autenticare gli utenti nell'API dei pool di utenti. Se aggiungi un dominio al pool di utenti, puoi utilizzare gli endpoint del pool di utenti. L'API dei pool di utenti supporta una vasta gamma di modelli di autorizzazione e flussi di richiesta per le richieste API.

Per verificare l'identità degli utenti, Amazon Cognito supporta flussi di autenticazione che incorporano tipi di sfida oltre a password come e-mail e SMS, password monouso e passkey.

Implementa flussi di autenticazione

Che tu stia implementando l'accesso gestito o un front-end applicativo personalizzato con un AWS SDK per l'autenticazione, devi configurare il client dell'app per i tipi di autenticazione che desideri implementare. Le seguenti informazioni descrivono la configurazione dei flussi di autenticazione nei client dell'app e nell'applicazione.

App client supported flows

Puoi configurare i flussi supportati per i client delle tue app nella console Amazon Cognito o con l'API in un AWS SDK. Dopo aver configurato il client dell'app per supportare questi flussi, puoi distribuirli nell'applicazione.

La procedura seguente configura i flussi di autenticazione disponibili per un client di app con la console Amazon Cognito.

Per configurare un client di app per i flussi di autenticazione (console)
  1. Accedi AWS e accedi alla console dei pool di utenti di Amazon Cognito. Scegli un pool di utenti o creane uno nuovo.

  2. Nella configurazione del pool di utenti, seleziona il menu App clients. Scegli un client per l'app o creane uno nuovo.

  3. In Informazioni sul client dell'app, seleziona Modifica.

  4. In Flussi client dell'app, scegli i flussi di autenticazione che desideri supportare.

Per configurare un client di app per i flussi di autenticazione (API/SDK)

Per configurare i flussi di autenticazione disponibili per un client di app con l'API Amazon Cognito, imposta il valore di ExplicitAuthFlows in a CreateUserPoolClientor UpdateUserPoolClientrequest. Di seguito è riportato un esempio che fornisce una password remota sicura (SRP) e l'autenticazione basata sulla scelta a un client.

"ExplicitAuthFlows": [ "ALLOW_USER_AUTH", "ALLOW_USER_SRP_AUTH ]

Quando configuri i flussi supportati dal client dell'app, puoi specificare le seguenti opzioni e valori API.

Supporto per il flusso dei client dell'app
Flusso di autenticazione Compatibilità Console API
Autenticazione basata sulla scelta Lato server, lato client Seleziona un tipo di autenticazione al momento dell'accesso ALLOW_USER_AUTH
Accedi con password persistenti Lato client Accedi con nome utente e password ALLOW_USER_PASSWORD_AUTH
Accedi con password persistenti e payload sicuro Lato server, lato client Accedi con una password remota sicura (SRP) ALLOW_USER_SRP_AUTH
Aggiorna i token Lato server, lato client Ottieni nuovi token utente dalle sessioni autenticate esistenti ALLOW_REFRESH_TOKEN_AUTH
Autenticazione lato server Lato server Accedi con credenziali amministrative lato server ALLOW_ADMIN_USER_PASSWORD_AUTH
Autenticazione personalizzata Applicazioni personalizzate lato server e lato client. Non compatibile con l'accesso gestito. Accedi con flussi di autenticazione personalizzati dai trigger Lambda ALLOW_CUSTOM_AUTH
Implement flows in your application

L'accesso gestito rende automaticamente disponibili le opzioni di autenticazione configurate nelle pagine di segnalazione. Nelle applicazioni personalizzate, avvia l'autenticazione con una dichiarazione del flusso iniziale.

Quando effettui l'accesso degli utenti, il corpo della richiesta InitiateAutho della AdminInitiateAuthrichiesta deve includere un AuthFlow parametro.

Autenticazione basata sulla scelta:

"AuthFlow": "USER_AUTH"

Autenticazione basata su client con SRP:

"AuthFlow": "USER_SRP_AUTH"

Puoi configurare i flussi supportati per i client delle tue app nella console Amazon Cognito o con l'API in un AWS SDK. Dopo aver configurato il client dell'app per supportare questi flussi, puoi distribuirli nell'applicazione.

La procedura seguente configura i flussi di autenticazione disponibili per un client di app con la console Amazon Cognito.

Per configurare un client di app per i flussi di autenticazione (console)
  1. Accedi AWS e accedi alla console dei pool di utenti di Amazon Cognito. Scegli un pool di utenti o creane uno nuovo.

  2. Nella configurazione del pool di utenti, seleziona il menu App clients. Scegli un client per l'app o creane uno nuovo.

  3. In Informazioni sul client dell'app, seleziona Modifica.

  4. In Flussi client dell'app, scegli i flussi di autenticazione che desideri supportare.

Per configurare un client di app per i flussi di autenticazione (API/SDK)

Per configurare i flussi di autenticazione disponibili per un client di app con l'API Amazon Cognito, imposta il valore di ExplicitAuthFlows in a CreateUserPoolClientor UpdateUserPoolClientrequest. Di seguito è riportato un esempio che fornisce una password remota sicura (SRP) e l'autenticazione basata sulla scelta a un client.

"ExplicitAuthFlows": [ "ALLOW_USER_AUTH", "ALLOW_USER_SRP_AUTH ]

Quando configuri i flussi supportati dal client dell'app, puoi specificare le seguenti opzioni e valori API.

Supporto per il flusso dei client dell'app
Flusso di autenticazione Compatibilità Console API
Autenticazione basata sulla scelta Lato server, lato client Seleziona un tipo di autenticazione al momento dell'accesso ALLOW_USER_AUTH
Accedi con password persistenti Lato client Accedi con nome utente e password ALLOW_USER_PASSWORD_AUTH
Accedi con password persistenti e payload sicuro Lato server, lato client Accedi con una password remota sicura (SRP) ALLOW_USER_SRP_AUTH
Aggiorna i token Lato server, lato client Ottieni nuovi token utente dalle sessioni autenticate esistenti ALLOW_REFRESH_TOKEN_AUTH
Autenticazione lato server Lato server Accedi con credenziali amministrative lato server ALLOW_ADMIN_USER_PASSWORD_AUTH
Autenticazione personalizzata Applicazioni personalizzate lato server e lato client. Non compatibile con l'accesso gestito. Accedi con flussi di autenticazione personalizzati dai trigger Lambda ALLOW_CUSTOM_AUTH

Cose da sapere sull'autenticazione con pool di utenti

Prendi in considerazione le seguenti informazioni nella progettazione del tuo modello di autenticazione con i pool di utenti di Amazon Cognito.

Flussi di autenticazione nell'accesso gestito e nell'interfaccia utente ospitata

L'accesso gestito e l'interfaccia utente ospitata classica offrono diverse opzioni di autenticazione. È possibile eseguire l'autenticazione senza password e con chiave di accesso solo nell'accesso gestito.

I flussi di autenticazione personalizzati sono disponibili solo nell'autenticazione SDK AWS

Non puoi eseguire flussi di autenticazione personalizzati o autenticazioni personalizzate con trigger Lambda, con l'accesso gestito o la classica interfaccia utente ospitata. L'autenticazione personalizzata è disponibile nell'autenticazione con. AWS SDKs

Accesso gestito per l'accesso con provider di identità esterno (IdP)

Non puoi far accedere gli utenti tramite l'autenticazione di terze parti IdPs con. AWS SDKs È necessario implementare l'accesso gestito o la classica interfaccia utente ospitata, reindirizzare IdPs e quindi elaborare l'oggetto di autenticazione risultante con le librerie OIDC nell'applicazione. Per ulteriori informazioni sull'accesso gestito, vedere. Accesso gestito dal pool di utenti

Effetto dell'autenticazione senza password su altre funzionalità utente

L'attivazione dell'accesso senza password con password o passkey monouso nel pool di utenti e nel client dell'app ha un effetto sulla creazione e sulla migrazione degli utenti. Quando l'accesso senza password è attivo:

  1. Gli amministratori possono creare utenti senza password. Il modello di messaggio di invito predefinito viene modificato e non include più il segnaposto per la {###} password. Per ulteriori informazioni, consulta Creazione di account utente come amministratore.

  2. Per SignUple operazioni basate su SDK, gli utenti non sono tenuti a fornire una password al momento della registrazione. L'accesso gestito e l'interfaccia utente ospitata richiedono una password nella pagina di registrazione, anche se è consentita l'autenticazione senza password. Per ulteriori informazioni, consulta Registrazione e conferma degli account utente.

  3. Gli utenti importati da un file CSV possono accedere immediatamente con opzioni senza password, senza reimpostare la password, se i loro attributi includono un indirizzo e-mail o un numero di telefono per un'opzione di accesso senza password disponibile. Per ulteriori informazioni, consulta Importazione di utenti nel bacino d'utenza da un file CSV.

  4. L'autenticazione senza password non richiama il trigger Lambda per la migrazione degli utenti.

  5. Gli utenti che accedono con un primo fattore senza password non possono aggiungere un fattore di autenticazione a più fattori (MFA) alla loro sessione. Solo i flussi di autenticazione basati su password supportano l'MFA.

La parte che si basa sulla chiave di accesso non URLs può essere inclusa nell'elenco pubblico dei suffissi

Puoi usare nomi di dominio di tua proprietà, ad esempiowww.example.com, come ID relying party (RP) nella configurazione della tua passkey. Questa configurazione è pensata per supportare applicazioni personalizzate che vengono eseguite su domini di tua proprietà. L'elenco dei suffissi pubblici, o PSL, contiene domini di alto livello protetti. Amazon Cognito restituisce un errore quando tenti di impostare l'URL RP su un dominio su PSL.

Durata del flusso della sessione di autenticazione

A seconda delle funzionalità del tuo pool di utenti, puoi finire per rispondere a diverse sfide RespondToAuthChallenge prima InitiateAuth e prima che l'app recuperi i token da Amazon Cognito. Amazon Cognito include una stringa di sessione nella risposta a ciascuna richiesta. Per combinare le richieste API in un flusso di autenticazione, includere la stringa di sessione della risposta alla richiesta precedente in ogni richiesta successiva. Per impostazione predefinita, gli utenti hanno a disposizione tre minuti per completare ogni verifica prima della scadenza della stringa della sessione. Per modificare questo periodo, modificare il client dell'app Authentication flow session duration (Durata della sessione del flusso di autenticazione). La procedura seguente descrive come modificare questa impostazione nella configurazione del client dell'app.

Nota

Le impostazioni Durata della sessione del flusso di autenticazione si applicano all'autenticazione con l'API dei pool di utenti Amazon Cognito. L'accesso gestito imposta la durata della sessione a 3 minuti per l'autenticazione a più fattori e a 8 minuti per i codici di reimpostazione della password.

Amazon Cognito console
Configurare la durata della sessione del flusso di autenticazione dell'app client (AWS Management Console)
  1. Nella scheda App integration (Integrazione app) del pool di utenti, seleziona il nome del client dell'app nel container App clients and analytics (Client di app e analisi dei dati).

  2. Scegli Modifica nel container Informazioni sul client dell'app.

  3. Cambia il valore dell'opzione Authentication flow session duration (Durata della sessione del flusso di autenticazione) impostando la durata di validità desiderata, espressa in minuti, per i codici dell'autenticazione MFA con SMS. Ciò modifica anche il tempo che ogni utente ha a disposizione per completare qualsiasi richiesta di autenticazione nel client dell'app.

  4. Scegli Save changes (Salva modifiche).

User pools API
Configurare la durata della sessione del flusso di autenticazione del client dell'app (API Amazon Cognito)
  1. Prepara una richiesta UpdateUserPoolClient con le impostazioni di un pool di utenti esistente in base a una richiesta DescribeUserPoolClient. La richiesta UpdateUserPoolClient deve includere tutte le proprietà client dell'app esistenti.

  2. Cambia il valore del parametro AuthSessionValidity impostando la durata di validità desiderata, espressa in minuti, per i codici dell'autenticazione MFA con SMS. Ciò modifica anche il tempo che ogni utente ha a disposizione per completare qualsiasi richiesta di autenticazione nel client dell'app.

Configurare la durata della sessione del flusso di autenticazione dell'app client (AWS Management Console)
  1. Nella scheda App integration (Integrazione app) del pool di utenti, seleziona il nome del client dell'app nel container App clients and analytics (Client di app e analisi dei dati).

  2. Scegli Modifica nel container Informazioni sul client dell'app.

  3. Cambia il valore dell'opzione Authentication flow session duration (Durata della sessione del flusso di autenticazione) impostando la durata di validità desiderata, espressa in minuti, per i codici dell'autenticazione MFA con SMS. Ciò modifica anche il tempo che ogni utente ha a disposizione per completare qualsiasi richiesta di autenticazione nel client dell'app.

  4. Scegli Save changes (Salva modifiche).

Per ulteriori informazioni sui client di app, consulta Impostazioni specifiche dell'applicazione con client di app.

Comportamento di blocco in caso di tentativi di accesso non riusciti

Dopo cinque tentativi di accesso non autenticato o autenticato mediante IAM non riusciti, Amazon Cognito blocca l'utente per un secondo. La durata del blocco quindi raddoppia dopo ogni ulteriore tentativo non riuscito, fino a un massimo di circa 15 minuti. I tentativi effettuati durante un periodo di blocco generano un'eccezione Password attempts exceeded e non influiscono sulla durata dei periodi di blocco successivi. Per un numero cumulativo di tentativi di accesso non riusciti n, ad esclusione delle eccezioni Password attempts exceeded, Amazon Cognito blocca l'utente per 2^(n-5) secondi. Per ripristinare lo stato iniziale n=0 del blocco, l'utente deve effettuare un accesso riuscito dopo la scadenza del periodo di blocco oppure non deve iniziare alcun tentativo di accesso per 15 minuti consecutivi in qualsiasi momento dopo il blocco. Questo comportamento è soggetto a modifiche. Questo comportamento non si applica alle sfide personalizzate a meno che non eseguano anche l'autenticazione basata su password.

Un esempio di sessione di autenticazione

Il diagramma e la step-by-step guida seguenti illustrano uno scenario tipico in cui un utente accede a un'applicazione. L'applicazione di esempio presenta a un utente diverse opzioni di accesso. Ne selezionano una inserendo le proprie credenziali, forniscono un fattore di autenticazione aggiuntivo e accedono.

Un diagramma di flusso che mostra un'applicazione che richiede un input all'utente e lo accede con un SDK. AWS

Immagina un'applicazione con una pagina di accesso in cui gli utenti possono accedere con nome utente e password, richiedere un codice monouso in un messaggio e-mail o scegliere un'opzione di impronta digitale.

  1. Richiesta di accesso: l'applicazione mostra una schermata iniziale con un pulsante di accesso.

  2. Richiedi l'accesso: l'utente seleziona Accedi. Da un cookie o da una cache, l'applicazione recupera il nome utente o chiede loro di inserirlo.

  3. Opzioni di richiesta: l'applicazione richiede le opzioni di accesso dell'utente con una richiesta InitiateAuth API con il USER_AUTH flusso, richiedendo i metodi di accesso disponibili per l'utente.

  4. Invia opzioni di accesso: Amazon Cognito risponde PASSWORD conEMAIL_OTP, e. WEB_AUTHN La risposta include un identificatore di sessione da riprodurre nella risposta successiva.

  5. Opzioni di visualizzazione: l'applicazione mostra gli elementi dell'interfaccia utente che consentono all'utente di inserire nome utente e password, ottenere un codice monouso o scansionare l'impronta digitale.

  6. Scegli l'opzione/Inserisci le credenziali: l'utente inserisce nome utente e password.

  7. Avvia l'autenticazione: l'applicazione fornisce le informazioni di accesso dell'utente con una richiesta RespondToAuthChallenge API che conferma l'accesso con nome utente e password e fornisce il nome utente e la password.

  8. Convalida delle credenziali: Amazon Cognito conferma le credenziali dell'utente.

  9. Sfida aggiuntiva: l'utente dispone di un'autenticazione a più fattori configurata con un'app di autenticazione. Amazon Cognito restituisce una SOFTWARE_TOKEN_MFA sfida.

  10. Richiesta di sfida: l'applicazione visualizza un modulo che richiede una password monouso (TOTP) basata sul tempo dall'app di autenticazione dell'utente.

  11. Sfida di risposta: l'utente invia il TOTP.

  12. Rispondi alla sfida: in un'altra RespondToAuthChallenge richiesta, l'applicazione fornisce il TOTP dell'utente.

  13. Convalida la risposta alla sfida: Amazon Cognito conferma il codice dell'utente e determina che il pool di utenti è configurato per non inviare ulteriori sfide all'utente corrente.

  14. Emissione di token: Amazon Cognito restituisce ID, accede e aggiorna i token web JSON (). JWTs L'autenticazione iniziale dell'utente è completa.

  15. Archivia token: l'applicazione memorizza nella cache i token dell'utente in modo che possa fare riferimento ai dati dell'utente, autorizzare l'accesso alle risorse e aggiornare i token quando scadono.

  16. Esegui il rendering dei contenuti autorizzati: l'applicazione determina l'accesso dell'utente alle risorse in base alla sua identità e ai suoi ruoli e fornisce il contenuto dell'applicazione.

  17. Accesso ai contenuti: l'utente ha effettuato l'accesso e inizia a utilizzare l'applicazione.

  18. Richiedi contenuti con token scaduto: Successivamente, l'utente richiede una risorsa che richiede l'autorizzazione. Il token memorizzato nella cache dell'utente è scaduto.

  19. Token di aggiornamento: l'applicazione effettua una InitiateAuth richiesta con il token di aggiornamento salvato dall'utente.

  20. Emissione di token: Amazon Cognito restituisce un nuovo ID e un nuovo accesso. JWTs La sessione dell'utente viene aggiornata in modo sicuro senza ulteriori richieste di credenziali.

È possibile utilizzare i AWS Lambda trigger per personalizzare il modo in cui gli utenti effettuano l'autenticazione. Questi trigger generano e verificano le proprie richieste come parte del flusso di autenticazione.

Inoltre puoi utilizzare il flusso di autenticazione amministratore per server back-end protetti. Puoi utilizzare il flusso di autenticazione della migrazione degli utenti per rendere possibile la migrazione degli utenti senza richiedere agli utenti di reimpostare le proprie password.

PrivacyCondizioni del sitoPreferenze cookie
© 2025, Amazon Web Services, Inc. o società affiliate. Tutti i diritti riservati.