Utilisation de votre propre domaine pour l’interface utilisateur hébergée - Amazon Cognito

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de votre propre domaine pour l’interface utilisateur hébergée

Après avoir configuré un client d'application, vous pouvez configurer votre groupe d'utilisateurs avec un domaine personnalisé pour l'interface utilisateur hébergée par Amazon Cognito et les points de terminaison du serveur d'autorisation. Avec un domaine personnalisé, les utilisateurs peuvent se connecter à votre application en utilisant leur propre adresse Web au lieu du domaine Amazon Cognito par défaut. Les domaines personnalisés renforcent la confiance des utilisateurs dans votre application avec un nom de domaine familier, en particulier lorsque le domaine racine correspond au domaine qui héberge votre application. Les domaines personnalisés peuvent également être conformes aux exigences de sécurité de l'organisation.

Un domaine personnalisé comporte certaines conditions préalables, notamment un groupe d'utilisateurs, un client d'application et un domaine Web que vous possédez. Les domaines personnalisés nécessitent également un SSL certificat pour le domaine personnalisé, géré par AWS Certificate Manager (ACM) dans l'est des États-Unis (Virginie du Nord). Amazon Cognito crée une CloudFront distribution Amazon, sécurisée en transit avec votre ACM certificat, qui doit être l'DNSalias cible de votre nom de domaine personnalisé.

Une fois ces éléments prêts, vous pouvez ajouter le domaine personnalisé à votre groupe d'utilisateurs via la console Amazon Cognito ou. API Cela implique de spécifier le nom de domaine et le SSL certificat, puis de mettre à jour votre DNS configuration avec l'alias cible fourni. Après avoir apporté ces modifications, vous pouvez vérifier que la page de connexion est accessible sur votre domaine personnalisé.

Ajout d’un domaine personnalisé à un groupe d’utilisateurs

Pour ajouter un domaine personnalisé à votre groupe d'utilisateurs, vous devez spécifier le nom de domaine dans la console Amazon Cognito et fournir un certificat que vous gérez avec AWS Certificate Manager()ACM. Après avoir ajouté votre domaine, Amazon Cognito fournit une cible d'alias, que vous ajoutez à votre DNS configuration.

Prérequis

Avant de commencer, vous avez besoin des éléments suivants :

  • Un groupe d’utilisateurs avec un client d’appli. Pour de plus amples informations, veuillez consulter Démarrage avec les groupes d'utilisateurs.

  • Un domaine Web que vous possédez. Son domaine parent doit avoir un enregistrement DNS A valide. Vous pouvez attribuer n’importe quelle valeur à cet enregistrement. Le parent peut être la racine du domaine ou un domaine enfant qui se trouve à un niveau supérieur dans la hiérarchie du domaine. Par exemple, si votre domaine personnalisé est auth.xyz.example.com, Amazon Cognito doit être en mesure de résoudre xyz.example.com à une adresse IP. Pour éviter tout impact accidentel sur l'infrastructure du client, Amazon Cognito ne prend pas en charge l'utilisation de domaines de premier niveau (TLDs) pour les domaines personnalisés. Pour plus d’informations, consultez Noms de domaine.

  • Possibilité de créer un sous-domaine pour votre domaine personnalisé. Nous vous recommandons d’utiliser auth comme sous-domaine. Par exemple : auth.example.com.

    Note

    Vous pouvez avoir besoin d’obtenir un nouveau certificat pour le sous-domaine de votre domaine personnalisé si vous ne disposez pas d’un certificat générique.

  • Un certificat Secure Sockets Layer (SSL) géré parACM.

    Note

    Vous devez changer la AWS région en USA Est (Virginie du Nord) dans la ACM console avant de demander ou d'importer un certificat.

  • Application qui permet à votre serveur d'autorisation de groupe d'utilisateurs d'ajouter des cookies aux sessions utilisateur. Amazon Cognito définit plusieurs cookies obligatoires pour l'interface utilisateur hébergée. Cela inclut cognito, cognito-fl et XSRF-TOKEN. Bien que chaque cookie individuel soit conforme aux limites de taille du navigateur, les modifications apportées à la configuration de votre groupe d'utilisateurs peuvent entraîner une augmentation de la taille des cookies d'interface utilisateur hébergés. Un service intermédiaire tel qu'un Application Load Balancer (ALB) placé devant votre domaine personnalisé peut imposer une taille d'en-tête maximale ou une taille totale de cookie. Si votre application définit également ses propres cookies, les sessions de vos utilisateurs peuvent dépasser ces limites. Pour éviter les conflits de taille, nous recommandons à votre application de ne pas définir de cookies sur le sous-domaine de l'interface utilisateur hébergé.

  • Autorisation de mettre à jour CloudFront les distributions Amazon. Vous pouvez le faire en joignant la déclaration IAM de politique suivante à un utilisateur dans votre Compte AWS :

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

    Pour plus d'informations sur l'autorisation d'actions dans CloudFront, consultez la section Utilisation de politiques basées sur l'identité (IAMpolitiques) pour. CloudFront

    Amazon Cognito utilise initialement vos IAM autorisations pour configurer la CloudFront distribution, mais celle-ci est gérée par. AWS Vous ne pouvez pas modifier la configuration de la CloudFront distribution qu'Amazon Cognito a associée à votre groupe d'utilisateurs. Par exemple, vous ne pouvez pas mettre à jour les TLS versions prises en charge dans la politique de sécurité.

