Come posso integrare Centro di identità IAM con un pool di utenti Amazon Cognito?

6 minuti di lettura
0

Desidero configurare Centro identità AWS IAM (successore di AWS Single Sign-On) con un gestore dell'identità digitale (IdP) di terze parti per il mio pool di utenti Amazon Cognito.

Breve descrizione

I pool di utenti Amazon Cognito consentono l'accesso tramite IdP di terze parti. Gli utenti possono utilizzare Centro di identità IAM per federarsi tramite l'IdP Security Assertion Markup Language versione 2.0 (SAML 2.0). Per ulteriori informazioni, consulta Come funziona l'accesso federato nei pool di utenti Amazon Cognito.

Un pool di utenti integrato con Centro di identità IAM consente agli utenti di ottenere i token del pool di utenti da Amazon Cognito. Per ulteriori informazioni, consulta Utilizzo dei token con i pool di utenti.

Risoluzione

Per integrare un pool di utenti Amazon Cognito con Centro di identità IAM, procedi come segue.

Nota: se disponi già di un pool di utenti con un client di app, puoi saltare la sezione seguente.

Creazione di un pool di utenti Amazon Cognito con un client di app e un nome di dominio

1.    Crea un pool di utenti.

2.    Aggiungi un client di app e configura l'interfaccia utente Web ospitata.

3.    Aggiungi un nome di dominio per il pool di utenti.

Nota: se disponi già di un ambiente Centro di identità IAM funzionante, puoi saltare la sezione seguente.

Attivazione di Centro di identità IAM e aggiunta di un utente

1.    Prima di attivare Centro identità IAM, esamina i prerequisiti e le considerazioni.

2.    Attiva Centro identità IAM.

3.    Scegli l'origine dell'identità e crea un utente.

Configurazione di un'applicazione SAML dalla console di Centro identità IAM

1.    Apri la console di Centro identità IAM, quindi nel pannello di navigazione scegli Applications (Applicazioni).

2.    Scegli Add application ( Aggiungi applicazione) e Add custom SAML 2.0 application ( Aggiungi applicazione SAML 2.0 personalizzata), quindi scegli Next (Avanti).

3.    Nella pagina Configure application (Configura applicazione), inserisci un nome di visualizzazione e una descrizione.

4.    Copia l'URL del file di metadati SAML del Centro identità IAM o scegli il collegamento ipertestuale Download (Scarica). Queste risorse saranno utilizzate nei passaggi successivi per creare un IdP in un pool di utenti.

