Utilizzo del proprio dominio per l'interfaccia utente ospitata - 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à.

Utilizzo del proprio dominio per l'interfaccia utente ospitata

Dopo aver configurato un client per l'app, puoi configurare il tuo pool di utenti con un dominio personalizzato per l'interfaccia utente ospitata da Amazon Cognito e gli endpoint del server di autorizzazione. Con un dominio personalizzato, gli utenti possono accedere all'applicazione utilizzando il proprio indirizzo Web anziché il dominio Amazon Cognito predefinito. I domini personalizzati migliorano la fiducia degli utenti nell'applicazione con un nome di dominio familiare, soprattutto quando il dominio principale corrisponde al dominio che ospita l'applicazione. I domini personalizzati possono inoltre soddisfare i requisiti di sicurezza organizzativi.

Un dominio personalizzato presenta alcuni prerequisiti, tra cui un pool di utenti, un client di app e un dominio Web di tua proprietà. I domini personalizzati richiedono anche un SSL certificato per il dominio personalizzato, gestito con AWS Certificate Manager (ACM) negli Stati Uniti orientali (Virginia settentrionale). Amazon Cognito crea una CloudFront distribuzione Amazon, protetta in transito con il tuo ACM certificato, che deve essere la destinazione dell'DNSalias del tuo nome di dominio personalizzato.

Dopo che questi elementi sono pronti, puoi aggiungere il dominio personalizzato al tuo pool di utenti tramite la console Amazon Cognito oppure. API Ciò comporta la specificazione del nome di dominio e del SSL certificato e quindi l'aggiornamento della DNS configurazione con l'alias target fornito. Dopo aver apportato queste modifiche, puoi verificare che la pagina di accesso sia accessibile dal tuo dominio personalizzato.

Aggiunta di un dominio personalizzato a un bacino d'utenza

Per aggiungere un dominio personalizzato al tuo pool di utenti, devi specificare il nome di dominio nella console Amazon Cognito e fornire un certificato che gestisci con AWS Certificate Manager()ACM. Dopo aver aggiunto il dominio, Amazon Cognito fornisce un alias target da aggiungere alla configurazione. DNS

Prerequisiti

Prima di iniziare è necessario disporre di quanto segue:

  • Un bacino d'utenza con un client dell'App. Per ulteriori informazioni, consulta Nozioni di base sui bacini d'utenza.

  • Un dominio Web di tua proprietà, Il dominio principale deve avere un record DNS A valido. Puoi assegnare qualsiasi valore a questo record. Il padre può essere la root del dominio o un dominio figlio che è un gradino più in alto nella gerarchia dei domini. Ad esempio, se il dominio personalizzato è auth.xyz.example.com, Amazon Cognito deve poter risolvere xyz.example.com in un indirizzo IP. Per prevenire impatti accidentali sull'infrastruttura del cliente, Amazon Cognito non supporta l'uso di domini di primo livello (TLDs) per domini personalizzati. Per ulteriori informazioni, consulta la pagina relativa ai nomi di dominio.

  • La possibilità di creare un dominio secondario per il dominio personalizzato. È consigliabile usare auth come sottodominio. Per esempio: auth.example.com.

    Nota

    Se non disponi di un certificato jolly, potresti dover ottenere un nuovo certificato per il dominio secondario del tuo dominio personalizzato.

  • Un certificato Secure Sockets Layer () SSL gestito da. ACM

    Nota

    È necessario modificare la AWS regione in Stati Uniti orientali (Virginia settentrionale) nella ACM console prima di richiedere o importare un certificato.

  • Un'applicazione che consente al server di autorizzazione del pool di utenti di aggiungere cookie alle sessioni utente. Amazon Cognito imposta diversi cookie necessari per l'interfaccia utente ospitata. Tra queste vi sono cognito, cognito-fl e XSRF-TOKEN. Sebbene ogni singolo cookie sia conforme ai limiti di dimensione del browser, le modifiche alla configurazione del pool di utenti potrebbero causare un aumento delle dimensioni dei cookie dell'interfaccia utente ospitata. Un servizio intermedio come un Application Load Balancer ALB () davanti al tuo dominio personalizzato potrebbe imporre una dimensione massima dell'intestazione o una dimensione totale dei cookie. Se l'applicazione imposta anche i propri cookie, le sessioni degli utenti potrebbero superare questi limiti. Per evitare conflitti relativi ai limiti di dimensione, consigliamo all'applicazione di non impostare i cookie nel sottodominio dell'interfaccia utente ospitato.

  • Autorizzazione ad aggiornare CloudFront le distribuzioni Amazon. Puoi farlo allegando la seguente dichiarazione IAM politica a un utente nel tuo: Account AWS

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCloudFrontUpdateDistribution", "Effect": "Allow", "Action": [ "cloudfront:updateDistribution" ], "Resource": [ "*" ] } ] }

    Per ulteriori informazioni sull'autorizzazione delle azioni in CloudFront, vedere Using Identity-Based Policies (Policies) per. IAM CloudFront

    Amazon Cognito inizialmente utilizza le tue IAM autorizzazioni per configurare la CloudFront distribuzione, ma la distribuzione è gestita da. AWS Non puoi modificare la configurazione della CloudFront distribuzione associata da Amazon Cognito al tuo pool di utenti. Ad esempio, non puoi aggiornare le TLS versioni supportate nella politica di sicurezza.