Étape 1 : saisissez votre nom de domaine personnalisé.

Vous pouvez ajouter votre domaine à votre groupe d'utilisateurs à l'aide de la console Amazon Cognito ou. API

Amazon Cognito console
Pour ajouter votre domaine à votre groupe d’utilisateurs à partir de la console Amazon Cognito :
  1. Connectez-vous à la console Amazon Cognito. Si vous y êtes invité, saisissez vos informations d’identification AWS .

  2. Choisissez Groupes d’utilisateurs.

  3. Choisissez le groupe d’utilisateurs auquel vous souhaitez ajouter votre domaine.

  4. Choisissez l’onglet App integration (Intégration d’applications).

  5. En regard de Domaine, choisissez Actions, puis Créer un domaine personnalisé.

    Note

    Si vous avez déjà configuré un domaine de groupe d’utilisateurs, choisissez Delete Cognito domain (Supprimer le domaine Cognito) ou Delete custom domain (Supprimer un domaine personnalisé) pour supprimer le domaine existant avant de créer votre domaine personnalisé.

  6. Dans le champ Domaine personnalisé, saisissez URL le domaine que vous souhaitez utiliser avec Amazon Cognito. Votre nom de domaine peut uniquement contenir des lettres minuscules, des chiffres et des traits d’union. N’utilisez pas de tiret comme premier ou dernier caractère. Utilisez des points pour séparer les noms des sous-domaines.

  7. Pour le ACMcertificat, choisissez le SSL certificat que vous souhaitez utiliser pour votre domaine. Seuls ACM les certificats de l'est des États-Unis (Virginie du Nord) peuvent être utilisés avec un domaine personnalisé Amazon Cognito, quel que soit votre groupe Région AWS d'utilisateurs.

    Si vous n'avez pas de certificat disponible, vous pouvez l'utiliser ACM pour en fournir un dans l'est des États-Unis (Virginie du Nord). Pour plus d’informations, consultez Démarrer dans le Guide de l’utilisateur AWS Certificate Manager .

  8. Choisissez Créer.

  9. Amazon Cognito vous renvoie à l’onglet Intégration d’applications. Un message intitulé Créer un enregistrement d'alias dans celui de votre domaine DNS s'affiche. Notez le domaine et la cible d’alias affichée dans la console. Ils seront utilisés dans l’étape suivante pour diriger le trafic vers votre domaine personnalisé.

API
Pour ajouter votre domaine à votre groupe d'utilisateurs avec Amazon Cognito API :

Étape 2 : Ajout d’une cible d’alias et d’un sous-domaine

