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à.
Che cos'è Amazon Cognito?
Amazon Cognito è una piattaforma di identità per app web e per dispositivi mobili. È una directory utente, un server di autenticazione e un servizio di autorizzazione per i token di accesso OAuth 2.0 e le credenziali AWS . Con Amazon Cognito, puoi autenticare e autorizzare gli utenti dalla directory utente integrata, dalla directory aziendale e dai provider di identità utente come Google e Facebook.
Argomenti
- Bacini d'utenza
- Pool di identità
- Caratteristiche di Amazon Cognito
- Confronto tra pool di utenti e pool di identità di Amazon Cognito
- Nozioni di base su Amazon Cognito
- Disponibilità regionale
- Prezzi di Amazon Cognito
- Come funziona l'autenticazione con i pool di utenti e i pool di identità di Amazon Cognito
- Termini di Amazon Cognito
- Utilizzo di questo servizio con un SDK AWS
- Iniziare con AWS
I due componenti che seguono costituiscono Amazon Cognito. Funzionano in maniera indipendente o in tandem, in base alle esigenze di accesso degli utenti.
Bacini d'utenza
![](images/user-pools-overview.png)
Crea un pool di utenti quando desideri autenticare e autorizzare gli utenti per l'app o l'API. I pool di utenti sono una directory di utenti con creazione, gestione e autenticazione degli utenti sia in modalità self-service che gestita dagli amministratori. Il pool di utenti può essere una directory indipendente e gestore dell'identità digitale OIDC e un provider di servizi intermedio (SP) per provider di terze parti di identità della forza lavoro e dei clienti. Puoi fornire il Single Sign-On (SSO) nella tua app per le identità della forza lavoro della tua organizzazione in SAML 2.0 e OIDC con pool di utenti. IdPs Puoi anche fornire l'SSO nella tua app per le identità dei clienti dell'organizzazione negli archivi di identità OAuth 2.0 Amazon, Google, Apple e Facebook. Per ulteriori informazioni sulla gestione dell'identità e degli accessi dei clienti (CIAM) consulta Cos'è CIAM?
I pool di utenti non richiedono l'integrazione con un pool di identità. Da un pool di utenti, puoi emettere token web JSON (JWT) autenticati direttamente in un'app, un server web o un'API.
Pool di identità
![](images/identity-pools-overview.png)
Configura un pool di identità Amazon Cognito quando desideri autorizzare utenti autenticati o anonimi ad accedere alle tue risorse. AWS Un pool di identità rilascia AWS le credenziali della tua app per fornire risorse agli utenti. Puoi autenticare gli utenti con un provider di identità attendibile, come un pool di utenti o un servizio SAML 2.0. Facoltativamente, puoi anche emettere credenziali per gli utenti guest. I pool di identità utilizzano il controllo degli accessi basato sui ruoli e sugli attributi per gestire l'autorizzazione degli utenti ad accedere alle risorse. AWS
I pool di utenti non richiedono l'integrazione con un pool di identità. Un pool di identità può accettare richieste autenticate direttamente dai provider di identità della forza lavoro e degli utenti.
Un pool di utenti e un pool di identità di Amazon Cognito utilizzati insieme
Nel diagramma all'inizio di questo argomento, Amazon Cognito viene utilizzato per autenticare l'utente e quindi concedere l'accesso a un Servizio AWS.
-
L'utente dell'app accede tramite un pool di utenti e riceve token OAuth 2.0.
-
La tua app scambia un token del pool di utenti con un pool di identità per AWS credenziali temporanee che puoi utilizzare con le API e (). AWS AWS Command Line Interface AWS CLI
-
L'app assegna la sessione delle credenziali all'utente e fornisce l'accesso autorizzato ad Servizi AWS Amazon S3 e Amazon DynamoDB.
Per ulteriori esempi che utilizzano pool di identità e pool di utenti, consulta Scenari comuni di Amazon Cognito.
In Amazon Cognito, l'obbligo della sicurezza del cloud del modello di responsabilità condivisa
Caratteristiche di Amazon Cognito
Bacini d'utenza
Un pool di utenti Amazon Cognito è una directory di utenti. Con un pool di utenti, gli utenti possono accedere all'app web o per dispositivi mobili tramite Amazon Cognito o eseguire la federazione tramite un IdP di terze parti. Gli utenti federati e locali hanno un profilo utente nel pool di utenti.
Gli utenti locali sono quelli che hanno effettuato al registrazione o che sono stati creati direttamente nel pool di utenti. Puoi gestire e personalizzare questi profili utente in AWS Management Console, un AWS SDK o (). AWS Command Line Interface AWS CLI
I pool di utenti di Amazon Cognito accettano token e asserzioni di terze parti IdPs e raccolgono gli attributi utente in un JWT che invia alla tua app. Puoi standardizzare la tua app su un set di JWT mentre Amazon Cognito gestisce le interazioni con IdPs, mappando le relative affermazioni su un formato di token centrale.
Un pool di utenti Amazon Cognito può essere un IdP autonomo. Amazon Cognito attinge dallo standard OpenID Connect (OIDC) per generare JWT per l'autenticazione e l'autorizzazione. Quando accedi agli utenti locali, il pool di utenti è autorevole per tali utenti. Quando esegui l'autenticazione degli utenti locali, hai accesso alle seguenti funzionalità.
-
Implementa il tuo front-end web che chiama l'API dei pool di utenti Amazon Cognito per autenticare, autorizzare e gestire gli utenti.
-
Configura l'autenticazione a più fattori (MFA) per gli utenti. Amazon Cognito supporta password monouso e l'autenticazione MFA con messaggio SMS.
-
Proteggi dall'accesso da account utente controllati da malintenzionati.
-
Crea i tuoi flussi di autenticazione a più fasi personalizzati.
-
Cerca gli utenti in un'altra directory ed esegui la migrazione ad Amazon Cognito.
Un pool di utenti di Amazon Cognito può anche svolgere un duplice ruolo di fornitore di servizi (SP) per la tua IdPs app e di IdP per la tua app. I pool di utenti di Amazon Cognito possono connettersi a consumatori IdPs come Facebook e Google o a forza lavoro IdPs come Okta e Active Directory Federation Services (ADFS).
Con i token OAuth 2.0 e OpenID Connect (OIDC) emessi da un pool di utenti Amazon Cognito, puoi
-
Accettare un ID token nell'app che autentica un utente e fornisce le informazioni necessarie per configurare il profilo dell'utente
-
Accettare un token di accesso nell'API con gli ambiti OIDC che autorizzano le chiamate API degli utenti.
-
Recupera AWS le credenziali da un pool di identità di Amazon Cognito.
Funzionalità | Descrizione |
---|---|
IdP OIDC | Emetti token ID per autenticare gli utenti |
Server di autorizzazione | Emetti token di accesso per autorizzare l'accesso degli utenti alle API |
SAML 2.0 SP | Trasforma le asserzioni SAML in ID e token di accesso |
OIDC SP | Trasforma i token OIDC in token ID e di accesso |
OAuth 2.0 SP | Trasforma i token ID di Apple, Facebook, Amazon o Google nel tuo ID e accedi ai token |
Servizio frontend di autenticazione | Registra, gestisci e autentica gli utenti con l'interfaccia utente ospitata |
Supporto API per la tua interfaccia utente | Crea, gestisci e autentica gli utenti tramite richieste API negli SDK supportati¹ AWS |
MFA | Usa messaggi SMS, TOTP o il dispositivo dell'utente come fattore di autenticazione aggiunto¹ |
Monitoraggio e risposta della sicurezza | Proteggiti da attività dannose e password non sicure¹ |
Personalizza i flussi di autenticazione | Crea il tuo meccanismo di autenticazione o aggiungi passaggi personalizzati ai flussi esistenti¹ |
Gruppi | Crea raggruppamenti logici di utenti e una gerarchia di richieste di ruolo IAM quando passi i token ai pool di identità |
Personalizza i token ID | Personalizza i tuoi token ID con attestazioni nuove, modificate e soppresse |
Personalizza gli attributi utente | Assegna valori agli attributi utente e aggiungi i tuoi attributi personalizzati |
¹ La funzionalità è disponibile solo per gli utenti locali.
Per ulteriori informazioni sui bacini d'utenza, consulta Nozioni di base sui bacini d'utenza e Documentazione di riferimento delle API dei bacini d'utenza di Amazon Cognito.
Pool di identità
Un pool di identità è una raccolta di identificatori univoci, o identità, che assegni ai tuoi utenti o ospiti e autorizzi a ricevere credenziali temporanee. AWS Quando presenti una prova di autenticazione a un pool di identità sotto forma di richieste attendibili da un gestore dell'identità digitale social SAML 2.0, OpenID Connect (OIDC) o OAuth 2.0, associ l'utente a un'identità nel pool di identità. Il token creato dal pool di identità per l'identità può recuperare le credenziali di sessione temporanee da (). AWS Security Token Service AWS STS
A complemento delle identità autenticate, puoi anche configurare un pool di identità per autorizzare l'accesso AWS senza autenticazione IdP. Puoi offrire una prova di autenticazione personalizzata o nessuna autenticazione. Puoi concedere AWS credenziali temporanee a qualsiasi utente dell'app che le richieda, con identità non autenticate. I pool di identità accettano anche richieste ed emettono credenziali in base a uno schema personalizzato, con identità autenticate dagli sviluppatori.
Con i pool di identità di Amazon Cognito, hai due modi per eseguire l'integrazione con le policy IAM nel Account AWS. Puoi utilizzare queste due funzionalità insieme o singolarmente.
Controllo degli accessi basato sui ruoli
Quando un utente passa le richieste al pool di identità, Amazon Cognito sceglie il ruolo IAM richiesto. Per personalizzare le autorizzazioni del ruolo in base alle esigenze, le policy IAM vengono applicate a ciascun ruolo. Ad esempio, se un utente dimostra di lavorare nel reparto marketing, riceve le credenziali per un ruolo con policy personalizzate in base alle esigenze di accesso del reparto marketing. Amazon Cognito può richiedere un ruolo predefinito, un ruolo basato su regole che eseguono query delle richieste dell'utente o un ruolo basato sull'appartenenza al gruppo dell'utente in un pool di utenti. Puoi anche configurare la policy di attendibilità del ruolo in modo che IAM consideri attendibile solo il tuo pool di identità per generare sessioni temporanee.
Attributi per il controllo degli accessi
Il pool di identità legge gli attributi dalle richieste dell'utente e li associa ai tag principali nella sessione temporanea dell'utente. Puoi quindi configurare le policy basate sulle risorse IAM per consentire o negare l'accesso alle risorse in base ai principali IAM che contengono i tag di sessione del pool di identità. Ad esempio, se l'utente dimostra di lavorare nel reparto marketing, tagga la sua sessione. AWS STS Department: marketing
Il bucket Amazon S3 consente operazioni di lettura basate su una PrincipalTag condizione aws: che richiede un valore di marketing
per il tag. Department
Funzionalità | Descrizione |
---|---|
Pool di utenti Amazon Cognito SP | Scambia un token ID dal tuo pool di utenti con credenziali di identità web di AWS STS |
SAML 2.0 SP | Scambia asserzioni SAML con credenziali di identità web da AWS STS |
OIDC SP | Scambia token OIDC con credenziali di identità web da AWS STS |
OAuth 2.0 SP | Scambia i token OAuth di Amazon, Facebook, Google, Apple e Twitter con credenziali di identità web da AWS STS |
SP personalizzato | Con AWS le credenziali, puoi scambiare attestazioni in qualsiasi formato con credenziali di identità web da AWS STS |
Accesso non autenticato | Emetti credenziali di identità web ad accesso limitato senza autenticazione AWS STS |
Controllo degli accessi basato sui ruoli | Scegli un ruolo IAM per il tuo utente autenticato in base alle sue dichiarazioni e configura i ruoli in modo che vengano assunti solo nel contesto del tuo pool di identità |
Controllo dell'accesso basato sugli attributi | Converti le attestazioni in tag principali per la tua sessione AWS STS temporanea e utilizza le policy IAM per filtrare l'accesso alle risorse in base ai tag principali |
Per ulteriori informazioni sui pool di identità, consulta Guida introduttiva ai pool di identità di Amazon Cognito e Documentazione di riferimento delle API dei pool di identità di Amazon Cognito.
Confronto tra pool di utenti e pool di identità di Amazon Cognito
Funzionalità | Descrizione | Bacini d'utenza | Pool di identità |
---|---|---|---|
IdP OIDC | Emetti token ID OIDC per autenticare gli utenti dell'app | ✓ | |
Server di autorizzazione API | Emetti token di accesso per autorizzare l'accesso degli utenti ad API, database e altre risorse che accettano gli ambiti di autorizzazione OAuth 2.0 | ✓ | |
Server di autorizzazione dell'identità Web IAM | Genera token con AWS STS cui puoi scambiare credenziali temporanee AWS | ✓ | |
SP SAML 2.0 e IdP OIDC | Emetti token OIDC personalizzati in base alle dichiarazioni di un IdP SAML 2.0 | ✓ | |
OIDC SP e OIDC IdP | Emetti token OIDC personalizzati in base alle affermazioni di un IdP OIDC | ✓ | |
OAuth 2.0 SP e IdP OIDC | Emetti token OIDC personalizzati in base agli ambiti dei social provider OAuth 2.0 come Apple e Google | ✓ | |
SP SAML 2.0 e broker di credenziali | Emetti AWS credenziali temporanee basate sulle attestazioni di un IdP SAML 2.0 | ✓ | |
Broker di credenziali e SP OIDC | Emetti AWS credenziali temporanee basate sulle dichiarazioni di un IdP OIDC | ✓ | |
SP e broker di credenziali OAuth 2.0 | Emetti AWS credenziali temporanee basate sugli ambiti dei social provider OAuth 2.0 come Apple e Google | ✓ | |
SP e broker di credenziali per pool di utenti Amazon Cognito | Emetti AWS credenziali temporanee basate sulle dichiarazioni OIDC di un pool di utenti di Amazon Cognito | ✓ | |
Broker di credenziali e SP personalizzato | Emetti AWS credenziali temporanee basate sull'autorizzazione IAM dello sviluppatore | ✓ | |
Servizio frontend di autenticazione | Registra, gestisci e autentica gli utenti con l'interfaccia utente ospitata | ✓ | |
Supporto API per la tua interfaccia utente di autenticazione | Crea, gestisci e autentica gli utenti tramite richieste API negli SDK supportati¹ AWS | ✓ | |
MFA | Usa messaggi SMS, TOTP o il dispositivo dell'utente come fattore di autenticazione aggiunto¹ | ✓ | |
Monitoraggio e risposta della sicurezza | Proteggiti da attività dannose e password non sicure¹ | ✓ | |
Personalizza i flussi di autenticazione | Crea il tuo meccanismo di autenticazione o aggiungi passaggi personalizzati ai flussi esistenti¹ | ✓ | |
Gruppi | Crea raggruppamenti logici di utenti e una gerarchia di richieste di ruolo IAM quando passi i token ai pool di identità | ✓ | |
Personalizza i token ID | Personalizza i tuoi token ID con attestazioni nuove, modificate e soppresse | ✓ | |
AWS WAF ACL web | Monitora e controlla le richieste al tuo ambiente di autenticazione con AWS WAF | ✓ | |
Personalizza gli attributi utente | Assegna valori agli attributi utente e aggiungi i tuoi attributi personalizzati | ✓ | |
Accesso non autenticato | Emetti credenziali di identità web ad accesso limitato senza autenticazione AWS STS | ✓ | |
Controllo degli accessi basato sui ruoli | Scegli un ruolo IAM per il tuo utente autenticato in base alle sue dichiarazioni e configura i ruoli in modo che vengano assunti solo nel contesto del tuo pool di identità | ✓ | |
Controllo dell'accesso basato sugli attributi | Trasforma le affermazioni degli utenti in tag principali per la sessione AWS STS temporanea e utilizza le policy IAM per filtrare l'accesso alle risorse in base ai tag principali | ✓ |
¹ La funzionalità è disponibile solo per gli utenti locali.
Nozioni di base su Amazon Cognito
Ad esempio, applicazioni con pool di utenti, vediNozioni di base sui bacini d'utenza.
Per un'introduzione ai pool di identità, vedereGuida introduttiva ai pool di identità di Amazon Cognito.
Per i collegamenti alle esperienze di configurazione guidate con pool di utenti e pool di identità, consultaOpzioni di configurazione guidate per Amazon Cognito.
Per video, articoli, documentazione e altre applicazioni di esempio, consulta le risorse per sviluppatori di Amazon Cognito
Per utilizzare Amazon Cognito devi disporre di un Account AWS. Per ulteriori informazioni, consulta Iniziare con AWS.
Disponibilità regionale
Amazon Cognito è disponibile in diverse AWS regioni in tutto il mondo. In ciascuna regione, Amazon Cognito viene distribuito su più zone di disponibilità. Queste zone di disponibilità sono fisicamente isolate l'una dall'altra, ma sono unite da connessioni di rete private a bassa latenza, a velocità effettiva elevata e altamente ridondanti. Queste zone di disponibilità consentono AWS di fornire servizi, tra cui Amazon Cognito, con livelli molto elevati di disponibilità e ridondanza, riducendo al contempo al minimo la latenza.
Per l'elenco di tutte le regioni nelle quali Amazon Cognito è disponibile, vedi Regioni ed endpoint AWS nella Riferimenti generali di Amazon Web Services. Per ulteriori informazioni sul numero di zone di disponibilità presenti in ciascuna regione, consulta Infrastruttura globale AWS
Prezzi di Amazon Cognito
Per informazioni sui prezzi di Amazon Cognito, consulta Prezzi di Amazon Cognito