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 impostato un client di app, puoi configurare il bacino d'utenza con un dominio personalizzato per l'interfaccia utente ospitata di Amazon Cognito e gli endpoint dell'API auth. Il dominio personalizzato consente agli utenti di accedere all'applicazione utilizzando il tuo indirizzo Web.

Aggiunta di un dominio personalizzato a un bacino d'utenza

Per aggiungere un dominio personalizzato al bacino d'utenza, devi specificare il nome di dominio nella console Amazon Cognito e fornire un certificato da gestire con AWS Certificate Manager (ACM). Dopo avere aggiunto il dominio, Amazon Cognito fornisce una destinazione alias che devi 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 relativo dominio padre deve avere un record A DNS 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 evitare ripercussioni accidentali sull'infrastruttura del cliente, Amazon Cognito non supporta l'uso di domini di primo livello (TLD) per i 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. Ad 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 console ACM 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. A tale scopo, puoi associare la dichiarazione di policy IAM seguente 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, consulta Using Identity-Based Policies (IAM Policies) per. CloudFront

    Amazon Cognito inizialmente utilizza le tue autorizzazioni IAM 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 è possibile aggiornare le versioni TLS supportate nella policy di sicurezza.

Fase 1: Inserimento del nome di dominio personalizzato

È possibile aggiungere il dominio al bacino d'utenza utilizzando la console o l'API Amazon Cognito.

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. Alla voce Custom domain (Dominio personalizzato), inserisci l'URL del dominio che vuoi 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. Alla voce ACM certificate (Certificato ACM), scegli il certificato SSL che desideri utilizzare per il tuo dominio. Solo i certificati ACM negli Stati Uniti orientali (Virginia settentrionale) possono essere utilizzati con un dominio personalizzato Amazon Cognito, indipendentemente dal pool di Regione AWS utenti.

    Se non disponi di un certificato, è possibile utilizzare ACM per effettuare il provisioning di 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 Crea.

  9. Amazon Cognito ti reindirizzerà alla scheda App integration (Integrazione app). Viene visualizzato un messaggio Create an alias record in your domain's DNS (Crea un registro di alias nel DNS del tuo dominio). 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
Aggiungere il dominio al bacino d'utenza con API Amazon Cognito:

Fase 2: Aggiunta di una destinazione alias e di sottodomini

In questa fase, è possibile configurare, mediante il fornitore di servizi DNS (Domain Name Server), un alias che punti alla destinazione di alias della fase precedente. Se per la risoluzione dell'indirizzo DNS utilizzi Amazon Route 53, passa alla sezione Come aggiungere una destinazione alias e un sottodominio utilizzando Route 53.

  • Se non utilizzi Route 53 per la risoluzione dell'indirizzo DNS, dovrai utilizzare gli strumenti di configurazione del tuo provider di servizi DNS per aggiungere la destinazione alias della fase precedente al registro DNS del tuo dominio. Il fornitore DNS 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 in Route 53, creane una con una radice che sia l'elemento principale del tuo dominio personalizzato. Per ulteriori informazioni, consulta la pagina

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

    2. Inserisci il dominio principale, ad esempio auth.example.com, del tuo dominio personalizzato, ad esempio myapp.auth.example.com, dall'elenco Domain Name (Nome 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

      È inoltre possibile creare una nuova zona ospitata per il dominio personalizzato e creare un set di deleghe nella zona ospitata principale che indirizza le query alla zona ospitata del 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 record DNS per il dominio principale del tuo dominio personalizzato, se non ne hai già uno. Aggiungi un A record DNS per il dominio principale e scegli Crea record. Di seguito è riportato un registro di esempio per il dominio auth.example.com.

    auth.example.com. 60 IN A 198.51.100.1

    Nota

    Amazon Cognito verifica che sia presente un registro DNS per il dominio principale del tuo dominio personalizzato per proteggerti dal dirottamento accidentale dei domini di produzione. Se non disponi di un registro DNS per il dominio principale, Amazon Cognito restituirà un errore quando si tenta di impostare il dominio personalizzato. Un record Start of Authority (SOA) non è un record DNS sufficiente ai fini della verifica del dominio principale.

  5. Aggiungi un record DNS per il tuo dominio personalizzato. Il record deve puntare alla destinazione Alias del dominio personalizzato, ad esempio. 123example.cloudfront.net Scegliere nuovamente Create record (Crea registro).

  6. Inserire un nome di registro che corrisponde al tuo dominio personalizzato, ad esempio myapp per creare un registro per myapp.auth.example.com.

  7. Abilitare l'opzione Alias.

  8. In Route traffic to (Instradare il traffico a), scegliere Alias to CloudFront distribution (Distribuzione da Alias a Cloudfront). Inserisci la Destinazione alias fornita da Amazon Cognito quando hai creato il tuo dominio personalizzato.

  9. Scegli Create Records (Crea registri).

    Nota

    I nuovi registri possono richiedere circa 60 secondi per la propagazione a tutti i server DNS di Route 53. Puoi utilizzare il metodo dell'GetChangeAPI 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. Un esempio di un URL di dominio personalizzato è esempio.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 certificato SSL per il 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 la procedura di rinnovo dei certificati con ACM. Quando rinnovi il certificato esistente in ACM, l'ARN del tuo certificato rimane invariato e il tuo dominio personalizzato utilizza automaticamente il nuovo certificato.

Tuttavia, se sostituisci il certificato esistente con uno nuovo, ACM assegna un nuovo ARN al nuovo certificato. Per applicare il nuovo certificato al dominio personalizzato, devi fornire questo 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 ad ACM. Per ulteriori informazioni, consulta Nozioni di base nella Guida per l'utente di AWS Certificate Manager .

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

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

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 Operazioni, Edit ACM certificate (Modifica del certificato ACM.

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

  7. Scegli Save changes (Salva modifiche).

API
Come rinnovare un certificato (API Amazon Cognito)