Comment configurer OneLogin en tant que fournisseur d'identité SAML avec un groupe d'utilisateurs Amazon Cognito ?

Date de la dernière mise à jour : 23/06/2021

Je veux utiliser OneLogin comme fournisseur d'identité (IdP) du Security Assertion Markup Language 2.0 (SAML 2.0) avec un groupe d'utilisateurs Amazon Cognito. Comment puis-je procéder ?

Brève description

Les groupes d'utilisateurs Amazon Cognito permettent de se connecter par l'intermédiaire d'un tiers (fédération), y compris par le biais d'un IdP SAML tel qu'OneLogin. Pour plus d'informations, consultez Ajout de la connexion d'un groupe d'utilisateurs via un tiers et Ajout de fournisseurs d'identité SAML à un groupe d'utilisateurs.

Pour configurer OneLogin comme IdP SAML, il vous faut un groupe d'utilisateurs Amazon Cognito et un compte OneLogin comportant une application.

Solution

Création d’un groupe d'utilisateurs Amazon Cognito avec un client d'application et un nom de domaine

Pour en savoir plus, consultez les articles suivants :

Remarque : lors de la création d'un groupe d'utilisateurs, l'attribut standarde-mail est sélectionné par défaut. Pour plus d'informations sur les attributs du groupe d'utilisateurs, consultez la section Configuration des attributs de groupe d'utilisateurs.

Création d'un compte OneLogin

Pour plus d'informations, rendez-vous sur le site web OneLogin et sélectionnez Start a free trial (Démarrer l'essai gratuit).

Sur la page de création de compte, dans le champ Your OneLogin Domain (Votre domaine OneLogin), renseignez le domaine fourni par OneLogin.

Création d’une application OneLogin