Fase 1: Inserimento del nome di dominio personalizzato

Puoi aggiungere il tuo dominio al tuo pool di utenti utilizzando la console Amazon Cognito oppure. API

Amazon Cognito console
Aggiungere il dominio al bacino d'utenza dalla console Amazon Cognito:
  1. Accedi alla console Amazon Cognito. Se richiesto, inserisci le tue credenziali AWS .

  2. Scegli Bacini d'utenza.

  3. Scegli il bacino d'utenza da aggiungere al dominio.

  4. Scegli la scheda App integration (Integrazione app).

  5. Accanto a Dominio, scegli Operazioni, quindi scegli Create custom domain (Crea un dominio personalizzato).

    Nota

    Se hai già configurato un dominio del bacino d'utenza, scegli Delete Cognito domain (Elimina dominio Cognito) o Delete custom domain (Elimina dominio personalizzato) per eliminare il dominio esistente prima di creare il nuovo dominio personalizzato.

  6. Per Dominio personalizzato, inserisci URL il dominio che desideri utilizzare con Amazon Cognito. Il nome di dominio può contenere solo lettere minuscole, numeri e trattini. Non utilizzare un trattino come primo o ultimo carattere. Utilizzare i punti per separare i nomi di dominio secondario.

  7. Per il ACMcertificato, scegli il SSL certificato che desideri utilizzare per il tuo dominio. Solo ACM i certificati negli Stati Uniti orientali (Virginia settentrionale) possono essere utilizzati con un dominio personalizzato Amazon Cognito, indipendentemente Regione AWS dal pool di utenti.

    Se non disponi di un certificato disponibile, puoi utilizzarlo ACM per fornirne uno negli Stati Uniti orientali (Virginia settentrionale). Per ulteriori informazioni, consulta Nozioni di base nella Guida per l'utente di AWS Certificate Manager .

  8. Scegli Create (Crea) .

  9. Amazon Cognito ti reindirizzerà alla scheda App integration (Integrazione app). Viene visualizzato un messaggio intitolato Crea un record di alias nel tuo dominio. DNS Prendi nota del Domain (Dominio) e della Alias target (Destinazione alias) visualizzati nella console. Saranno utilizzati nella fase successiva per indirizzare il traffico verso il dominio personalizzato.

API
Per aggiungere il tuo dominio al tuo pool di utenti con Amazon CognitoAPI:

Fase 2: Aggiunta di una destinazione alias e di sottodomini

