Passer au contenu

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

Lecture de 5 minute(s)
0

Je souhaite utiliser l'authentification Amazon Cognito avec mon Application Load Balancer via un groupe d'utilisateurs Amazon Cognito. Cependant, mon groupe d'utilisateurs se trouve dans un autre compte AWS.

Résolution

Dans la résolution suivante, le compte B est le compte propriétaire de l'Application Load Balancer et le compte A est le compte propriétaire du groupe d'utilisateurs.

Créer un Application Load Balancer

Si vous disposez déjà d'un Application Load Balancer, passez à la section suivante.

Si vous ne disposez pas d’un Application Load Balancer, créez-en un avec un écouteur HTTPS.

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

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

Effectuez les étapes suivantes dans le compte B :

  1. Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).
  2. Dans le volet de navigation, choisissez Équilibreurs de charge.
  3. Sélectionnez votre Application Load Balancer.
  4. Dans l'onglet Description, notez le nom DNS de votre équilibreur de charge à utiliser ultérieurement.

Créer et configurer un groupe d'utilisateurs dans le compte A

Si vous disposez déjà d’un groupe d'utilisateurs dans l'autre compte, passez à la section suivante.

Si vous ne disposez pas d’un groupe d'utilisateurs, effectuez les étapes suivantes dans le compte A :

  1. Créer un groupe d'utilisateurs Amazon Cognito avec un client d'application.
    Remarque : Lorsque vous créez un client d'application, vous pouvez choisir l'une des quatre options suivantes : application Web traditionnelle, application à page unique, application mobile et authentification M2M. Si vous optez pour une application Web traditionnelle ou une authentification M2M, un client d'application avec un secret client est généré.
  2. Ouvrez la console Amazon Cognito.
  3. Dans la section Vue d'ensemble du groupe d'utilisateurs correspondante à votre groupe d'utilisateurs, notez l'ID du groupe d'utilisateurs à utiliser ultérieurement.
  4. Dans l'onglet Marque, choisissez Domaine. Ajoutez un nom de domaine Amazon Cognito à votre groupe d'utilisateurs. Le nom de domaine est un préfixe de domaine unique requis par l'interface utilisateur hébergée de Cognito.
  5. Sous Applications, choisissez Clients d’application.
  6. Sélectionnez le client d'application que vous souhaitez mettre à jour.
  7. Sur la page Client d’application, procédez comme suit :
    Activez Afficher le secret du client.
    Notez l'ID du client d'application et le secret du client d'application à utiliser ultérieurement.
  8. Sous Interface utilisateur hébergée, ajoutez les URL de rappel https://load-balancer-dns-name/oauth2/idpresponse et https://custom-domain-name/oauth2/idpresponse.
  9. Sélectionnez Octroi de code d'autorisation pour les types d’octroi OAuth 2.0.
  10. Sélectionnez openid pour les portées OAuth 2.0.
  11. Sélectionnez Enregistrer les modifications.

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

Pour configurer votre groupe d'utilisateurs en tant que fournisseur d'identité (IdP) OpenID Connect (OIDC) sur votre Application Load Balancer, vous devez obtenir les détails du point de terminaison de configuration OIDC.

Pour obtenir les détails de configuration, procédez comme suit :

  1. Dans votre navigateur, saisissez l'URL https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration.
    Remarque : Remplacez region par la région AWS de votre groupe d'utilisateurs, par exemple us-east-1 et userPoolId par l'ID de votre groupe d'utilisateurs.
  2. Dans la réponse JSON qui s'affiche dans votre navigateur, notez les valeurs des champs suivants :
    authorization_endpoint
    Émetteur
    scopes_supported
    token_endpoint
    userinfo_endpoint

Configurer votre Application Load Balancer dans le compte B

Effectuez les étapes suivantes dans le compte B :

  1. Ouvrez la console Amazon EC2.
  2. Sélectionnez votre Application Load Balancer.
  3. Dans l'onglet Écouteur et règles, sélectionnez Règle HTTPS:443.
  4. Dans Gérer les règles, choisissez Modifier la règle.
  5. Sélectionnez les règles par défaut.
  6. Sous Actions, choisissez Modifier la règle.
  7. Sous Action par défaut, sélectionnez Authentifier les utilisateurs.
    Remarque : Le fournisseur d'identité OIDC est sélectionné par défaut.
  8. Saisissez les valeurs que vous avez notées dans les champs suivants :
    Dans Émetteur, saisissez la valeur de l'émetteur.
    Dans Point de terminaison d'autorisation, saisissez la valeur de authorization_endpoint.
    Dans Point de terminaison du jeton, saisissez la valeur de token_endpoint.
    Dans Point de terminaison des informations utilisateur, saisissez la valeur de userinfo_endpoint.
    Dans ID du client, saisissez l'ID de client de votre application.
    Dans Secret du client, saisissez le secret de votre client d’application.
  9. Sélectionnez Enregistrer.

Tester la configuration

Procédez comme suit :

  1. Dans votre navigateur, saisissez l'URL de votre Application Load Balancer.
  2. Vérifiez que vous êtes redirigé vers l'interface utilisateur hébergée par Cognito.
  3. Connectez-vous avec des informations d'identification d'utilisateur valides.

Remarque : Pour éviter les erreurs, assurez-vous que toutes les URL utilisent des caractères minuscules.

Informations connexes

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’écouteur pour votre Application Load Balancer

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

AWS OFFICIELA mis à jour il y a 7 mois