1.    Sur la page du portail OneLogin (https://your-new-domain.onelogin.com/portal/), choisissez Administration.

2.    En haut de la page d’administration, faites une pause sur Apps, puis choisissez Add apps.

3.    Dans la barre de recherche, sous Find Applications, entrezsaml, puis choisissez SAML Test Connector (IdP) pour ouvrir la page Add SAML Test Connector (IdP).

4.    (Facultatif) Procédez selon une des étapes suivantes :
Pour Display Name, entrez un nom et une description. Par exemple, Cognito Setup (IdP).
Pour Rectangular Icon et Square Icon, chargez les icônes vignettes à la suite des spécifications sur la page.
Pour Description, entrez une bref résumé descriptif. Par exemple, Pour un groupe d’utilisateur Amazon Cognito.

5.    Sélectionnez Save (Enregistrer).

Modification de votre configuration d’application OneLogin

1.    Choisissez Configuration.

2.    Sur la page Configuration, procédez de la façon suivante :
Sous RelayState, saisissez une URL valide, par exemple https://www.exemple.com.
Sous Audience, saisissez urn:amazon:cognito:sp:yourUserPoolId.
Laissez le champ Recipient (Destinataire) vide.
Sous ACS (Consumer) URL Validator (Validation d'URL ACS [Consommateur]), copiez l'adresse https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse.
Sous ACS (Consumer) URL (URL ACS [Consommateur]), copiez l'adresse https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse.
Laissez le champ Single Logout URL (URL de déconnexion unique) vide.

Remarque : pour Audience, remplacez yourUserPoolId par l'ID de votre groupe d'utilisateurs Amazon Cognito. Retrouvez l'ID dans la console Amazon Cognito dans l'onglet General settings (Paramètres généraux) de la page de gestion de votre groupe d'utilisateurs.

Pour ACS (Consumer) URL Validator etACS (Consumer) URL, remplacez yourDomainPrefix etregion par les valeurs de votre groupe utilisateurs. Retrouvez-les dans la console Amazon Cognito dans l'onglet Domain name (Nom de domaine) de la page de gestion pour votre groupe d'utilisateurs.

Modification des paramètres de l’application OneLogin

1.    Choisissez Parameters.

Remarque : un paramètre (NameID (fka Email)) figure déjà dans la liste ; ce comportement est normal.

2.    Choisissez Add parameter pour créer un nouveau paramètre personnalisé.

3.    Dans la boîte de dialogue New Field, pour Field name, entrez http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier.

4.    Pour Flags, cochez la caseInclude in SAML assertion.

5.    Sélectionnez Save (Enregistrer).

6.    Pour Value, choisirEmail dans la liste.

7.    Sélectionnez Save (Enregistrer).

Copie des métadonnées de fournisseur d’identité pour votre application OneLogin

1.    Choisissez SSO.

2.    Sous Issuer URL, copiez l’URL dans votre presse-papier.

3.    Sélectionnez Save (Enregistrer) pour enregistrer toutes les modifications apportées à votre application OneLogin.

Configuration de OneLogin en tant qu'IdP SAML dans Amazon Cognito

Pour plus d'informations, consultez Création et gestion d'un fournisseur d'identité SAML pour un groupe d'utilisateurs. Suivez les instructions sous la section Pour configurer un fournisseur d'identité SAML 2.0 dans votre groupe d'utilisateurs.

Lors de la création de l'IdP SAML, pour le document de métadonnées, collez l'URL de l'émetteur que vous avez copiée.

Mappage de l'adresse e-mail à partir de l'attribut IdP sur l'attribut du groupe d'utilisateurs

Pour plus d'informations, consultez Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs. Suivez les instructions sous la section Spécifier un mappage d'attribut de fournisseur SAML.

Lors de l'ajout d'un attribut SAML, sous Attribut SAML, pour SAML Attribute saisissez http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier. Pour User pool attribute (Attribut du groupe d'utilisateurs), choisissez Email (E-mail) dans la liste.

Modification des paramètres du client de l'application dans Amazon Cognito

Remarque : ceci est un exemple de configuration élaboré à des fins de test. Pour une configuration en production, il est recommandé d'utiliser le flux OAuth Accorder le code d'autorisation pour vos paramètres de client d'application. Lorsque vous utilisez ce flux, vous recevez un code d'autorisation après l'authentification dans votre URL de redirection. Vous devez échanger le code d'autorisation pour les jetons web JSON (JWT) en effectuant une demande auprès du point de terminaison token.

1.    Dans la page de gestion de la Console Amazon Cognito de votre groupe d'utilisateurs, sous Intégration d’application, sélectionnez Paramètres du client de l’application. Puis, procédez comme suit :
Sous Enabled identity providers, cochez la case Select all.
PourURL(s) de rappel,saisissez une URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après la connexion. Pour les tests, vous pouvez entrer n'importe quelle URL valide, telle que https://www.example.com.
PourURL(s) de déconnexion, saisissez l’URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après la déconnexion. Pour les tests, vous pouvez entrer n'importe quelle URL valide, telle que https://www.example.com.
Sous Allowed OAuth Flows, cochez au moins la case Implicit grant.
Sous Allowed OAuth Scopes, cochez au moins les cases email et openid.

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

Pour plus d'informations, consultez la section Terminologie des paramètres du client d'application.

Test du point de terminaison de la connexion

1.    Dans votre navigateur, saisissez l'adresse https://yourDomainPrefix.auth.region.amazoncognito.com/login?response_type=token&client_id=yourClientId&redirect_uri=redirectUrl.

Remarque : remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Recherchez-les dans la console Amazon Cognito sous l'onglet Domain name (Nom de domaine) de la page de gestion de votre groupe d'utilisateurs.

Remplacez yourClientId par l'ID de votre client d'application, et remplacez redirectUrl par l'URL de rappel de votre client. Recherchez-les dans la console Amazon Cognito sous l'onglet App client settings (Paramètres du client d'application) de la page de gestion de votre groupe d'utilisateurs.

Pour plus d'informations, consultez Comment configurer l'interface utilisateur Web hébergée Amazon Cognito ? et Point de terminaison LOGIN.

2.    Sélectionnez OneLogin.

Remarque : si vous êtes redirigé vers l'URL de rappel de votre client d'application, cela signifie que vous êtes déjà connecté à votre compte OneLogin dans votre navigateur. Tout a été correctement configuré.

3.    Sur la page OneLogin, pour Username, entrez votre nom d’utilisateur de compte OneLogin.

4.    Choisissez Continue.

5.    Pour Password, entrez le mot de passe de votre compte OneLogin.

6.    Choisissez Continue.

Si vous êtes redirigé vers l'URL de rappel de votre client d'application, cela signifie que la configuration est correcte.