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 token e AWS credenziali di accesso OAuth 2.0. 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

Amazon Cognito user pool authentication flow with app, identity provider, and API/Database.

Crea un pool di utenti quando desideri autenticare e autorizzare gli utenti alla tua app o. 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 tuo pool di utenti può essere un provider di directory e OIDC identità (IdP) indipendente e un fornitore di servizi intermedio (SP) per fornitori terzi di forza lavoro e identità dei clienti. Puoi fornire il single sign-on (SSO) nella tua app per le identità della forza lavoro della tua organizzazione nella versione 2.0 e con pool di utenti. SAML OIDC IdPs SSONella tua app puoi anche fornire le identità dei clienti della tua organizzazione negli archivi di identità OAuth 2.0 pubblici Amazon, Google, Apple e Facebook. Per ulteriori informazioni sull'identità dei clienti e sulla gestione degli accessi (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 JSON web autenticati (JWTs) direttamente a un'app, un server Web o un. API

Pool di identità

Diagram showing Amazon Cognito federated identities flow between app, identity pool, provider, and STS.

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à affidabile, 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 2.0 token. OAuth

  2. La tua app scambia un token del pool di utenti con un pool di identità per AWS credenziali temporanee che puoi utilizzare con AWS APIs and the 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 di sicurezza del cloud del modello di responsabilità condivisa è conforme ai requisiti SOC ISO 1-3.27001 ed è PCI DSS idoneo. HIPAA BAA Puoi progettare la tua sicurezza nel cloud in Amazon Cognito in modo che sia conforme agli standard SOC1 -3, ISO 27001 e HIPAA -, ma non lo è. BAA 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 AWS SDK, an 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 degli utenti in un file JWT che inviano alla tua app. Puoi standardizzare la tua app su un unico set JWTs mentre Amazon Cognito gestisce le interazioni IdPs con, mappando le relative affermazioni su un formato di token centrale.

Un pool di utenti Amazon Cognito può essere un IdP autonomo. Amazon Cognito si basa sullo standard OpenID Connect (OIDC) JWTs per generare autenticazione e 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 richiama i API pool di utenti di Amazon Cognito per autenticare, autorizzare e gestire i tuoi utenti.

  • Configura l'autenticazione a più fattori () per i tuoi utenti. MFA Amazon Cognito supporta password monouso () TOTP e messaggi temporizzati. SMS MFA

  • 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 di Amazon Cognito, puoi

  • Accettare un ID token nell'app che autentica un utente e fornisce le informazioni necessarie per configurare il profilo dell'utente

  • Accetta un token di accesso API con gli OIDC ambiti che autorizzano le chiamate degli utenti. API

  • Recupera AWS le credenziali da un pool di identità di Amazon Cognito.

Funzionalità del pool di utenti Amazon Cognito
Funzionalità Descrizione
OIDCIdP Emetti token ID per autenticare gli utenti
Server di autorizzazione Emetti token di accesso per autorizzare l'accesso degli utenti a APIs
SAML2.0 SP Trasforma SAML le asserzioni in ID e token di accesso
OIDCSP Trasforma OIDC i token in ID e token di accesso
OAuth2.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
APIsupporto per la tua interfaccia utente Crea, gestisci e autentica gli utenti tramite API le richieste nella pagina supportata¹ AWS SDKs
MFA Usa SMS i messaggi o TOTPs 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 rivendicazioni di IAM ruolo 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 pool di utenti, consulta Nozioni di base sui bacini d'utenza e il riferimento ai pool di utenti di Amazon API 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 attestazioni attendibili di un provider di identità social (IdPOIDC) SAML OAuth 2.0, OpenID Connect () o 2.0, associ il tuo 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 integrarti con IAM le politiche del tuo. Account AWS Puoi utilizzare queste due funzionalità insieme o singolarmente.

Controllo degli accessi basato sui ruoli

Quando un utente trasmette reclami al tuo pool di identità, Amazon Cognito sceglie il IAM ruolo richiesto. Per personalizzare le autorizzazioni del ruolo in base alle tue esigenze, applichi IAM le politiche 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 fiducia dei ruoli 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. È quindi possibile configurare le politiche IAM basate sulle risorse per consentire o negare l'accesso alle risorse in base ai IAM principali 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
SAML2.0 SP Scambia SAML asserzioni con credenziali di identità web da AWS STS
OIDCSP Scambia OIDC token con credenziali di identità web da AWS STS
OAuth2.0 SP Scambia OAuth i token 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 IAM ruolo per il tuo utente autenticato in base alle sue affermazioni 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 IAM le politiche 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 il riferimento ai pool di identità di Amazon API Cognito.

Confronto tra pool di utenti e pool di identità di Amazon Cognito

Funzionalità Descrizione Bacini d'utenza Pool di identità
OIDCIdP Emetti token OIDC ID per autenticare gli utenti dell'app
APIserver di autorizzazione Emetti token di accesso per autorizzare l'accesso degli utenti a APIs database e altre risorse che accettano gli ambiti di autorizzazione OAuth 2.0
IAMserver di autorizzazione dell'identità web Genera token con AWS STS cui puoi scambiare credenziali temporanee AWS
SAML2.0 SP e OIDC IdP Emetti OIDC token personalizzati in base alle dichiarazioni di un IdP SAML 2.0
OIDCSP e OIDC IdP Emetti OIDC token personalizzati in base alle dichiarazioni di un IdP OIDC
OAuth2.0 SP e OIDC IdP Emetti OIDC token personalizzati in base agli ambiti di provider di social network OAuth 2.0 come Apple e Google
SAML2.0 SP e broker di credenziali Emetti AWS credenziali temporanee basate sulle attestazioni di un IdP SAML 2.0
OIDCBroker di SP e credenziali Emetti AWS credenziali temporanee basate sulle dichiarazioni di un IdP OIDC
OAuth2.0 SP e broker di credenziali Emetti AWS credenziali temporanee basate sugli ambiti di provider di social network OAuth 2.0 come Apple e Google
SP e broker di credenziali per pool di utenti Amazon Cognito Emetti AWS credenziali temporanee basate sulle OIDC attestazioni provenienti da un pool di utenti di Amazon Cognito
Broker di credenziali e SP personalizzato Emetti AWS credenziali temporanee basate sull'autorizzazione dello sviluppatore IAM
Servizio frontend di autenticazione Registra, gestisci e autentica gli utenti con l'interfaccia utente ospitata
APIsupporto per la tua interfaccia utente di autenticazione Crea, gestisci e autentica gli utenti tramite API le richieste nella pagina supportata¹ AWS SDKs
MFA Usa SMS i messaggi o TOTPs 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 rivendicazioni di IAM ruolo 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 web ACLs 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 IAM ruolo per il tuo utente autenticato in base alle sue affermazioni 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 IAM le politiche 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 per 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 vedere se Amazon Cognito è attualmente disponibile in qualsiasi regione Regione AWS, consulta AWS Servizi per regione.

Per ulteriori informazioni sugli endpoint API di servizio regionali, consulta AWS le regioni e gli endpoint nel. 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.