Comment configurer mon Application Load Balancer pour qu’il authentifie les utilisateurs via un groupe d'utilisateurs Amazon Cognito sur un autre compte AWS ?

Lecture de 7 minute(s)
0

Je souhaite utiliser l'authentification Amazon Cognito sur mon Application Load Balancer, mais mon groupe d'utilisateurs se trouve dans un autre compte AWS. Je souhaite donc utiliser un groupe d'utilisateurs multi-comptes pour l'authentification.

Brève description

Seuls les groupes d'utilisateurs Amazon Cognito du même compte sont pris en charge par défaut lorsque vous configurez un Application Load Balancer pour l'authentification des utilisateurs. Toutefois, pour contourner le problème, configurez votre groupe d'utilisateurs multi-comptes en tant que fournisseur d'identité (IdP) OpenID Connect (OIDC).

Suivez ces instructions pour configurer votre Application Load Balancer dans un compte (« compte B ») pour l’authentification via un groupe d’utilisateurs dans un autre compte (« compte A »).

Résolution

Créer une Application Load Balancer

Si vous ne l'avez pas déjà fait, dans le compte B, créez une Application Load Balancer avec un écouteur HTTPS.
Remarque : Les types d'action des règles authenticate-cognito et authenticate-oidc ne sont pris en charge qu'avec les écouteur HTTPS.

Obtenez le nom DNS de votre Application Load Balancer dans le compte B

  1. Dans le compte B, ouvrez la page Équilibreur de Charge de la console Amazon Elastic Compute Cloud (Amazon EC2).
  2. Sélectionnez votre Application Load Balancer.
  3. Dans l'onglet Description, copiez le nom DNS de votre équilibreur de charge. Vous en avez besoin pour accéder à l'URL du point de terminaison de votre équilibreur de charge et le tester ultérieurement.

Création et configuration d'un groupe d'utilisateurs dans le compte A

  1. Dans le compte A, créez un groupe d'utilisateurs Amazon Cognito avec un client d'application. Pour le client de l'application, veillez à sélectionner l'option Générer le secret du client. Pour plus d'informations, consultez Préparation à l'utilisation d'Amazon Cognito.
    Remarque : Lors de la création du groupe d'utilisateurs, configurez les paramètres que vous souhaitez pour la production. Certains paramètres du groupe d'utilisateurs ne peuvent pas être modifiés une fois que vous avez créé le groupe d'utilisateurs. Par exemple, vous ne pouvez pas modifier les attributs standard requis pour l'enregistrement des utilisateurs.
  2. Dans la console Amazon Cognito, dans la section Vue d'ensemble du groupe d'utilisateurs de votre groupe d'utilisateurs, notez l'ID du groupe d'utilisateurs. Vous en aurez besoin ultérieurement pour recueillir les détails de configuration OIDC de votre groupe d'utilisateurs.
  3. Sous l'onglet Intégration des applications, accédez à Domaine. Ajoutez un nom de domaine Amazon Cognito à votre groupe d'utilisateurs. Il s'agit d'un préfixe de domaine unique requis par l’interface utilisateur hébergée de Cognito
  4. Sous l'onglet Intégration des applications, accédez à la Liste des clients des applications
  5. Choisissez le client d'application que vous souhaitez mettre à jour. Sur la page du client de l'application, procédez comme suit :
    Activez Afficher le secret du client.
    Copiez l'identifiant du client de l'application et le secret du client de l'application. Vous avez besoin de ces valeurs pour configurer votre Application Load Balancer pour l'authentification des utilisateurs.
  6. Sur la page client de l'application, accédez à la section **, ** de l’ Interface utilisateur hébergée cliquez sur Modifier.
  7. Sur la page Modifier l'interface utilisateur hébergée, procédez comme suit :
    Pour les fournisseurs d'identité, sélectionnez groupe d’utilisateurs Cognito.
    Pour Ajouter une ou plusieurs URL de rappel, entrez https://loadBalancerDNSName/oauth2/idpresponse. Ou, si vous avez mappé un domaine personnalisé à votre équilibreur de charge avec un enregistrement CNAME, entrez https://CNAME/oauth2/idpresponse.
    Remarque : Remplacez LoadBalancerDNSName par le nom DNS que vous avez copié depuis la console Amazon EC2. Si vous utilisez un enregistrement CNAME, remplacez CNAME par votre domaine personnalisé. Assurez-vous que les valeurs des URL sont en minuscules, sinon vous recevrez un message d'erreur.
    Pour Ajouter une ou plusieurs URL de déconnexion, entrez l'URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après leur déconnexion. Pour l’étape de test, saisissez une URL valide, telle que https://www.example.com/.
    Pour les types de subvention OAuth 2.0, sélectionnez Octroi de code d'autorisation.
    Pour les scopes OpenID Connect, sélectionnez Openid. La portée openid renvoie un jeton d'identification.
    Entrez toutes les étendues OAuth supplémentaires requises par votre cas d'utilisation.
  8. Choisissez Enregistrer les modifications.

