Comment puis-je configurer Okta comme fournisseur d'identité SAML dans un groupe d'utilisateurs Amazon Cognito ?

Date de la dernière mise à jour : 27/09/2021

Je souhaite utiliser Okta comme fournisseur d'identité (IdP) pour Security Assertion Markup Language 2.0 (SAML 2.0) dans un groupe d'utilisateurs Amazon Cognito. Comment puis-je procéder ?

Brève description

Si vous ne l'avez pas encore fait, affectez une adresse IP élastique à votre compte AWS. 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.

Un groupe d'utilisateurs intégré à Okta permet aux utilisateurs de votre application Okta d'obtenir des jetons de groupe d'utilisateurs à partir d'Amazon Cognito. Pour plus d'informations, consultez la section Utilisation des jetons avec des groupes d'utilisateurs.

Résolution

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

  1. Créez un groupe d'utilisateurs.
    Remarque : lors de la création, l'attribut standard d'e-mail est sélectionné par défaut. Pour plus d'informations, consultez la section Configuration des attributs du groupe d'utilisateurs.
  2. Créez un client d'application dans votre groupe d'utilisateurs. Pour plus d'informations, consultez la section Ajout d'une application pour activer l'interface utilisateur Web hébergée.
    Remarque : lors de l'ajout d'un client d'application, désélectionnez la case Generate client secret (Générer le secret client). Pour certains flux d'autorisation, comme pour les flux Authorization code grant (Octroi du code d'autorisation) et Token refresh (Actualisation du jeton), les serveurs utilisent une clé secrète de client pour autoriser un client à adresser des requêtes pour le compte d'un utilisateur. Pour le flux d'autorisation implicite utilisé dans cette configuration, aucun secret d'application client n'est requis.
  3. Ajoutez un nom de domaine à votre groupe d'utilisateurs.

Création d'un compte de développeurs Okta

Remarque : si vous disposez déjà d'un compte de développeur Okta, connectez-vous à ce dernier.

  1. Sur la page web d'inscription du développeur Okta, saisissez les informations requises, puis choisissez S'INSCRIRE. L'équipe de développeurs Okta envoie un e-mail de vérification à l'adresse e-mail que vous avez renseignée.
  2. Cet e-mail de vérification contient les informations de connexion à votre compte. Choisissez ACTIVER MON COMPTE, connectez-vous et achevez la création de votre compte.

Créer une application SAML dans Okta

  1. Ouvrez la console pour développeurs Okta. Pour en savoir plus sur la console, consultez la console d'administration et le tableau de bord restructurés d'Okta.
  2. Dans le menu de navigation, développez Applications, puis choisissez Applications.
  3. Choisissez Créer une intégration d'application.
  4. Dans le menu Créer une nouvelle intégration d'application, choisissez SAML 2.0 comme Méthode de connexion.
  5. Choisissez Suivant.

Pour en savoir plus, consultez Préparer votre intégration dans le guide Créer une intégration à authentification unique (SSO) sur le site web du développeur Okta.

Configurer l'intégration SAML pour votre application Okta

  1. Sur la page Créer une intégration SAML, sous Paramètres généraux, saisissez le nom de votre application.
  2. (Facultatif) Chargez un logo et sélectionnez les paramètres de visibilité de votre application.
  3. Choisissez Suivant.
  4. Sous SAML Settings (Paramètres SAML), pour Single sign on URL (URL d'authentification unique), copiez l'adresse https://yourDomainPrefix.auth.region.amazoncognito.com/saml2/idpresponse.
    Remarque : remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Pour pouvez rechercher ces valeurs dans la console Amazon Cognito sous l'onglet Domaine name (Nom de domaine) de votre groupe d'utilisateurs.
  5. Pour Audience URI (SP Entity ID) (URI d'audience) (ID d'entité du fournisseur de service), saisissez urn:amazon:cognito:sp:yourUserPoolId.
    Remarque : remplacez yourUserPoolId par l'ID de votre groupe d'utilisateurs Amazon Cognito. Vous pouvez rechercher cette valeur dans la console Amazon Cognito sur la page General settings (Paramètres généraux) de votre groupe d'utilisateurs.
  6. Sous ATTRIBUTE STATEMENTS (OPTIONAL) (DECLARATIONS D'ATTRIBUT) (FACULTATIF), ajoutez une déclaration avec les informations suivantes :
    Pour Name (Nom), saisissez le nom d'attribut SAML http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress.
    Pour Value (Valeur), saisissez user.email.
  7. Pour tous les autres paramètres de la page, conservez leurs valeurs par défaut ou définissez-les en fonction de vos préférences.
  8. Choisissez Suivant.
  9. Sélectionnez un commentaire pour le support Okta.
  10. Sélectionnez Finish (Terminer).

Pour en savoir plus, consultez Créer votre intégration dans le guide Créer une intégration à authentification unique (SSO) sur le site web du développeur Okta.

Attribuer un utilisateur à votre application Okta

  1. Sous l'onglet Affectations de votre application Okta, cliquez sur Affecter et choisissez Affecter à des personnes.
  2. Choisissez Affecter à côté de l'utilisateur de votre choix.
    Remarque : s'il s'agit d'un nouveau compte, vous êtes le seul à pouvoir être choisi (admin) en tant qu'utilisateur.
  3. (Facultatif) Dans le champ User Name (Nom d'utilisateur), saisissez un nom d'utilisateur ou laissez l'adresse e-mail de l'utilisateur selon votre préférence.
  4. Sélectionnez Save et Go Back (Enregistrer et retour). Votre utilisateur est attribué.
  5. Choisissez Done (Terminé).

Pour en savoir plus, consultez Affecter des utilisateurs dans le guide Créer une intégration à authentification unique (SSO) sur le site web du développeur Okta.

Obtenir les métadonnées de l'IdP (fournisseur d'identité) de votre application Okta

Dans l'onglet Connexion de votre application Okta, recherchez le lien hypertexte Métadonnées du fournisseur d'identité. Cliquez avec le bouton droit sur le lien hypertexte, puis copiez l'URL.

Pour en savoir plus, consultez Spécifier vos paramètres d'intégration dans le guide Créer une intégration à authentification unique (SSO) sur le site web du développeur Okta.

Configurer Okta comme IdP (fournisseur d'identité) SAML dans votre groupe d'utilisateurs

  1. Dans la console Amazon Cognito, choisissez Gérer les groupes d'utilisateurs, puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Federation (Fédération), choisissez Identity providers (Fournisseurs d'identité).
  3. Choisissez SAML.
  4. Sous Metadata document (Document de métadonnées), collez l'URL Identity Provider metadata (Métadonnées du fournisseur d'identité) que vous avez copiée.
  5. Pour Nom du fournisseur, saisissez Okta. Pour en savoir plus, consultez Choix des noms de fournisseur d'identité SAML.
  6. (Facultatif) Saisissez des identifiants SAML (Identifiants (Facultatif)) et activez la déconnexion de l'IdP (Okta) lorsque vos utilisateurs se déconnectent de votre groupe d'utilisateurs (Activer le flux de déconnexion de l'IdP).
  7. Choisissez Create provider (Créer un fournisseur).

Pour en savoir plus, consultez Création et gestion d'un fournisseur d'identité SAML pour un groupe d'utilisateurs (Console de gestion AWS).

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

  1. Dans la console Amazon Cognito, choisissez Gérer les groupes d'utilisateurs, puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Federation (Fédération), choisissez Attribute mapping (Assocation d'attribut).
  3. Sur la page d'association d'attribut, choisissez l'onglet OIDC.
  4. Choisissez Add SAML attribute (Ajouter un attribut SAML).
  5. Pour SAML attribute (Attribut SAML), saisissez le nom d'attribut SAML http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress.
  6. Pour User pool attribute (Attribut du groupe d’utilisateurs), choisissez E-mail dans la liste.

Pour en savoir plus, consultez la section Spécification des mappages d'attributs du fournisseur d'identité pour votre groupe d'utilisateurs.

Modification des paramètres du client d'application pour votre groupe d'utilisateurs

  1. Dans la console Amazon Cognito, choisissez Gérer les groupes d'utilisateurs, puis choisissez votre groupe d'utilisateurs.
  2. Dans le volet de navigation de gauche, sous Intégration d'application, sélectionnezParamètres du client d'application.
  3. Sur la page du client d'application, procédez comme suit :
    Sous Enabled identity providers (Fournisseurs d'identité activés), cochez les cases Okta et Cognito User Pool (Groupe d'utilisateurs Cognito).
    Sous Callback URL(s) (URL(s) de rappel), saisissez l'URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être connectés. Pour effectuer un test, vous pouvez saisir n'importe quelle URL valide, par exemple https://www.exemple.com/.
    Sous Sign out URL(s) (URL de déconnexion), saisissez l'URL vers laquelle vous souhaitez que vos utilisateurs soient redirigés après s'être déconnectés. Pour effectuer un test, vous pouvez saisir n'importe quelle URL valide, par exemple https://www.exemple.com/.
    Sous Allowed OAuth Flows (Flux OAuth autorisés), veillez à cocher la case Implicit grant (Autorisation implicite).
    Sous Allowed OAuth Scopes (Règles OAuth autorisées), veillez à cocher au moins les cases email et openid.
  4. Choisissez Enregistrer les modifications.

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

Créer l'URL de point de terminaison

En utilisant les valeurs de votre groupe d'utilisateurs, créez l'URL de point de terminaison de connexion suivante :

https://préfixedevotredomaine.auth.region.amazoncognito.com/login?response_type=token&client_id=IDdevotreclient&redirect_uri=redirectUrl

Veillez à effectuer les opérations suivantes :

  • Remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Pour pouvez rechercher ces valeurs dans la console Amazon Cognito sous l'onglet Domaine name (Nom de domaine) de votre groupe d'utilisateurs.
  • Remplacez yourClientId par l'identifiant de votre client d'application et remplacez redirectUrl par l'URL de rappel de votre client d'application. Vous pouvez rechercher ces valeurs dans la console Amazon Cognito sur la page App client settings (Paramètres du client d'application) de votre groupe d'utilisateurs.

Pour en savoir plus, consultez les sections Comment puis-je configurer l'interface utilisateur web hébergée Amazon Cognito ? et Point de terminaison de CONNEXION.

Test de l'URL de point de terminaison

  1. Saisissez l'URL du point de terminaison de connexion créée dans votre navigateur web.
  2. Sur la page web de votre point de terminaison de connexion, choisissez Okta.
    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 Okta dans votre navigateur. Les jetons de groupe d'utilisateurs s'affichent dans l'URL située dans la barre d'adresse de votre navigateur web.
  3. Sur la page de Connexion à Okta, saisissez le nom d'utilisateur et le mot de passe de l'utilisateur que vous avez attribué à votre application.
  4. Choisissez Connexion.

Une fois connecté, vous êtes redirigé vers l'URL de rappel de votre client d'application. Les jetons de groupe d'utilisateurs s'affichent dans l'URL située dans la barre d'adresse de votre navigateur web.

(Facultatif) Ignorer l'interface utilisateur hébergée d'Amazon Cognito

Si vous souhaitez que vos utilisateurs ignorent l'interface utilisateur web hébergée d'Amazon Cognito au moment de se connecter à votre application, utilisez plutôt l'URL de point de terminaison suivante :

https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes

Veillez à effectuer les opérations suivantes :

  • Remplacez yourDomainPrefix et region par les valeurs de votre groupe d'utilisateurs. Pour pouvez rechercher ces valeurs dans la console Amazon Cognito sous l'onglet Domaine name (Nom de domaine) de votre groupe d'utilisateurs.
  • Remplacez samlProviderName par le nom du fournisseur SAML dans votre groupe d'utilisateurs (Okta).
  • (Facultatif) Si vous avez ajouté précédemment un identifiant pour votre fournisseur OIDC dans le champ Identifiers (optional) (Identifiants (facultatif)), vous pouvez remplacer identity_provider=oidcProviderName par idp_identifier=idpIdentifier, afin de remplacer idpIdentifier par votre chaîne d'identifiant personnalisée.
  • Remplacez yourClientId par l'identifiant de votre client d'application et remplacez redirectUrl par l'URL de rappel de votre client d'application. Vous pouvez rechercher ces valeurs dans la console Amazon Cognito sur la page App client settings (Paramètres du client d'application) de votre groupe d'utilisateurs.
  • Remplacez allowedOauthScopes par les portées spécifiques que vous souhaitez que votre client d'application Amazon Cognito demande. Par exemple, scope=email+openid.

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