In questo passaggio, configuri un alias tramite il tuo provider di servizi Domain Name Server (DNS) che rimanda alla destinazione dell'alias del passaggio precedente. Se utilizzi Amazon Route 53 per la risoluzione degli DNS indirizzi, scegli la sezione Per aggiungere una destinazione e un sottodominio di alias utilizzando Route 53.

  • Se non utilizzi Route 53 per la risoluzione degli DNS indirizzi, devi utilizzare gli strumenti di configurazione del DNS provider di servizi per aggiungere la destinazione dell'alias del passaggio precedente al record del dominio. DNS Il DNS provider dovrà inoltre configurare il sottodominio per il dominio personalizzato.

  1. Accedi alla console Route 53. Se richiesto, inserisci le credenziali AWS .

  2. Se non disponi di una zona ospitata pubblica in Route 53, creane una con una radice che sia l'elemento principale del tuo dominio personalizzato. Per ulteriori informazioni, consulta Creazione di una zona ospitata pubblica nella Amazon Route 53 Developer Guide.

    1. Scegli Create Hosted Zone (Crea zona ospitata).

    2. Inserisci, ad esempio, il dominio principale auth.example.com, del tuo dominio personalizzato, ad esempio myapp.auth.example.com, dall'elenco dei nomi di dominio.

    3. Inserisci una Descrizione per la zona ospitata.

    4. Scegli un Tipo di zona ospitata di una Zona ospitata pubblica per consentire ai client pubblici di risolvere il tuo dominio personalizzato. La scelta della Zona ospitata privata non è supportata.

    5. Applica Tag come vuoi.

    6. Scegli Crea zona ospitata.

      Nota

      Puoi anche creare una nuova zona ospitata per il tuo dominio personalizzato con una delega impostata nella zona ospitata principale che indirizza le query alla zona ospitata dal sottodominio. Altrimenti, crea un record A. Questo metodo offre maggiore flessibilità e sicurezza con le zone ospitate. Per ulteriori informazioni, consulta la sezione Creating a subdomain for a domain hosted through Amazon Route 53 (Creazione di un sottodominio per un dominio in hosting tramite Amazon Route 53).

  3. Nella pagina Hosted Zones (Zone ospitate), scegli il nome della tua zona ospitata.

  4. Aggiungi un DNS record per il dominio principale del tuo dominio personalizzato, se non ne hai già uno. Crea un DNS record per il dominio principale con le seguenti proprietà:

    • Nome del record: lascia vuoto.

    • Tipo di record:A.

    • Alias: non abilitare.

    • Valore: inserisci un obiettivo a tua scelta. Questo record deve risolversi in qualcosa, ma il valore del record non ha importanza per Amazon Cognito.

    • TTL: Imposta come preferito TTL o lascia come predefinito.

    • Politica di routing: scegli Simple routing.

  5. Scegli Crea record. Di seguito è riportato un record di esempio per il dominio example.com:

    example.com. 60 IN A 198.51.100.1

    Nota

    Amazon Cognito verifica che esista un DNS record per il dominio principale del dominio personalizzato per proteggerlo dall'accesso accidentale ai domini di produzione. Se non disponi di un DNS record per il dominio principale, Amazon Cognito restituirà un errore quando tenti di impostare il dominio personalizzato. Un record Start of Authority (SOA) non è un DNS record sufficiente ai fini della verifica del dominio principale.

  6. Aggiungi un altro DNS record per il tuo dominio personalizzato con le seguenti proprietà:

    • Nome del record: il prefisso di dominio personalizzato, ad esempio auth per creare un record perauth.example.com.

    • Tipo di record:A.

    • Alias: Abilita.

    • Indirizza il traffico verso: scegli Alias verso la distribuzione Cloudfront. Inserisci, ad esempio, l'alias target che hai registrato in precedenza. 123example.cloudfront.net

    • Politica di routing: scegli Simple routing.

  7. Scegli Crea record.

    Nota

    La propagazione dei nuovi record su tutti i server Route 53 può richiedere circa 60 secondi. DNS È possibile utilizzare il GetChangeAPImetodo Route 53 per verificare che le modifiche si siano propagate.

Fase 3: Verifica della pagina di accesso

  • Verifica che la pagina di accesso sia disponibile dal tuo dominio personalizzato.

    Accedi con il tuo dominio personalizzato e con il sottodominio immettendo questo indirizzo nel browser. Questo è un esempio URL di dominio personalizzato example.com con il sottodominio auth:

    https://myapp.auth.example.com/login?response_type=code&client_id=<your_app_client_id>&redirect_uri=<your_callback_url>

Modifica del SSL certificato per il tuo dominio personalizzato

Se necessario, puoi utilizzare Amazon Cognito per modificare il certificato che hai applicato al tuo dominio personalizzato.

Di solito, questa operazione non è necessaria dopo il rinnovo di routine del certificato conACM. Quando rinnovi il certificato esistente inACM, ARN il nome del certificato rimane lo stesso e il dominio personalizzato utilizza automaticamente il nuovo certificato.

Tuttavia, se sostituisci il certificato esistente con uno nuovo, ACM assegna al nuovo certificato uno nuovoARN. Per applicare il nuovo certificato al tuo dominio personalizzato, devi fornirlo ARN ad Amazon Cognito.

Dopo avere fornito il nuovo certificato, Amazon Cognito impiega fino a 1 ora per distribuirlo nel dominio personalizzato.

Prima di iniziare

Prima di poter modificare il certificato in Amazon Cognito, devi aggiungerlo a. ACM Per ulteriori informazioni, consulta Nozioni di base nella Guida per l'utente di AWS Certificate Manager .

Quando aggiungi il certificato aACM, devi scegliere Stati Uniti orientali (Virginia settentrionale) come regione AWS .

Puoi modificare il certificato utilizzando la console Amazon Cognito o. API

AWS Management Console
Rinnovare un certificato dalla console Amazon Cognito:
  1. Accedi AWS Management Console e apri la console Amazon Cognito all'indirizzo. https://console.aws.amazon.com/cognito/home

  2. Scegli Bacini d'utenza.

  3. Scegli il bacino d'utenza per cui desideri aggiornare il certificato.

  4. Scegli la scheda App integration (Integrazione app).

  5. Scegli Azioni, Modifica ACM certificato.

  6. Scegli il nuovo certificato che desideri associare al dominio personalizzato.

  7. Scegli Save changes (Salva modifiche).

API
Per rinnovare un certificato (Amazon API Cognito)