Utilizzo dell'autenticazione adattiva - 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à.

Utilizzo dell'autenticazione adattiva

Con l'autenticazione adattiva, puoi configurare il bacino d'utenza in modo da bloccare i tentativi di accesso sospetti o aggiungere l'autenticazione tramite secondo fattore in risposta all'aumento del livello di rischio. Per ogni tentativo di accesso, Amazon Cognito genera un punteggio di rischio che indica la probabilità che la richiesta di accesso provenga da un'origine compromessa. Il punteggio di rischio si basa su fattori che includono le informazioni sul dispositivo e sull'utente. L'autenticazione adattiva può attivare o richiedere l'autenticazione a più fattori (MFA) per un utente del pool di utenti quando Amazon Cognito rileva un rischio nella sessione di un utente che non ha ancora scelto un metodo MFA. Quando attivi l'autenticazione MFA, l'utente riceve sempre la richiesta di fornire o impostare un secondo fattore durante l'autenticazione, indipendentemente da come è stata configurata l'autenticazione adattiva. Dal punto di vista dell'utente, l'app offre le indicazioni per configurare l'autenticazione MFA e, facoltativamente, Amazon Cognito gli impedisce di accedere nuovamente fino a quando non configura un fattore aggiuntivo.

Amazon Cognito pubblica su Amazon i tentativi di accesso, i relativi livelli di rischio e le sfide non riuscite. CloudWatch Per ulteriori informazioni, consulta Visualizzazione dei parametri di sicurezza avanzata.

Per aggiungere l'autenticazione adattiva al bacino d'utenza, consulta Aggiunta di sicurezza avanzata a un bacino d'utenza.

Panoramica dell'autenticazione adattiva

Dalla scheda Sicurezza avanzata nella console Amazon Cognito, puoi scegliere le impostazioni per l'autenticazione adattiva, incluse le azioni da intraprendere a diversi livelli di rischio e la personalizzazione dei messaggi di notifica agli utenti. Puoi assegnare una configurazione di sicurezza avanzata globale a tutti i client dell'app e applicare una configurazione a livello di client ai singoli client dell'app.

L'autenticazione adattiva di Amazon Cognito assegna uno dei seguenti livelli di rischio a ciascuna sessione utente: AltoMedioBasso o Nessun rischio.

Valuta con attenzione le opzioni disponibili quando modifichi il valore di Enforcement method (Metodo di applicazione) da Audit-only (Solo verifica) a Full-function (Funzione completa). Le risposte automatiche che applichi ai livelli di rischio influiscono sul livello di rischio che Amazon Cognito assegna alle sessioni utente successive che presentano le stesse caratteristiche. Ad esempio, dopo aver scelto di non intraprendere alcuna azione, o Allow (Consentire), le sessioni utente che Amazon Cognito inizialmente ha definito ad alto rischio, le successive sessioni simili vengono considerate da Amazon Cognito a basso rischio.

Per ogni livello di rischio, puoi scegliere tra le seguenti opzioni:

Opzione

Azione

Consenti Gli utenti possono accedere senza un ulteriore fattore.
MFA facoltativa Gli utenti per i quali è configurata l'autenticazione con un secondo fattore, devono completare una seconda sfida per poter accedere. I secondi fattori disponibili sono la verifica tramite SMS e token di software TOTP. Gli utenti senza un secondo fattore configurato possono accedere con un solo set di credenziali.
Richiedi MFA Gli utenti per i quali è configurata l'autenticazione con un secondo fattore, devono completare una seconda sfida per poter accedere. Amazon Cognito blocca l'accesso agli utenti che non hanno un secondo fattore configurato.
Blocco Amazon Cognito blocca tutti i tentativi di accesso al livello di rischio designato.
Nota

Non è necessario verificare i numeri di telefono da utilizzare per la ricezione di SMS come secondo fattore di autenticazione.

Aggiunta di dati di dispositivo e sessione utente alle richieste API

Puoi raccogliere e trasferire informazioni sulla sessione utente alla funzionalità di sicurezza avanzata di Amazon Cognito quando utilizzi l'API per effettuare la registrazione, l'accesso e la reimpostazione della password. Queste informazioni includono l'indirizzo IP dell'utente e un identificatore univoco del dispositivo.