Pour plus d'informations, consultez Configuration d'un client d'application de groupe d'utilisateurs et Ajout de fournisseurs d'identité OIDC à un groupe d'utilisateurs.

Obtenez les détails de configuration OIDC de votre groupe d'utilisateurs

Accédez au point de terminaison de configuration OIDC de votre groupe d'utilisateurs. Vous avez besoin des détails de configuration pour configurer votre groupe d'utilisateurs en tant que IdP OIDC sur votre Application Load Balancer.

  1. Dans votre navigateur, saisissez l'URL suivante : https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration
    Remarque : Remplacez la région par la Région AWS de votre groupe d’utilisateurs. (Par exemple, us-east-1.) Remplacez userPoolld par l'ID de votre groupe d'utilisateurs que vous avez noté précédemment.
  2. Copiez la réponse JSON qui s'affiche dans votre navigateur. Notez les valeurs de ces champs :
    authorization_endpoint
    Émetteur
    scopes_supported
    token_endpoint
    userinfo_endpoint

Configurez votre Application Load Balancer dans le compte B

  1. Dans le compte B, sur la page équilibreur de charge de la console Amazon EC2, sélectionnez votre application Load Balancer.
  2. Dans l'onglet Écouteurs, sous Règles, choisissez Afficher/modifier les règles pour votre écouteur HTTPS.
  3. Dans la barre de menu, choisissez l'icône en forme de crayon (Modifier les règles).
  4. À côté de la règle par défaut pour votre écouteur HTTPS, cliquez sur l'icône en forme de crayon (Modifier la règle).
  5. Sous ENSUITE, choisissez Ajouter une action, puis procédez comme suit :
    Choisissez Authentifier.
    Pour Authenticate, choisissez OIDC.
    Pour Émetteur, entrez la valeur de l'émetteur à partir de la configuration OIDC de votre groupe d'utilisateurs.
    Pour Point de terminaison d'autorisation, entrez la valeur authorization_endpoint.
    Pour le point de terminaison du jeton, entrez la valeur du token_endpoint.
    Pour Point de terminaison d’informations utilisateur, entrez la valeur userinfo_endpoint.
    Pour l'ID du client, entrez l'ID du client de l'application que vous avez copié précédemment à partir de la console Amazon Cognito.
    Dans le champ Secret du client, entrez le secret du client de l'application que vous avez copié précédemment.
    Développez les Paramètres avancés.
    Pour Étendue, entrez les étendues que vous avez configurées pour le client d'application de votre groupe d'utilisateurs, séparées par des espaces. Trouvez les étendues dans la configuration OIDC de votre groupe d'utilisateurs. Par exemple, si la valeur scopes_supported dans la configuration est [« openid », « email », « phone », « profile »], entrez le profil téléphonique de messagerie openid.
    Choisissez l'icône de coche.
  6. Sous ENSUITE, choisissez Ajouter une action, puis procédez comme suit :
    Remarque : Si vous ne parvenez pas à choisir Ajouter une action, supprimez l'action de routage en cours (telle que Rediriger vers). Ensuite, réessayez.
    Choisissez Transférer vers.
    Pour Transférer vers, choisissez un ou plusieurs groupes cibles.
    (Facultatif) Configurez le caractère d’adhérence au niveau du groupe.
    Choisissez l'icône de coche.
  7. Choisissez Mettre à jour. La règle par défaut de l'écouteur HTTPS est mise à jour.

Pour plus d'informations, voir Modifier une règle.

Testez la configuration

Dans votre navigateur, entrez l'une des URL suivantes :

  • https://loadBalancerDNSName/
  • https://CNAME/

**Remarque :**Remplacez LoadBalancerDNSName par le nom DNS que vous avez copié précédemment depuis la console Amazon EC2. Vous pouvez également remplacer CNAME par votre domaine personnalisé.

Vous êtes redirigé vers l'interface utilisateur Web hébergée par Amazon Cognito pour votre groupe d'utilisateurs. Lorsqu'un utilisateur se connecte ici et est authentifié par le groupe d'utilisateurs, il est redirigé vers la cible.

Informations connexes

Commencer à utiliser les Application Load Balancer

Simplifier la connexion grâce à l’authentification intégrée de l’Application Load Balancer

Authentifier les utilisateurs à l’aide d’un Application Load Balancer

Règles d'écoute pour votre Application Load Balancer

Flux d’authentification de l’IdP du groupe d’utilisateurs OIDC

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 8 mois