Come posso configurare il mio Application Load Balancer per autenticare gli utenti tramite un pool di utenti Amazon Cognito in un altro account AWS?

6 minuti di lettura
0

Desidero utilizzare l'autenticazione Amazon Cognito sul mio Application Load Balancer, ma il mio pool di utenti si trova in un altro account AWS. Quindi, desidero usare un pool di utenti multi-account per l'autenticazione.

Breve descrizione

Per impostazione predefinita, sono supportati solo i pool di utenti Amazon Cognito nello stesso account quando si configura un Application Load Balancer per l'autenticazione degli utenti. Tuttavia, come soluzione alternativa, configura il tuo pool di utenti multi-account come gestore dell'identità digitale OpenID Connect (OIDC).

Segui queste istruzioni per configurare il tuo Application Load Balancer in un account ("account B") per l'autenticazione tramite un pool di utenti in un altro account ("account A").

Risoluzione

Crea un Application Load Balancer

Se non l'hai già fatto, nell'account B crea un Application Load Balancer con un ascoltatore HTTPS.
Nota: i tipi di azione delle regole authenticate-cognito e authenticate-oidc sono supportati solo con gli ascoltatori HTTPS.

Ottieni il nome DNS del tuo Application Load Balancer nell'account B

  1. Nell'account B, apri la pagina Sistemi di bilanciamento del carico della console Amazon Elastic Compute Cloud (Amazon EC2).
  2. Seleziona il tuo Application Load Balancer.
  3. Nella scheda Descrizione, copia il nome DNS del tuo sistema di bilanciamento del carico. Ne hai bisogno per accedere e testare l'URL dell'endpoint del tuo sistema di bilanciamento del carico in un secondo momento.

Crea e configura un pool di utenti nell'account A

  1. Nell'account A, crea un pool di utenti Amazon Cognito con un client di app. Per il client dell’app, assicurati di selezionare l’opzione Genera segreto del client. Per maggiori informazioni, consulta Preparati a usare Amazon Cognito.
    Nota: durante la creazione del pool di utenti, configura le impostazioni desiderate per la produzione. Alcune impostazioni del pool di utenti non possono essere modificate dopo la creazione del pool di utenti. Ad esempio, non puoi modificare gli attributi standard richiesti per la registrazione degli utenti.
  2. Nella console Amazon Cognito, nella sezione Panoramica del pool di utenti per il tuo pool di utenti, annota l'ID del pool di utenti. Ne avrai bisogno in seguito per raccogliere i dettagli della configurazione OIDC del tuo pool di utenti.
  3. Nella scheda Integrazione app, passa a Dominio. Aggiungi un nome di dominio Amazon Cognito per il tuo pool di utenti. È un prefisso di dominio univoco richiesto dall'interfaccia utente ospitata di Cognito
  4. Nella scheda Integrazione app, vai all'elenco dei client dell'app
  5. Scegli il client dell'app che desideri aggiornare. Nella pagina del client dell'app, completa questi passaggi:
    Attiva Mostra segreto del client.
    Copia l'ID del client di app e il Segreto del client di app. Questi valori sono necessari in modo da configurare l'Application Load Balancer per l'autenticazione degli utenti.
  6. Nella pagina del client dell'app, passa alla sezione Interfaccia utente ospitata **, ** fai clic su Modifica.
  7. Nella pagina Modifica l’interfaccia utente ospitata, completa questi passaggi:
    Per Provider di identità, seleziona Gruppo di utenti di Cognito.
    In Aggiungi URL di callback, inserisci https://loadBalancerDNSName/oauth2/idpresponse. Oppure, se hai mappato un dominio personalizzato al tuo sistema di bilanciamento del carico con un record CNAME, inserisci https://CNAME/oauth2/idpresponse.
    Nota: sostituisci loadBalancerDNSName con il nome DNS che hai copiato dalla console Amazon EC2. Se usi un record CNAME, sostituisci CNAME con il tuo dominio personalizzato. Assicurati che i valori negli URL siano in minuscolo, altrimenti riceverai un errore.
    In Aggiungi flusso di disconnessione, inserisci un URL in cui desideri che gli utenti vengano reindirizzati dopo la disconnessione. Per il test, inserisci un URL valido, ad esempio https://example.com/.
    In Tipi di concessione OAuth 2.0, seleziona Concessione del codice di autorizzazione.
    Per gli ambiti OpenID Connect, seleziona Openid. L'ambito openid restituisce un token ID.
    Inserisci eventuali ambiti OAuth aggiuntivi come richiesto dal tuo caso d'uso.
  8. Scegli Salva modifiche.