Potrebbe essere presente un dispositivo di rete intermedio tra gli utenti e Amazon Cognito, ad esempio un servizio proxy o un server applicazioni. Puoi raccogliere i dati contestuali degli utenti e passarli ad Amazon Cognito in modo che l'autenticazione adattiva calcoli il rischio in base alle caratteristiche dell'endpoint utente, anziché al server o al proxy. Se l'app lato client chiama direttamente le operazioni dell'API Amazon Cognito, l'autenticazione adattiva registra automaticamente l'indirizzo IP di origine. Tuttavia, non registra altre informazioni sul dispositivo, ad esempio user-agent, a meno che non venga acquisita anche un'impronta del dispositivo.

Genera questi dati con la libreria di raccolta dati contestuali di Amazon Cognito e inviali alla sicurezza avanzata di Amazon Cognito con ContextDatai parametri and. UserContextData La libreria di raccolta dei dati contestuali è inclusa negli AWS SDK. Per maggiori informazioni, consulta Integrazione di Amazon Cognito con le app Web e per dispositivi mobili. È possibile passare ContextData se hai attivato le funzionalità di sicurezza avanzate nel pool di utenti. Per ulteriori informazioni, consulta Configurazione delle caratteristiche di sicurezza avanzata.

Quando si chiamano le seguenti operazioni API autenticate di Amazon Cognito dal server applicazioni, viene passato l'IP del dispositivo dell'utente nel parametro ContextData. Inoltre, passa il nome e il percorso del server, nonché i dati relativi all'impronta del dispositivo.

Quando chiami le operazioni API non autenticate di Amazon Cognito, puoi passare UserContextData alle funzionalità di sicurezza avanzata di Amazon Cognito. Questi dati includono un'impronta del dispositivo nel parametro EncodedData. Puoi anche passare un parametro IpAddress in UserContextData se vengono soddisfatte le seguenti condizioni:

L'app può popolare il parametro UserContextData con dati di impronte del dispositivo codificati e l'indirizzo IP del dispositivo dell'utente nelle seguenti operazioni API non autenticate di Amazon Cognito.

Accettazione di dati utente contestuali aggiuntivi (AWS Management Console)

Il pool di utenti accetta un indirizzo IP nel parametro UserContextData dopo aver attivato la funzionalità Accept additional user context data (Accetta dati utente contestuali aggiuntivi). Non è necessario attivare questa funzionalità se:

  • I tuoi utenti accedono solo con operazioni API autenticate come AdminInitiateAuth , e tu usi il ContextData parametro.

  • Vuoi che le operazioni API non autenticate inviino un'impronta del dispositivo, ma non un indirizzo IP, alle funzionalità di sicurezza avanzata di Amazon Cognito.

Aggiorna il client dell'app come indicato di seguito nella console Amazon Cognito per aggiungere il supporto per ulteriori dati utente contestuali.

  1. Accedi alla console Amazon Cognito.

  2. Nel riquadro di navigazione, scegli Manage your User Pools (Gestisci i tuoi bacini d'utenza) e scegli i bacini d'utenza che intendi modificare.

  3. Scegli la scheda App integration (Integrazione app).

  4. In App clients and analytics (Client di app e analisi dei dati), scegli o crea un client dell'app. Per ulteriori informazioni, consulta Configurazione di un client dell'app per un pool di utenti.

  5. Scegli Edit (Modifica) nel container App client information (Informazioni sul client dell'app).

  6. Nell'area Advanced authentication settings (Impostazioni di autenticazione avanzate) per il client dell'app, scegli Accept additional user context data (Accetta dati utente contestuali aggiuntivi).

  7. Seleziona Salvataggio delle modifiche.

Per configurare il client dell'app in modo che accetti i dati contestuali dell'utente nell'API Amazon Cognito, imposta su EnablePropagateAdditionalUserContextData true in una richiesta CreateUserPoolClientor UpdateUserPoolClient. Per informazioni sull'attivazione della sicurezza avanzata dall'applicazione Web o dai dispositivi mobili, consulta Attivazione della sicurezza avanzata del pool di utenti dall'app. Quando l'app chiama Amazon Cognito dal server, raccogli i dati di contesto degli utenti dal lato client. Di seguito è riportato un esempio che utilizza il metodo JavaScript SDK. getData

var EncodedData = AmazonCognitoAdvancedSecurityData.getData(username, userPoolId, clientId);

Quando progetti la tua app per utilizzare l'autenticazione adattiva, ti consigliamo di integrare l'ultimo SDK Amazon Cognito nell'app. L'ultima versione dell'SDK raccoglie informazioni di impronta digitale del dispositivo come ID, modello e fuso orario del dispositivo. Per ulteriori informazioni sugli SDK di Amazon Cognito, consulta Installazione di un SDK del bacino d'utenza. La funzionalità di sicurezza avanzata di Amazon Cognito salva e assegna un punteggio di rischio solo agli eventi inviati dall'app nel formato corretto. Se Amazon Cognito restituisce una risposta di errore, controlla che la richiesta includa un hash segreto valido e che il parametro IPaddress sia un indirizzo IPv4 o IPv6 valido.

Risorse ContextData e UserContextData

Visualizzazione della cronologia eventi dell'utente

Nota

Nella nuova console di Amazon Cognito, puoi visualizzare la cronologia degli eventi dell'utente nella scheda Users (Utenti).

Per consultare la cronologia degli accessi di un utente, puoi scegliere l'utente nella scheda Users (Utenti) della console Amazon Cognito. Amazon Cognito mantiene la cronologia eventi dell'utente per due anni.

Cronologia eventi dell'utente

Ogni evento di accesso ha un ID evento. L'evento contiene anche dati di contesto corrispondenti, come la posizione, i dettagli del dispositivo e i risultati del rilevamento dei rischi. Puoi interrogare la cronologia degli eventi degli utenti con l'operazione dell'API Amazon Cognito AdminListUserAuthEventso con AWS Command Line Interface (AWS CLI) with admin-list-user-auth -events.

Puoi anche correlare l'ID evento con il token emesso da Amazon Cognito nel momento in cui ha registrato l'evento. Gli ID e i token di accesso includono questo ID evento nel payload. Amazon Cognito mette inoltre in correlazione l'utilizzo del token di aggiornamento con l'ID evento originale. Puoi tenere traccia dell'ID evento originale risalendo fino all'ID dell'evento di accesso che ha avuto come esito il rilascio dei token di Amazon Cognito. Puoi tracciare l'utilizzo di un token all'interno del sistema di autenticazione fino a un determinato evento di autenticazione. Per ulteriori informazioni, consulta Utilizzo di token con bacini d'utenza.

Fornitura del feedback sugli eventi

Il feedback sugli eventi influisce in tempo reale sulla valutazione dei rischi e migliora l'algoritmo di valutazione dei rischi nel corso del tempo. Puoi fornire un feedback sulla validità dei tentativi di accesso tramite la console Amazon Cognito e le operazioni delle API.

Nota

Il tuo feedback sugli eventi influisce sul livello di rischio che Amazon Cognito assegna alle sessioni utente successive con le stesse caratteristiche.

Nella console Amazon Cognito, scegli un utente dalla scheda Users (Utenti) e seleziona Provide event feedback (Fornisci un feedback sugli eventi). Puoi controllare i dettagli dell'evento e quindi scegliere Set as valid (Imposta come valido) o Set as invalid (Imposta come non valido).

La console elenca la cronologia degli accessi nella scheda Users and groups (Utenti e gruppi). Se selezioni una voce, puoi contrassegnare l'evento come valido o non valido. Puoi anche fornire feedback tramite l'operazione API del pool di utenti e AdminUpdateAuthEventFeedbackil AWS CLI comando admin-update-auth-event -feedback.

Quando nella console Amazon Cognito selezioni Set as valid (Imposta come valido) o nell'API fornisci il valore valid per FeedbackValue, indichi ad Amazon Cognito che la sessione utente che ha valutato con un certo livello di rischio è invece attendibile. Quando nella console Amazon Cognito selezioni Set as invalid (Imposta come non valido) o nell'API fornisci il valore invalid per FeedbackValue, indichi ad Amazon Cognito che la sessione utente non è attendibile o che non ha valutato un livello di rischio sufficientemente elevato.

Invio di messaggi di notifica

Grazie alla protezione della sicurezza avanzata, Amazon Cognito può inviare notifiche agli utenti riguardo ai tentativi di accesso rischioso. Amazon Cognito può anche chiedere agli utenti di selezionare un link per indicare se l'accesso è valido o non valido. Amazon Cognito utilizza questo feedback per migliorare l'accuratezza del rilevamento del rischio per il tuo bacino d'utenza

Nella sezione Automatic risk response (Risposta automatica al rischio) scegli Notify Users (Notifica agli utenti) per i casi di basso, medio e alto rischio.

Notifica agli utenti

Amazon Cognito invia le notifiche e-mail agli utenti a prescindere dalla verifica dell'indirizzo e-mail.

Puoi personalizzare i messaggi e-mail di notifica e fornire i messaggi nelle versioni in formato di testo normale e in formato HTML. Per personalizzare le notifiche e-mail, apri nella configurazione della sicurezza avanzata Email templates (Modelli di e-mail) da Adaptive authentication messages (Messaggi di autenticazione adattiva). Per ulteriori informazioni sui modelli di e-mail, consulta Modelli dei messaggi.