Comment configurer mon Application Load Balancer pour authentifier les utilisateurs via un groupe d'utilisateurs Amazon Cognito ?

Lecture de 6 minute(s)
0

Je souhaite intégrer un Application Load Balancer à un groupe d'utilisateurs Amazon Cognito à des fins d'authentification des utilisateurs.

Brève description

Pour gérer et authentifier les utilisateurs, vous pouvez intégrer un Application Load Balancer à un groupe d'utilisateurs Amazon Cognito. Pour configurer l'authentification des utilisateurs à l'aide d'un Application Load Balancer et d'un groupe d'utilisateurs Amazon Cognito, procédez comme suit :

1.    Créez un Application Load Balancer et générez son nom DNS.

2.    Créez et configurez un groupe d'utilisateurs Amazon Cognito.

3.    Configurez l'Application Load Balancer.

4.    Testez la configuration.

Résolution

Pour configurer un Application Load Balancer et un groupe d'utilisateurs Amazon Cognito afin d'authentifier les utilisateurs de votre application, procédez comme suit.

Créer un Application Load Balancer

Remarque : si vous avez déjà configuré un Application Load Balancer, passez à la section suivante.

1.    Créez un Application Load Balancer accessible sur Internet.

2.    Créez un écouteur HTTPS pour votre Application Load Balancer.

Remarque : seuls les écouteurs HTTPS prennent en charge les types d'actions de règle authenticate-cognito et authenticate-oidc.

Générer le nom DNS de votre Application Load Balancer

1.    Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).

2.    Dans le volet de navigation, sous Load Balancing (Équilibrage de charge), sélectionnez Load Balancers (Équilibreurs de charges).

3.    Sélectionnez votre Application Load Balancer.

4.    Sur l'onglet Description, copiez le nom DNS de votre équilibreur de charge et enregistrez-le. Utilisez ce nom DNS pour accéder à l'URL du point de terminaison de votre Application Load Balancer à des fins de test.

Créer et configurer un groupe d'utilisateurs Amazon Cognito

1.    Créez un groupe d'utilisateurs Amazon Cognito avec un client d'application. Lorsque vous configurez le client d'application, sélectionnez le bouton radio Generate a client secret (Générer un secret client).

Pour plus d'informations, consultez Préparez-vous à utiliser Amazon Cognito.

Remarque : lorsque vous créez le groupe d'utilisateurs, définissez les paramètres souhaités pour la production. Une fois que vous avez créé le groupe d'utilisateurs, vous ne pouvez pas modifier certains de ses paramètres. Par exemple, vous ne pouvez pas modifier les attributs standard requis pour l'enregistrement des utilisateurs.

2.    Ouvrez la console Amazon Cognito.

3.    Dans le volet de navigation, sélectionnez User pools (Groupes d'utilisateurs), puis sélectionnez votre groupe d'utilisateurs. Copiez et enregistrez l'ID du groupe d'utilisateurs. Utilisez cet ID pour configurer votre Application Load Balancer à des fins d'authentification des utilisateurs.

4.    Sélectionnez l'onglet App integration (Intégration d'application) pour votre groupe d'utilisateurs, puis ajoutez un domaine pour votre groupe d'utilisateurs.

5.    Dans l'onglet App integration (Intégration d'application) de votre groupe d'utilisateurs, accédez à la section App clients and analytics (Clients d'application et analytique). Sélectionnez ensuite votre client d'application.

6.    Sur la page du client d'application, sous App client information (Informations sur le client d'application), copiez et enregistrez l'ID client. Utilisez cet ID pour configurer votre Application Load Balancer à des fins d'authentification des utilisateurs.

7.    Dans la section Hosted UI (Interface utilisateur hébergée), sélectionnez Edit (Modifier).

8.    Sélectionnez Add callback URL (Ajouter une URL de rappel), puis saisissez https://loadBalancerDNSName/oauth2/idpresponse.

-ou-

Si vous avez utilisé un enregistrement CNAME pour associer un domaine personnalisé à votre Application Load Balancer, saisissez https://CNAME/oauth2/idpresponse.

Remarque : remplacez loadBalancerDNSName par le nom DNS que vous avez copié à partir de la console Amazon EC2. Si vous utilisez un enregistrement CNAME, remplacez CNAME par votre domaine personnalisé.

