Salta al contenuto

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

4 minuti di lettura
0

Desidero utilizzare l'autenticazione Amazon Cognito con il mio Application Load Balancer tramite un pool di utenti Amazon Cognito. Tuttavia, il mio pool di utenti si trova in un altro account AWS.

Risoluzione

Nella seguente risoluzione, l'Account B è l'account che possiede l'Application Load Balancer e l'Account A è l'account che possiede il pool di utenti.

Crea un Application Load Balancer

Se disponi già di un Application Load Balancer, passa alla sezione successiva.

Se non disponi di un Application Load Balancer, creane uno con un listener HTTPS.

Nota: solo i listener HTTPS supportano i tipi di azioni delle regole authenticate-cognito e authenticate-oidc.

Ottieni il nome DNS dell'Application Load Balancer nell'Account B

Completa i seguenti passaggi nell'Account B:

  1. Apri la console Amazon Elastic Compute Cloud (Amazon EC2).
  2. Nel pannello di navigazione, scegli Bilanciamenti del carico.
  3. Seleziona l'Application Load Balancer.
  4. Nella scheda Descrizione, annota il nome DNS del bilanciatore del carico da utilizzare in un passaggio successivo.

Crea e configura un pool di utenti nell'Account A

Se hai già un pool di utenti nell'altro account, passa alla sezione successiva.

Se non ha un pool di utenti, completa i seguenti passaggi nell'Account A:

  1. Crea un pool di utenti Amazon Cognito con un client dell'app.
    Nota: quando crei un client dell'app, puoi scegliere una delle quattro opzioni: app web tradizionale, app a pagina singola, app mobile e autenticazione M2M. Se scegli l'app web tradizionale o l'autenticazione M2M, viene generata un client dell'app con un segreto del client.
  2. Apri la console Amazon Cognito.
  3. Nella sezione Panoramica del pool di utenti del pool di utenti, annota l'ID del pool di utenti da utilizzare in un passaggio successivo.
  4. Nella scheda Branding, scegli Dominio. Aggiungi un nome di dominio Amazon Cognito per il pool di utenti. Il nome di dominio è un prefisso di dominio univoco richiesto dall'interfaccia utente ospitata da Cognito.
  5. In Applicazioni, scegli Client dell'app.
  6. Seleziona il client dell'app che desideri aggiornare.
  7. Nella pagina Client dell'app, completa i seguenti passaggi:
    Attiva Mostra segreto del client.
    Annota l'ID del client dell'app e il segreto del client dell'app da utilizzare in un passaggio successivo.
  8. In Interfaccia utente ospitata, aggiungi gli URL di callback https://load-balancer-dns-name/oauth2/idpresponse e https://custom-domain-name/oauth2/idpresponse.
  9. Seleziona Concessione del codice di autorizzazione per i tipi di concessione OAuth 2.0.
  10. Seleziona openid per gli ambiti OAuth 2.0.
  11. Scegli Salva le modifiche.

Ottieni i dettagli di configurazione OIDC del pool di utenti

Per configurare il pool di utenti come gestore dell'identità digitale OpenID Connect (OIDC) sull'Application Load Balancer, devi ottenere i dettagli dell'endpoint di configurazione OIDC.

Per ottenere i dettagli di configurazione, completa i seguenti passaggi:

  1. Nel browser, inserisci l'URL https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration.
    Nota: sostituisci region con la Regione AWS del tuo pool di utenti, ad esempio us-east-1 e userPoolId con l'ID del tuo pool di utenti.
  2. Nella risposta JSON visualizzata nel browser, annota i valori dei seguenti campi:
    authorization_endpoint
    issuer
    scopes_supported
    token_endpoint
    userinfo_endpoint

Configura l'Application Load Balancer nell'Account B

Completa i seguenti passaggi nell'Account B:

  1. Apri la console Amazon EC2.
  2. Seleziona l'Application Load Balancer.
  3. Nella scheda Listener and Rules (Listener e regole), seleziona HTTPS:443 rule (Regola HTTPS:443).
  4. In Gestione delle regole, scegli Modifica regola.
  5. Seleziona le regole predefinite.
  6. In Operazioni, scegli Modifica regola.
  7. In Operazione predefinita, seleziona Authenticate Users (Autentica utenti).
    Nota: il gestore dell'identità digitale OIDC è selezionato per impostazione predefinita.
  8. Inserisci i valori che hai annotato nei seguenti campi:
    Per Emittente, inserisci il valore dell'emittente.
    In Endpoint di autorizzazione, inserisci il valore authorization_endpoint.
    In Endpoint token, inserisci il valore token_endpoint.
    In Endpoint informazioni utente, inserisci il valore userinfo_endpoint.
    Per ID client, inserisci l'ID del client dell'app.
    Per Segreto client, inserisci il segreto del client dell'app.
  9. Scegli Salva.

Verifica la configurazione

Completa i seguenti passaggi:

  1. Nel browser, inserisci l'URL dell'Application Load Balancer.
  2. Verifica di essere reindirizzato all'interfaccia utente ospitata da Cognito.
  3. Accedi con credenziali utente valide.

Nota: per evitare errori, assicurati che tutti gli URL utilizzino caratteri minuscoli.

Informazioni correlate

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

Autenticazione degli utenti tramite Application Load Balancer

Regole del listener per Application Load Balancer

Flusso di autenticazione IdP del bacino d’utenza OIDC

AWS UFFICIALEAggiornata 7 mesi fa