Au cours de cette étape, vous configurez un alias via votre fournisseur de services de serveur de noms de domaine (DNS) qui pointe vers l'alias cible de l'étape précédente. Si vous utilisez Amazon Route 53 pour la résolution d'DNSadresses, choisissez la section Pour ajouter une cible d'alias et un sous-domaine à l'aide de Route 53.

  • Si vous n'utilisez pas Route 53 pour la résolution d'DNSadresses, vous devez utiliser les outils de configuration de votre fournisseur de DNS services pour ajouter l'alias cible de l'étape précédente à l'DNSenregistrement de votre domaine. Votre DNS fournisseur devra également configurer le sous-domaine de votre domaine personnalisé.

  1. Connectez-vous à la console Route 53. Si vous y êtes invité, saisissez vos Informations d’identification AWS .

  2. Si vous n'avez pas de zone hébergée publique dans Route 53, créez-en une avec une racine parent de votre domaine personnalisé. Pour plus d'informations, consultez la section Création d'une zone hébergée publique dans le guide du développeur Amazon Route 53.

    1. Choisissez Create Hosted Zone (Créer une zone hébergée).

    2. Entrez le domaine parent, par exemple auth.example.com, de votre domaine personnalisé, par exemple myapp.auth.example.com, depuis la liste des noms de domaine.

    3. Saisissez une description pour votre zone hébergée.

    4. Choisissez Zone hébergée publique comme type de zone hébergée pour permettre aux clients publics de résoudre votre domaine personnalisé. Le choix Zone hébergée privée n’est pas pris en charge.

    5. Appliquer des identifications à votre convenance.

    6. Choisissez Créer une zone hébergée.

      Note

      Vous pouvez également créer une nouvelle zone hébergée pour votre domaine personnalisé avec une délégation définie dans la zone hébergée parent qui dirige les requêtes vers la zone hébergée du sous-domaine. Sinon, créez un enregistrement A. Cette méthode offre plus de flexibilité et de sécurité avec vos zones hébergées. Pour plus d’informations, consultez Création d’un sous-domaine pour un domaine hébergé via Amazon Route 53.

  3. Sur la page Hosted Zones (Zones hébergées), choisissez le nom de votre zone hébergée.

  4. Ajoutez un DNS enregistrement pour le domaine parent de votre domaine personnalisé, si vous n'en avez pas déjà un. Créez un DNS enregistrement pour le domaine parent avec les propriétés suivantes :

    • Nom de l'enregistrement : laissez ce champ vide.

    • Type d'enregistrement :A.

    • Alias : ne pas activer.

    • Valeur : Entrez la cible de votre choix. Cet enregistrement doit aboutir à quelque chose, mais sa valeur n'a pas d'importance pour Amazon Cognito.

    • TTL: Réglez selon vos préférences TTL ou laissez-le par défaut.

    • Politique de routage : choisissez Routage simple.

  5. Choisissez Create records (Créer des registres). Voici un exemple d'enregistrement pour le domaine example.com:

    example.com. 60 IN A 198.51.100.1

    Note

    Amazon Cognito vérifie qu'il existe un DNS enregistrement pour le domaine parent de votre domaine personnalisé afin de vous protéger contre le piratage accidentel de domaines de production. Si vous n'avez aucun DNS enregistrement pour le domaine parent, Amazon Cognito renvoie un message d'erreur lorsque vous tentez de définir le domaine personnalisé. Un enregistrement Start of Authority (SOA) n'est pas un DNS enregistrement suffisant aux fins de la vérification du domaine parent.

  6. Ajoutez un autre DNS enregistrement pour votre domaine personnalisé avec les propriétés suivantes :

    • Nom de l'enregistrement : votre préfixe de domaine personnalisé, par exemple auth pour créer un enregistrement pourauth.example.com.

    • Type d'enregistrement :A.

    • Alias : Activer.

    • Acheminer le trafic vers : Choisissez Alias vers la distribution Cloudfront. Entrez l'Alias cible que vous avez enregistré précédemment, par exemple123example.cloudfront.net.

    • Politique de routage : choisissez Routage simple.

  7. Choisissez Create records (Créer des registres).

    Note

    La propagation de vos nouveaux enregistrements sur tous les DNS serveurs Route 53 peut prendre environ 60 secondes. Vous pouvez utiliser la GetChangeAPIméthode Route 53 pour vérifier que vos modifications se sont propagées.

Étape 3 : Vérification de votre page de connexion

  • Vérifiez que la page de connexion est disponible à partir de votre domaine personnalisé.

    Connectez-vous avec votre domaine personnalisé et votre sous-domaine en saisissant cette adresse dans votre navigateur. Il s'agit d'un exemple URL de domaine personnalisé example.com avec le sous-domaine auth:

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

Modification du SSL certificat de votre domaine personnalisé

Si nécessaire, vous pouvez utiliser Amazon Cognito pour modifier le certificat que vous avez appliqué à votre nom de domaine personnalisé.

En général, cela n'est pas nécessaire après le renouvellement de routine des certificats avecACM. Lorsque vous renouvelez votre certificat existant enACM, le ARN certificat reste le même et votre domaine personnalisé utilise automatiquement le nouveau certificat.

Toutefois, si vous remplacez votre certificat existant par un nouveau, vous en ACM attribuez un nouveau au nouveauARN. Pour appliquer le nouveau certificat à votre domaine personnalisé, vous devez le fournir ARN à Amazon Cognito.

Une fois que vous avez fourni votre nouveau certificat, Amazon Cognito nécessite jusqu’à 1 heure pour le distribuer à votre domaine personnalisé.

Avant de commencer

Avant de pouvoir modifier votre certificat dans Amazon Cognito, vous devez l'ajouter à. ACM Pour plus d’informations, consultez Démarrer dans le Guide de l’utilisateur AWS Certificate Manager .

Lorsque vous ajoutez votre certificat àACM, vous devez choisir USA Est (Virginie du Nord) comme AWS région.

Vous pouvez modifier votre certificat à l'aide de la console Amazon Cognito ou. API

AWS Management Console
Pour renouveler un certificat à partir de la console Amazon Cognito :
  1. Connectez-vous à la console Amazon Cognito AWS Management Console et ouvrez-la à l'adresse. https://console.aws.amazon.com/cognito/home

  2. Choisissez Groupes d’utilisateurs.

  3. Choisissez le groupe d’utilisateurs pour lequel vous souhaitez mettre à jour le certificat.

  4. Choisissez l’onglet App integration (Intégration d’applications).

  5. Choisissez Actions, Modifier le ACM certificat.

  6. Sélectionnez le nouveau certificat que vous souhaitez associer à votre domaine personnalisé.

  7. Sélectionnez Enregistrer les modifications.

API
Pour renouveler un certificat (Amazon CognitoAPI)