Come posso integrare un pool di utenti Amazon Cognito multi-regione e multi-account con un pool di identità Amazon Cognito?

3 minuti di lettura
0

Devo integrare un pool di utenti Amazon Cognito con un pool di identità Amazon Cognito quando si trovano in account diversi.

Breve descrizione

Quando un utente accede alla tua applicazione, Amazon Cognito verifica le informazioni di accesso. Dopo aver effettuato correttamente l'accesso, un pool di utenti Amazon Cognito crea una sessione e restituisce l'ID, l'accesso e i token di aggiornamento all'utente autenticato.

Un pool di identità Amazon Cognito fornisce credenziali AWS temporanee per utenti guest non autenticati e utenti autenticati che ricevono token da gestori dell'identità digitale (IdP) supportati. Con queste credenziali AWS, la tua applicazione può accedere in modo sicuro ai servizi AWS.

Puoi integrare un pool di utenti Amazon Cognito con un pool di identità Amazon Cognito che si trova in un altro account AWS. Con questa configurazione, gli utenti si autenticano da un pool di utenti in un unico account. Quindi, per accedere ai servizi AWS, i tuoi utenti utilizzano credenziali AWS temporanee ottenute da un pool di identità in un altro account.

Risoluzione

Il seguente scenario tra account è un esempio di configurazione.

Un pool di utenti Amazon Cognito si trova nell'Account-A nella regione AWS Stati Uniti orientali (Virginia settentrionale). Il pool di identità Amazon Cognito si trova nell'Account-B nella regione Asia Pacifico (Mumbai).

In questo scenario, è necessario ottenere credenziali temporanee dal pool di identità Account-B per un utente che utilizza il pool di utenti Account-A per l'autenticazione. È necessario aggiungere il pool di utenti Account-A come provider di autenticazione al pool di identità Account-B.

Per aggiungere il pool di utenti come provider di autenticazione, segui questi passaggi:

1.    Apri la nuova console Amazon Cognito nell'Account-A.

2.    Scegli Pool di utenti, quindi scegli il pool di utenti appropriato dall'elenco.

3.    Copia e salva esternamente i valori per l'ID del pool di utenti e l'ID del client dell'app.

Esempio di pool di utenti come provider di autenticazione:

Pool di utenti dell'Account-A
ID del pool di utenti: us-east-1_xxxxxxxxx
ID client dell'app: 79i7hhxxxxxxxx1d5iciiu7

4.    Apri la nuova console Amazon Cognito nell'Account-B, quindi scegli Identità federate.

5.    Dall'elenco dei pool di identità, scegli il pool di identità appropriato.

6.    Seleziona Modifica pool di identità. Viene visualizzata la pagina Modifica pool di identità.

7.    Scorri verso il basso e scegli Provider di autenticazione per mostrare le opzioni del provider di autenticazione.

8.    Per l'ID del pool di utenti, incolla l'ID copiato in precedenza.

9.    Per l'ID del client dell'app, incolla l'ID copiato in precedenza.

10.    Salva le modifiche.

Richiama l'API UpdateIdentityPool per aggiungere il pool di utenti come provider di autenticazione.

Esempio di comando update-identity-pool:

aws cognito-identity update-identity-pool --identity-pool-id example_identity_pool_id --identity-pool-name example_identity_pool_name --no-allow-unauthenticated-identities --cognito-identity-providers ProviderName=cognito-idp.example_region.amazonaws.com/example_user_pool_id,ClientId=example_app_client_id,ServerSideTokenCheck=false --region example_region

Descrizioni del comando update-identity-pool:

  • example_identity_pool_id corrisponde all'ID del pool di identità nell'Account-B. Esempio: ap-south-1:12345678-abcd-abcd-1234567890ab.
  • example_app_client_id rappresenta l'ID client dall'Account-A. Esempio: 79i7hhxxxxxxxx1d5iciiu7.
  • example_region rappresenta la regione del pool di identità. Esempio: ap-south-1.
  • example_identity_pool_name corrisponde al nome del pool di identità. Esempio: test-pool.
  • example_user_pool_id rappresenta il pool di utenti dell'Account-A. Esempio: us-east-1_xxxxxxxxx.

Importante: poiché l'API UpdateIdentityPool reimposta la configurazione esistente del pool di identità, richiama prima l'API DescribeIdentityPool. Quindi, invia tutti i parametri del pool di identità esistenti all'API UpdateIdentityPool.


AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa