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 d’Amazon Cognito et les points de terminaison de l’API d’authentification. Avec un domaine personnalisé, vous permettez à vos utilisateurs de se connecter à votre application à l’aide de votre propre adresse web.

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

Pour ajouter un domaine personnalisé à votre groupe d’utilisateurs, vous spécifiez le nom de domaine dans la console Amazon Cognito et fournissez un certificat que vous gérez avec AWS Certificate Manager (ACM). Une fois que vous avez ajouté votre domaine, Amazon Cognito fournit une cible d’alias que vous ajoutez à votre configuration DNS.

Prérequis

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

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

  • Un domaine Web que vous possédez. Son domaine parent doit avoir un enregistrement A DNS 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 (TLD) 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.exemple.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.

  • Certificat SSL (Secure Sockets Layer) géré par ACM.

    Note

    Vous devez changer la AWS région en USA Est (Virginie du Nord) dans la console ACM 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 attachant la déclaration de politique IAM suivante à un utilisateur de votre compte 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é (stratégies IAM) pour. CloudFront

    Amazon Cognito utilise initialement vos autorisations IAM 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 versions TLS 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 de l’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. Pour Domaine personnalisé, saisissez l’URL du 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 Certificat ACM, choisissez le certificat SSL que vous souhaitez utiliser pour votre domaine. Seuls les certificats ACM de l'est des États-Unis (Virginie du Nord) peuvent être utilisés avec un domaine personnalisé Amazon Cognito, quel que soit votre groupe d'utilisateurs. Région AWS

    Si vous n’avez pas de certificat disponible, vous pouvez utiliser ACM pour allouer un dans la région USA Est (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. Le message Créez un enregistrement d’alias dans le DNS de votre domaines’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 l’API Amazon Cognito) :

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

Au cours de cette étape, vous allez configurer un alias via votre fournisseur de service DNS (Domain Name Server) qui renvoie vers la cible de l’alias de l’étape précédente. Si vous utilisez Amazon Route 53 pour la résolution d’adresse DNS, 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’adresse DNS, vous devez utiliser les outils de configuration de votre fournisseur de services DNS pour ajouter la cible d’alias de l’étape précédente à l’enregistrement DNS de votre domaine. Votre fournisseur DNS doit également configurer le sous-domaine pour 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 dans Route 53, créez-en une avec une racine parent de votre domaine personnalisé. Pour plus d'informations, veuillez consulter la rubrique

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

    2. Saisissez le domaine parent, par exemple, auth.example.com, de votre domaine personnalisé, par exemple, myapp.auth.example.com, à partir de la liste Nom 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 zone hébergée pour votre domaine personnalisé, et vous pouvez créer un jeux de délégations 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 enregistrement DNS pour le domaine parent de votre domaine personnalisé, si vous n'en avez pas déjà un. Ajoutez un A enregistrement DNS pour le domaine parent et choisissez Create records. Voici un exemple d’enregistrement pour le domaine auth.example.com.

    auth.example.com. 60 IN A 198.51.100.1

    Note

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

  5. Ajoutez un enregistrement DNS pour votre domaine personnalisé. Votre enregistrement doit pointer vers la cible Alias de domaine personnalisée, par exemple123example.cloudfront.net. Choisissez Créer un enregistrement de nouveau.

  6. Saisissez un nom de l’enregistrement qui correspond à votre domaine personnalisé, par exemple, monapp pour créer un enregistrement pour monapp.auth.exemple.com.

  7. Activer l’option Alias.

  8. Choisissez d’Acheminer le trafic vers un Alias vers distribution CloudFront. Saisissez la cible d’alias fournie par Amazon Cognito lorsque vous avez créé votre domaine personnalisé.

  9. Choisissez Créer des enregistrements.

    Note

    Vos nouveaux enregistrements peuvent prendre environ 60 secondes pour se propager à tous les serveurs DNS Route 53. Vous pouvez utiliser la méthode de l'GetChangeAPI 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. Voici un exemple d’URL de domaine personnalisé exemple.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 certificat SSL 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é.

Généralement, cela est inutile après un renouvellement de certificat avec ACM. Lorsque vous renouvelez votre certificat existant dans ACM, l’ARN de votre certificat demeure le même et votre nom de domaine personnalisé utilise le nouveau certificat automatiquement.

Toutefois, si vous remplacez votre certificat existant par un nouveau certificat, ACM attribue au nouveau certificat un nouvel ARN. Pour appliquer le nouveau certificat à votre domaine personnalisé, vous devez fournir cet 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 ajouter votre certificat à ACM. Pour plus d’informations, consultez Mise en route dans le Guide de l’utilisateur AWS Certificate Manager .

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

Vous pouvez modifier votre certificat à l’aide de la console Amazon Cognito ou de l’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 certificat ACM.

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

  7. Sélectionnez Enregistrer les modifications.

API
Pour renouveler un certificat (API Amazon Cognito)