9.    Sélectionnez Add sign-out URL (Ajouter une URL de déconnexion), puis saisissez l'URL vers laquelle vous souhaitez rediriger vos utilisateurs une fois qu'ils se sont déconnectés. À des fins de test, vous pouvez saisir n'importe quelle URL valide, par exemple https://example.com/.

10.    Sous Identity providers (Fournisseurs d'identité), cochez la case Cognito user pool (Groupe d'utilisateurs Cognito).

11.    Sous OAuth 2.0 grant types (Types d'octroi OAuth 2.0), cochez la case Authorization code grant (Octroi de code d'autorisation). Sélectionnez tous les types d'octroi OAuth supplémentaires en fonction de vos besoins.

12.    Sous OpenID Connect scopes (Portées OpenID Connect), cochez la case OpenID. La portée OpenID renvoie un jeton d'identification. Sélectionnez toutes les portées OpenID Connect (OIDC) supplémentaires en fonction de vos besoins.

13.    Sélectionnez Save changes (Enregistrer les modifications).

Pour plus d'informations, consultez Configuration d'un client d'application pour groupe d'utilisateurs et Ajout d'une connexion de groupe d'utilisateurs via un tiers.

Configurer votre Application Load Balancer

1.    Ouvrez la console Amazon EC2.

2.    Dans le volet de navigation, sous Load Balancing (Équilibrage de charge), sélectionnez Load Balancers (Équilibreurs de charges).

3.    Sélectionnez votre Application Load Balancer.

4.    Dans l'onglet Listeners (Écouteurs), sélectionnez la règle par défaut de l'écouteur HTTPS que vous souhaitez mettre à jour, puis sélectionnez Actions, Manage rules (Gérer les règles).

5.    Modifiez la règle par défaut de l'écouteur HTTPS avec les paramètres suivants :

  • Pour THEN, sélectionnez Add action (Ajouter une action).
  • Sélectionnez Authenticate (Authentifier).
  • Pour Authenticate (Authentifier), sélectionnez Amazon Cognito.
  • Pour le groupe d'utilisateurs, saisissez l'ID du groupe d'utilisateurs que vous avez copié depuis la console Amazon Cognito.
  • Pour le client d'application, saisissez l'ID client que vous avez copié à partir de la console Amazon Cognito.
  • Développez Advanced settings (Paramètres avancés).
  • Pour Scope (Portée), saisissez les portées que vous avez définies pour votre client d'application de groupe d'utilisateurs. Pensez à les séparer avec une espace. Vous pouvez trouver les portées dans la configuration OIDC de votre groupe d'utilisateurs. Par exemple, si la valeur scopes_supported dans la configuration est [« openid »,« email »,« phone »,« profile »], saisissez alors openid email phone profile.
  • Sélectionnez l'icône de coche.

6.    Continuez à modifier la règle par défaut de l'écouteur HTTPS avec les paramètres suivants :

  • Pour THEN, sélectionnez Add action (Ajouter une action).
    Remarque : si vous ne pouvez pas sélectionnez Add action (Ajouter une action), utilisez l'icône de corbeille pour supprimer l'action de routage existante, telle que Redirect to (Rediriger vers). Ensuite, réessayez.
  • Sélectionnez Forward to (Réacheminer vers).
  • Pour Réacheminer vers, choisissez un ou plusieurs groupes cibles.
  • (Facultatif) Définissez la permanence au niveau du groupe.
  • Sélectionnez l'icône de coche.

7.    Sélectionnez Update (Mettre à jour) pour mettre à jour la règle par défaut de l'écouteur HTTPS.

Tester la configuration

Dans votre navigateur web, saisissez l'une des URL suivantes :

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

Remarque : remplacez loadBalancerDNSName par le nom DNS que vous avez copié à partir de la console Amazon EC2. Vous pouvez également remplacer CNAME par votre domaine personnalisé. Vous êtes redirigé vers l'interface utilisateur web hébergée Amazon Cognito de votre groupe d'utilisateurs. Une fois que les utilisateurs se sont connectés et que le groupe d'utilisateurs les a authentifiés, ils sont redirigés vers la cible.


Informations connexes

Démarrage avec les Application Load Balancers

Simplifier la connexion avec l'authentification intégrée à l'aide d'un Application Load Balancer

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

Flux d'authentification du fournisseur d'identité du groupe d'utilisateurs OIDC

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an