Français
  • SAML
  • SSO
  • Fournisseur d'identité

Simplifier l'intégration des applications SAML pour les développeurs

Découvrez ce qu'est SAML, comment mettre en œuvre SSO, et les étapes rapides pour intégrer des applications SAML en tant que fournisseur d'identité (IdP) ou fournisseur de services (SP).

Ran
Ran
Product & Design

Arrêtez de perdre des semaines sur l'authentification des utilisateurs
Lancez des applications sécurisées plus rapidement avec Logto. Intégrez l'authentification des utilisateurs en quelques minutes et concentrez-vous sur votre produit principal.
Commencer
Product screenshot

Single Sign-On (SSO) est essentiel pour les applications modernes, et SAML permet une authentification sécurisée et conviviale à travers les systèmes d'identité d'entreprise. Ce guide simplifie SAML pour les développeurs et les concepteurs avec des étapes claires et des exemples pratiques pour vous aider à le mettre en œuvre efficacement.

Qu'est-ce que le SSO SAML et les applications SAML ?

Security Assertion Markup Language (SAML) est une norme basée sur XML utilisée pour échanger des données d'authentification et d'autorisation entre deux acteurs clés : le fournisseur d'identité (IdP) et le fournisseur de services (SP). C'est une solution courante pour le Single Sign-On (SSO) dans les organisations, simplifiant la vie des utilisateurs d'entreprise en leur permettant de se connecter une seule fois et d'accéder à plusieurs applications.

Le fournisseur d'identité (IdP) est responsable de la gestion et de la vérification des identifiants des utilisateurs, tels que les noms d'utilisateur et les mots de passe. Lorsqu'un utilisateur tente d'accéder à un service protégé, l'IdP confirme son identité et envoie cette confirmation au service.

  • Exemple : Imaginez que vous travaillez pour une grande entreprise qui utilise Microsoft Azure AD pour gérer les comptes des employés. Lorsque vous souhaitez vous connecter à Salesforce, Azure AD agit en tant qu'IdP. Il vérifie vos identifiants et informe Salesforce que vous êtes autorisé à l'utiliser.