Per maggiori informazioni, consulta Configurazione di un client dell’app di un bacino di utenza e Aggiunta di provider di identità OIDC a un bacino d’utenza.

Ottieni i dettagli di configurazione OIDC del tuo pool di utenti

Accedi all'endpoint di configurazione OIDC del tuo pool di utenti. Sono necessari i dettagli di configurazione per configurare il pool di utenti come IdP OIDC nell'Application Load Balancer.

  1. Nel tuo browser, inserisci questo URL: https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration
    Nota: sostituisci la regione con la regione AWS del tuo pool di utenti. (Ad esempio, us-east-1.) Sostituisci userPoolId con l'ID del tuo pool di utenti che hai annotato in precedenza.
  2. Copia la risposta JSON visualizzata nel tuo browser. Annota i valori per questi campi:
    authorization_endpoint
    issuer
    scopes_supported
    token_endpoint
    userinfo_endpoint

Configura il tuo Application Load Balancer nell'account B

  1. Nell'account B, nella pagina Sistemi di bilanciamento del carico della console Amazon EC2, seleziona il tuo Application Load Balancer.
  2. Nella scheda Ascoltatori, in Regole, scegli Visualizza/modifica le regole per il tuo ascoltatore HTTPS.
  3. Nella barra dei menu, scegli l'icona a forma di matita (Modifica regole).
  4. Accanto alla regola predefinita per il tuo ascoltatore HTTPS, scegli l'icona a forma di matita (Modifica regola).
  5. In QUINDI, seleziona Aggiungi operazione, quindi completa questi passaggi:
    Seleziona Autentica.
    In Autentica, seleziona OIDC.
    In Emittente, inserisci il valore dell'emittente della configurazione OIDC del tuo pool di utenti.
    In Endpoint di autorizzazione, inserisci il valore authorization\ _endpoint.
    In Endpoint token, inserisci il valore token\ _endpoint.
    In Endpoint delle informazioni utente, inserisci il valore userinfo_endpoint.
    In Client ID, inserisci l'ID del client di app che hai copiato in precedenza dalla console Amazon Cognito.
    In Segreto client, inserisci il Segreto del client di app che hai copiato in precedenza.
    Espandi Impostazioni avanzate.
    In Ambito, inserisci gli ambiti che hai configurato per il client di app del pool di utenti, separati da spazi. Trova gli ambiti nella configurazione OIDC del tuo pool di utenti. Ad esempio, se il valore scopes\ _supported nella configurazione è "openid", "email", "phone", "profile", inserisci openid email phone profile.
    Seleziona l'icona del segno di spunta.
  6. In QUINDI, seleziona Aggiungi operazione, quindi completa questi passaggi:
    **Nota:**se non riesci a selezionare Aggiungi operazione, elimina l'operazione di istradamento corrente (ad esempio Reindirizza a). Quindi, riprova.
    Seleziona Inoltra a.
    In Inoltra a, seleziona uno o più gruppi di destinazione.
    (Facoltativo) Configura Adesione a livello di gruppo.
    Seleziona l'icona del segno di spunta.
  7. Seleziona Aggiorna. La regola predefinita dell'ascoltatore HTTPS viene aggiornata.

Per maggiori informazioni, consulta Modificare una regola.

Prova la configurazione

Nel browser in uso, inserisci uno di questi URL:

  • https://loadBalancerDNSName/
  • https://CNAME/

Nota: sostituisci LoadBalancerDNSName con il nome DNS che hai copiato in precedenza dalla console Amazon EC2. Oppure, sostituisci CNAME con il tuo dominio personalizzato.

Verrai reindirizzato all’interfaccia utente web ospitata di Amazon Cognito per il tuo pool di utenti. Quando un utente accede qui e viene autenticato dal pool di utenti, viene reindirizzato alla destinazione.

Informazioni correlate

Guida introduttiva ad Application Load Balancer

Semplifica l'accesso con l'autenticazione integrata di Application Load Balancer

Autentica gli utenti utilizzando un Application Load Balancer

Regole dell’ascoltatore per il tuo Application Load Balancer

Flusso di autenticazione IdP del bacino d’utenza OIDC

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa