Che cos'è 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à.

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.

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

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à

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.

  1. L'utente dell'app accede tramite un pool di utenti e riceve token OAuth 2.0.

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

  3. 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 è conforme a SOC 1-3, PCI DSS, ISO 27001 ed è idoneo ai fini HIPAA-BAA. Puoi progettare la sicurezza nel cloud in Amazon Cognito in modo che sia conforme a SOC1-3, ISO 27001 e HIPAA-BAA, ma non PCI DSS. Per ulteriori informazioni, consulta Servizi AWS coperti. Consultare anche Considerazioni sui dati regionali.

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à del pool di utenti 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à del pool di identità di Amazon Cognito
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.