Le fournisseur de services (SP) est l'application ou le service auquel les utilisateurs tentent réellement d'accéder. Il dépend de l'IdP pour gérer la charge de travail liée à l'authentification.

  • Exemple : Continuant notre scénario ci-dessus, Salesforce est le SP. Il dépend de Microsoft Azure AD (l'IdP) pour confirmer votre identité. Une fois qu'Azure AD se porte garant de vous, Salesforce vous laisse entrer.

Lorsqu'on parle d'une « application SAML », on fait généralement référence au SP.

En utilisant le protocole SAML, vous pouvez configurer votre service comme un IdP pour prendre en charge les intégrations d'applications (comme Azure AD / Google Workspace) ; ou comme un SP (comme Salesforce / Slack) pour prendre en charge le SSO pour les utilisateurs.

Une assertion SAML est le cœur du protocole SAML. C'est une « note » numérique créée par l'IdP et envoyée à un SP disant : « J'ai confirmé l'identité de cet utilisateur. » Ensuite, nous couvrirons comment le processus fonctionne pour à la fois l'IdP et le SP.

Lorsqu'on agit en tant que fournisseur d'identité SAML

Lorsque votre service fonctionne en tant qu'IdP, vous permettez l'authentification SAML à travers de nombreuses applications. Cela permet aux utilisateurs d'accéder à divers services via une seule identité d'entreprise.

as_saml_identity_provider_idp.png

Voici un flux de travail typique de SAML SSO pour un IdP :

  1. L'utilisateur tente d'accéder à une application (SP), comme Salesforce.
  2. L'application redirige l'utilisateur vers votre IdP pour authentification.
  3. L'utilisateur entre ses identifiants sur la page de connexion de votre IdP.
  4. L'IdP vérifie les identifiants.
  5. Si les identifiants sont vérifiés, l'IdP envoie une assertion SAML au SP.
  6. Le SP traite l'assertion, confirme sa validité et accorde l'accès à l'utilisateur.

Lorsqu'on agit en tant que fournisseur de services SAML

Si votre service est le SP, vous intégrerez divers fournisseurs d'identité pour offrir à vos utilisateurs la capacité SSO. Cela permet aux utilisateurs d'entreprise de différentes organisations ou locataires d'accéder à votre application en toute sécurité et efficacement.

as_saml_service_provider_sp.png

Voici un flux de travail pour SSO initié par un SP :

  1. L'utilisateur essaie de se connecter à votre application.
  2. Votre application génère une demande SAML et redirige l'utilisateur vers la page de connexion de l'IdP.
  3. L'utilisateur se connecte à l'IdP (ou saute cette étape s'il est déjà connecté).
  4. L'IdP vérifie l'identité de l'utilisateur et, une fois confirmée, encapsule les détails de l'utilisateur dans une assertion SAML.
  5. L'IdP renvoie l'assertion à votre application.
  6. Votre service vérifie l'assertion. Si elle est valide, l'utilisateur obtient l'accès à votre application.

Paramètres clés dans SAML SSO

Pour une intégration SAML SSO réussie, les IdP et les SP doivent partager des paramètres spécifiques. Voici un aperçu des essentiels :

Paramètres de l'IdP

  1. Identifiant d'entité IdP : Un identifiant unique pour l'IdP dans les communications SAML, comme une étiquette de nom numérique.
  2. URL SSO : Le point de terminaison de connexion (URL) où l’SP redirige les utilisateurs pour une authentification.
  3. Certificat X.509 : Une clé publique utilisée pour signer l'assertion SAML, garantissant sa sécurité. C'est le « sceau » vérifiant l'authenticité.

Astuce : Si votre IdP propose une URL de métadonnées SAML, cela simplifie les choses. Cette URL contient toutes les informations nécessaires (comme les certificats, les URL SSO, et l'identifiant d'entité IdP) en un seul endroit. Cela minimise le risque d'erreurs de copier-coller manuel et élimine la difficulté de mise à jour manuelle des fichiers de certificat.

Paramètres du SP

  1. Identifiant d'entité SP : L'identifiant unique du SP, similaire à l'identifiant d'entité IdP.
  2. URL du service consommateur d'assertion (ACS) : C'est le point de terminaison SP où l’SP s'attend à recevoir l'assertion SAML de l'IdP.
  3. État de relais (optionnel) : Utilisé pour transmettre des données pendant le processus SAML, comme l'URL que l'utilisateur cherchait initialement à visiter.

Mappage des attributs SAML et cryptage

  1. Format NameID : Définit le format de l'identifiant utilisateur (par exemple, adresse e-mail ou nom d'utilisateur).
  2. Attributs SAML : Ce sont des détails utilisateur supplémentaires, tels que les rôles, l'e-mail, ou le département, que l'IdP envoie au SP.
    • Exemple : Si l'assertion SAML signée par l'IdP inclut email ([email protected]), role (admin), et department (ingénierie). Le SP peut utiliser role pour attribuer des privilèges d'administrateur ou department pour grouper l'utilisateur dans la bonne équipe. Ainsi, pour obtenir ces données utilisateur essentielles, l'IdP et le SP doivent décider comment mapper les attributs. Par exemple, l'IdP peut définir « department » comme équipe, tandis que le SP l'attend comme groupe. Un mappage approprié assure une communication fluide.
  3. Assertions chiffrées (optionnel) : Pour protéger les données d'authentification sensibles, les assertions SAML peuvent être chiffrées.
    • Rôle de l'IdP : Chiffre l'assertion en utilisant la clé publique du SP.
    • Rôle du SP : Déchiffre l'assertion avec sa clé privée pour lire les détails utilisateur.

À ce stade, vous devriez avoir les informations nécessaires pour configurer une connexion SAML. Pour intégrer Salesforce (fournisseur de services) avec Azure AD (fournisseur d'identité), suivez ces étapes :

  • Obtenez l'identifiant d'entité IdP, l'URL SSO, et le certificat à partir d'Azure AD et configurez-les dans Salesforce.
  • Fournissez l'identifiant d'entité SP et l'URL ACS de Salesforce à Azure AD.

Logto simplifie l'intégration SAML

Logto peut agir aussi bien en tant qu'IdP qu'en tant que SP pour prendre en charge le SSO SAML pour vos applications.

Utiliser Logto comme IdP SAML

Logto permet à d'autres applications de se fier à lui pour l'authentification d'identité fédérée et prend en charge l'authentification multifacteur (MFA) pour une sécurité renforcée.

  1. Créer une application Logto Accédez à Logto Console > Applications et créez une nouvelle application SAML.
  2. Configurer les paramètres SAML Configurez l'application avec l' URL du service consommateur d'assertion (ACS) et l' identifiant d'entité SP du fournisseur de services (SP).
  3. Fournir l'URL des métadonnées Logto fournit une URL de métadonnées IdP que les SP peuvent utiliser pour récupérer automatiquement des détails essentiels, tels que les URL SSO et les certificats.
  4. Configuration avancée (optionnel)
    • Vous pouvez créer plusieurs nouveaux certificats avec des empreintes digitales et définir des dates d'expiration, mais un seul certificat peut être actif à la fois.
    • Modifier le format ID de nom pour s'adapter aux besoins de votre entreprise.
    • Activer le chiffrement des assertions SAML en copiant et collant le certificat x509 de votre fournisseur de services pour chiffrer les assertions.
  5. Mapper les attributs (optionnel) Personnalisez facilement la façon dont les attributs utilisateur sont partagés avec les fournisseurs de services (SP).

logto_saml_apps_saml_providers.png

Pour des conseils détaillés, consultez la documentation officielle ici : SAML App

Utiliser Logto comme SP SAML

Logto s'intègre également avec tout IdP d'entreprise via les protocoles SAML ou OIDC. Que vous activiez un SSO initié par SP pour vos pages de connexion unifiées ou configuriez un SSO initié par IdP, le processus est simple.

  1. Créer un connecteur d'entreprise Accédez à l'Enterprise SSO de Logto et créez un nouveau connecteur d'entreprise. Sélectionnez SAML comme norme de protocole.
  2. Configurer les paramètres SAML Fournissez soit l' URL des métadonnées soit le fichier XML des métadonnées de votre IdP. Si les métadonnées ne sont pas disponibles, passez à la configuration manuelle en entrant l'identifiant d'entité IdP, l'URL SSO, et en téléchargeant le certificat de signature.
  3. Partager l'URL ACS et l'identifiant d'entité SP Fournissez l' URL ACS et l' identifiant d'entité SP de Logto à votre IdP pour compléter la configuration de l'intégration.
  4. Mapper les attributs (optionnel) Configurez les mappages de données utilisateur, tels que les e-mails ou les noms, pour vous assurer que les informations sont transmises correctement entre l'IdP et Logto.
  5. Ajouter des domaines de messagerie d'entreprise Dans l'onglet « Expérience SSO » du connecteur d'entreprise, ajoutez un ou plusieurs domaines d'e-mail. Cela garantit que seuls les utilisateurs ayant les domaines spécifiés peuvent s'authentifier via SSO.
  6. Activer le SSO initié par IdP (optionnel) Activez le SSO initié par IdP uniquement si vos clients d'entreprise le demandent. Cette fonctionnalité permet aux utilisateurs de se connecter directement à vos applications depuis le tableau de bord de l'IdP.

logto-enterprise-saml-sso.png

Pour des conseils détaillés, consultez la documentation officielle ici : Enterprise SSO documentation.

Conclusion

SAML offre une méthode standardisée et sécurisée pour le SSO, rendant l'authentification plus fluide. Logto simplifie le processus que vous l'installiez en tant qu'IdP ou SP. Avec son interface conviviale et son support pour les versions cloud et open-source, Logto élimine les complexités de l'intégration SAML. En configurant simplement quelques paramètres, vous pouvez connecter vos services à tout IdP ou SP SAML et vous concentrer sur la création de grandes expériences pour vos utilisateurs.