5.    In Application metadata ( Metadati dell'applicazione), scegli Manually type your metadata values (Digita manualmente i valori dei metadati). Quindi fornisci i seguenti valori.

Importante: assicurati di sostituire i valori di domain-prefix, region e userpool-id con le informazioni specifiche del tuo ambiente.

URL di Application Assertion Consumer Service (ACS): https://<domain-prefix>.auth.<region>.amazoncognito.com/saml2/idpresponse Destinatari SAML dell'applicazione: urn:amazon:cognito:sp:<userpool-id>

6.    Scegli Submit (Invia). Quindi, vai alla pagina Details (Dettagli) dell'applicazione aggiunta.

7.    Seleziona l'elenco a discesa Actions (Operazioni) e scegli Edit attribute mappings (Modifica mappature degli attributi). Quindi, fornisci i seguenti attributi.

Attributo utente nell'applicazione: subject
Nota: subject è precompilato.
Mappe a questo valore di stringa o attributo utente nel Centro identità IAM: ${user:subject}
Formato: persistente

Attributo utente nell'applicazione: email
Mappe a questo valore di stringa o attributo utente nel Centro identità IAM: ${user:email} Formato: base

Gli attributi mappati vengono inviati ad Amazon Cognito al momento dell'accesso. Assicurati che tutti gli attributi obbligatori del tuo pool di utenti siano mappati qui. Per ulteriori informazioni sugli attributi disponibili per la mappatura, consulta Attributi supportati per il Centro di identità IAM.

8.    Salva le modifiche.

9.    Scegli il pulsante Assign Users (Assegna utenti) e assegna l'utente all'applicazione.

Configurazione del Centro identità IAM come IdP SAML nel pool di utenti

1.    Configura un IdP SAML nel pool di utenti. Applica le seguenti impostazioni:

In Metadata document (Documento di metadati), fornisci l'URL dei metadati o carica il file scaricato nel passaggio 4 della sezione precedente. Per ulteriori informazioni, consulta Integrazione di provider di identità SAML di terze parti con i pool di utenti Amazon Cognito.

Inserisci il nome del provider SAML. Per ulteriori informazioni, consulta Scelta dei nomi dei provider di identità SAML.

(Facoltativo) Inserisci eventuali identificatori SAML.

2.    Configura una mappatura degli attributi del provider SAML. Applica le seguenti impostazioni:

Nel campo SAML attribute (Attributo SAML), fornisci un valore di posta elettronica che corrisponda al valore dell'attributo utente fornito nel passaggio 7 della sezione precedente. Nel campo User pool attribute (Attributo del pool di utenti), seleziona Email (E-mail) dall'elenco a discesa.

Nota: aggiungi qualsiasi altro attributo configurato nel Centro di identità IAM nel passaggio 7 della sezione precedente.

3.    Salva le modifiche.

Integrazione dell'IdP con il client di app del pool di utenti

1.    Accedi alla nuova console Amazon Cognito.

2.    Scegli User Pools (Pool di utenti) e seleziona un pool di utenti appropriato.

3.    Scegli la scheda App integration (Integrazione app), quindi scegli App client list ( Elenco di client di app).

4.    Seleziona il client di app appropriato.

5.    Nella sezione Hosted UI (Interfaccia utente ospitata), scegli Edit (Modifica).

6.    Seleziona l'IdP appropriato.

7.    Salva le modifiche.

Test della configurazione

1.    Avvia un'interfaccia utente ospitata o crea l'URL dell'endpoint di accesso utilizzando il seguente schema di denominazione:

https://example_domain_prefix.auth.example_region.amazoncognito.com/login?response_type=token&client_id=example_client_id&redirect_uri=example_redirect_url

Ad esempio: https://my-user-pool.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=a1b2c3d4e5f6g7h8i9j0k1l2m3&redirect_uri=https://example.com

Per OAuth 2.0 grant types (Tipi di concessione OAuth 2.0), scegli Authorization code grant (Concessione del codice di autorizzazione) in modo che l'endpoint di accesso richieda ad Amazon Cognito di restituire i codici di autorizzazione quando gli utenti effettuano l'accesso. Per OAuth 2.0 grant types (Tipi di concessione OAuth 2.0), scegli Implicit grant (Concessione implicita) perché Amazon Cognito restituisca i token di accesso quando gli utenti effettuano l'accesso. Quindi, sostituisci response_type=code con response_type=token nell'URL.

2.    Scegli IAM IdC (IdC IAM).

Se vieni reindirizzato all'URL di richiamata del client di app, hai già effettuato l'accesso come utente nel tuo browser. I token del pool di utenti vengono visualizzati direttamente nell'URL della barra degli indirizzi del browser Web.

Nota: per saltare questo passaggio, crea un URL dell'endpoint di autorizzazione con il seguente schema di denominazione:
https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes

3.    Inserisci le credenziali utente e scegli Login (Accedi).

4.    Quando vieni reindirizzato all'URL di richiamata che include un codice o un token di Amazon Cognito nella barra degli indirizzi del browser, la configurazione è completa.

Nota: Amazon Cognito supporta solo gli accessi avviati da provider di servizi (SP). Per testare la configurazione, è necessario utilizzare l'endpoint di accesso o l'endpoint di autorizzazione. L'avvio di un accesso iniziato da un IdP con il portale di accesso AWS per il Centro di identità IAM non funziona.


AWS UFFICIALE
AWS UFFICIALEAggiornata 4 mesi fa