Qu’est-ce que SAML (Security Assertion Markup Language) ?

Écrit par David Worthington le March 23, 2023

Partagez cet article

Alors que l’informatique continue de se tourner vers le cloud et les applications SaaS (Software-as-a-Service), SAML est un sujet important lorsqu’on envisage des options d’authentification. SAML fournit également une autorisation unique qui peut être utilisée pour faire respecter les permissions des utilisateurs sur les services. Explorons SAML, son fonctionnement, son histoire et ses avantages, comment vous pouvez l’utiliser et comment il se compare à ses alternatives.

Qu’est-ce que SAML SSO ?

Le protocole SAML (Security Assertion Markup Language) est la référence pour de nombreux fournisseurs d’authentification unique (SSO) d’applications Web et est utilisé pour connecter en toute sécurité les utilisateurs aux applications Web avec un seul ensemble d’informations d’identification. SAML utilise des certificats XML (Extensible Markup Language) pour confirmer l’authentification des utilisateurs entre un fournisseur d’identité (IdP) et un fournisseur de services (SP) ou une application web.

Les utilisateurs peuvent créer un mot de passe unique et fort pour sécuriser leurs identifiants IdP sans avoir à se soucier de conserver les mots de passe de leurs applications Web écrits dans un document ou sur une note autocollante attachée à leur écran, ou à devoir utiliser des gestionnaires de mots de passe pour stocker les identifiants. (Notez que vous pouvez toujours bénéficier d’un gestionnaire de mots de passe SSO, cependant).

En bref, il s’agit d’une authentification unique (SSO) basée sur le Web. Cela fait beaucoup d’acronymes, mais ils prendront tout leur sens lorsque nous nous pencherons sur le fonctionnement de SAML.

Qu’est-ce que SAML 2.0 ?

SAML 2.0 est la version actuelle de la norme SAML. Il s’agit d’une mise à jour substantielle qui n’est pas rétrocompatible avec son prédécesseur et qui ajoute des fonctionnalités qui avaient été incluses dans le cadre de la fédération d’identité Liberty Alliance, ce qui la rend beaucoup plus robuste et mature. La déconnexion unique (pour tous les services) est l’une des améliorations les plus importantes.

Les avantages de SAML

L’utilisation de SAML présente de nombreux avantages. La sécurité et la facilité relative de gestion des informations d’identification sont des avantages évidents : les utilisateurs finaux n’ont pas besoin de se souvenir de tous les mots de passe nécessaires pour accéder à leurs diverses applications Web. Le processus d’assertion utilise une communication XML sécurisée via SAML directement entre le SP et l’IdP, et les mots de passe ne sont pas stockés sur des serveurs distants ou envoyés par câble. Globalement, les administrateurs informatiques bénéficient d’une gestion centralisée du cycle de vie des utilisateurs, avec un contrôle très précis des ressources auxquelles les utilisateurs peuvent accéder. Cette caractéristique est idéale pour les secteurs réglementés qui doivent prendre des mesures strictes pour garantir la confidentialité des données et le respect de la vie privée.

Les administrateurs informatiques constatent généralement une réduction des tickets Helpdesk liés aux mots de passe, en plus d’une sécurité accrue grâce à SAML, et de la possibilité d’ajouter une authentification multifactorielle (MFA) forte et conviviale, telle que Push MFA, et des protections contre le phishing.

Le SSO réduit également les risques de Shadow IT, c’est-à-dire lorsque les utilisateurs gèrent leur propre accès aux applications sous le radar de l’équipe informatique. Les utilisateurs finaux, qui n’ont à se soucier que d’un seul mot de passe, se lassent moins des mots de passe grâce au SSO. De nombreux fournisseurs de SSO ont créé des portails Web où les utilisateurs finaux peuvent se connecter une fois, puis cliquer sur une tuile avec l’application à laquelle ils doivent accéder, ce qui constitue une autre incitation à adopter SAML.

Exemples de SAML en action

Le portail SSO susmentionné est un bon exemple de la manière dont SAML peut favoriser les synergies informatiques au sein des petites et moyennes entreprises (PME). Ce processus est souvent appelé « flux SAML », lorsque les utilisateurs cliquent sur l’icône d’une application et que l’authentification se produit en coulisse.

Un autre cas d’utilisation exploite les attributs de l’utilisateur pour déterminer à quelle partie d’une application il doit avoir accès. Par exemple, un employé de la comptabilité ne devrait pas avoir le même niveau d’accès qu’un directeur financier. Cela renforce le concept de sécurité de la séparation des tâches et contribue à garantir le respect du principe du moindre privilège, essentiel au modèle de sécurité robuste de la Confiance zéro.

JumpCloud exploite de manière unique le contrôle d’accès basé sur les attributs (ABAC) pour fournir une vérification croisée instantanée des utilisateurs d’un groupe aux applications et ressources dont ils ont besoin, et inclut des suggestions pour modifier les appartenances de groupe. Cette méthode diffère des méthodes traditionnelles de contrôle d’accès basées sur les rôles et imbriquées qui n’ont pas été conçues à l’origine pour les infrastructures informatiques basées sur le SaaS.

Les développeurs peuvent également utiliser SAML comme solution pour sécuriser les services Web dorsaux à l’aide d’une fonctionnalité appelée protection des messages SAML. SAML est extrêmement flexible et personnalisable.

Le portail utilisateur de JumpCloud s’appuie sur SAML

Comment fonctionne SAML ?

Le processus de SAML est, par essence, une série d’échanges entre l’utilisateur, un fournisseur de services (qui héberge l’application Web à laquelle l’utilisateur veut accéder) et un fournisseur d’identité (qui est le moyen par lequel l’utilisateur peut s’authentifier). Lorsqu’un utilisateur souhaite accéder à une application Web, il visite d’abord le service via un « agent », qui est presque toujours un navigateur web standard comme Chrome, Firefox, Safari ou Edge. L’agent tente ensuite de demander l’accès au SP en se connectant à l’application Web.

Composants de SAML

L’échange d’informations d’identité sur l’authentification et l’autorisation est rendu possible par les composants principaux de SAML qui fonctionnent comme un système. Cette section présente chaque composant et son rôle dans la mise en place du cadre message/réponse de SAML, qui permet de fédérer les identités et les informations sur les utilisateurs dans plusieurs domaines. Tout d’abord, examinons une visualisation des étapes de base d’une transaction via le protocole SAML. Cet exemple illustre ce qui se passe lorsqu’un utilisateur saisit les informations d’identification de son entreprise dans un service que votre organisation utilise.

Liaisons

Les liaisons sont l’infrastructure qui permet de transférer les messages SAML sur les protocoles de réseau courants. Par exemple, une liaison HTTPS POST définit comment transporter les réponses d’un SP aux demandes d’un agent utilisateur (navigateur Web).

Protocoles

Comment la plupart des utilisateurs établissent-ils des connexions sécurisées avec les services Web ? HTTPS est un exemple de protocole, avec SOAP, spécifié dans la norme SAML. Des certificats numériques (certificats X.509) sont utilisés du côté de l’IdP et du SP pour sécuriser les communications.

Profils

Les profils sont ce qui regroupe les protocoles, les liaisons et les assertions de SAML pour chaque cas d’utilisation. JumpCloud simplifie ce concept en mettant à la disposition des utilisateurs une bibliothèque de centaines de « connecteurs », afin de leur épargner les tâches les plus lourdes.

La section suivante détaille le fonctionnement des assertions, qui sont des paquets XML contenant des informations organisationnelles sur l’utilisateur, la méthode d’authentification, ainsi que des politiques spécifiant l’accès aux ressources et aux journaux de transactions.

Qu’est-ce que l’assertion SAML ?

Le SP a été administrativement configuré pour différer son authentification à une source d’authentification spécifique – le IdP ou la base de données d’utilisateurs, si vous voulez. La connexion est alors redirigée de manière sécurisée via l’Internet (et le navigateur) pour demander une authentification au fournisseur d’identité afin de vérifier l’identité de l’utilisateur.

Du point de vue de l’utilisateur, il s’agit d’une redirection vers un autre site Web qui contient une interface utilisateur simple avec un champ pour le nom d’utilisateur et le mot de passe. L’utilisateur saisit alors ses informations d’identification, qui sont ensuite vérifiées par rapport à ses propres enregistrements.

Lorsque la vérification est réussie, l’IdP génère un certificat basé sur XML, appelé assertion. Cela signifie que l’IdP génère un « laissez-passer » figuratif, affirmant qu’il connaît l’utilisateur et qu’il peut accéder à l’application demandée. Ce certificat est retransmis au navigateur de l’utilisateur, puis au fournisseur de services, qui redirige la page vers le service afin qu’il puisse ingérer le « laissez-passer » et permettre à l’utilisateur d’accéder à l’application. Il est à noter que dans certains flux plus sophistiqués, davantage de données sont renvoyées par l’IdP, notamment des attributs, l’appartenance à un groupe, etc., afin d’aider le fournisseur de services à attribuer avec précision les droits d’autorisation et à fournir des données supplémentaires dont le SP peut avoir besoin pour mieux servir l’utilisateur.

IdP et SP avec SAML

L’échange d’informations a lieu entre le IdP et le SP. Comme démontré ci-dessus, les fournisseurs utilisent SAML pour relayer les informations d’identification entre un fournisseur d’identité, qui contient les informations d’identification pour vérifier un utilisateur, et un fournisseur de services, qui est la ressource qui nécessite l’authentification. Le processus peut être initié par l’une ou l’autre partie, mais c’est le IdP qui est responsable de la sécurisation et de la gestion des identités des utilisateurs et des groupes de l’annuaire. Les comptes stockés dans un IdP deviennent finalement des utilisateurs vérifiés sur un service par le biais de la fédération d’identité SAML.

SAML peut être utilisé en combinaison avec d’autres normes d’authentification en fonction du cas d’utilisation. Par exemple, une PME du secteur de la santé utilisera SAML pour sécuriser l’accès au portail d’applications, tandis qu’une application mobile bénéficiera de l’efficacité de l’OIDC. La section suivante donne un bref aperçu de la méthode de SSO la plus optimale pour chaque cas.

Autres options d’authentification

SAML vs OAuth

OAuth tend à être plus centré sur l’application que SAML, qui est principalement utilisé pour le SSO sur le web. OAuth serait le meilleur choix dans un cas où une application doit permettre l’accès aux fonctions matérielles d’un appareil, comme une webcam ou un appareil photo.

SAML vs OpenID Connect (OIDC)

L’OIDC est de plus en plus populaire, en particulier parmi les développeurs mobiles. Il fournit des communications évolutives et efficaces, mais n’a pas la même capacité à autoriser les utilisateurs avec des services que SAML. OAuth sert de base, avec une couche d’identité supplémentaire destinée à l’identité décentralisée. Il s’agit d’une position philosophique autant que technologique.

Cliquez ici pour une comparaison détaillée entre SAML et OpenID.

SAML vs LDAP

Ces deux normes vont de pair, un annuaire LDAP jouant le rôle de gestionnaire d’utilisateurs pour un IdP. La combinaison de ces protocoles d’authentification permet de se connecter à un éventail encore plus large de services, en toute sécurité, afin d’atteindre les objectifs de l’entreprise.

Cliquez ici pour une comparaison détaillée entre SAML et LDAP.

La plateforme d’annuaire JumpCloud permet aux administrateurs informatiques de gérer leurs utilisateurs et leur accès aux systèmes, applications, réseaux, infrastructures, serveurs de fichiers, etc. avec un seul jeu d’identifiants. En tant qu’IdP en cloud, JumpCloud a réimaginé le partenariat qui existe entre Active Directory et SSO pour l’ère moderne, en fournissant pratiquement toutes les mêmes capacités et bien d’autres, le tout à partir d’une seule console d’administration en cloud.

JumpCloud exploite SAML, ainsi que LDAP, RADIUS et bien d’autres, pour offrir une véritable expérience SSO, ce qui signifie que les organisations informatiques peuvent utiliser une solution complète au lieu d’une multitude d’outils différents. En outre, les administrateurs informatiques peuvent également utiliser JumpCloud pour mettre en œuvre des politiques de sécurité basées sur la Confiance zéro, telles que l’authentification multifactorielle (MFA), l’accès conditionnel, la complexité des mots de passe, etc. à l’échelle de leur organisation.

Utilisation de SAML avec JumpCloud

True Single Sign-On™ s’étend au-delà du simple SAML, en utilisant un ensemble d’autres protocoles et méthodes d’authentification pour étendre un ensemble d’informations d’identification de l’utilisateur à pratiquement toutes les ressources. Heureusement, le service d’annuaire cloud de nouvelle génération de JumpCloud offre une expérience True SSO aux organisations informatiques modernes.

Cet article explique comment démarrer avec SAML SSO en utilisant JumpCloud. La méthode la plus simple consiste à rechercher dans notre bibliothèque croissante de connecteurs, mais il est également possible d’écrire le vôtre.

Comment configurer SAML

Pour connecter une application à JumpCloud :

  1. Connectez-vous au portail d’administration JumpCloud à l’adresse suivante https://console.jumpcloud.com/login.
  2. Allez dans Authentification de l’utilisateur > SSO, puis cliquez sur ( + ). Le panneau Configurer une nouvelle application s’affiche.
  3. Recherchez une application par son nom à l’aide de la barre de recherche située en haut du tableau de bord.
  4. Lorsque vous trouvez l’application à laquelle vous souhaitez vous connecter, cliquez sur configurer.

JumpCloud, vous pouvez utiliser le connecteur SAML 2.0 pour connecter cette application à JumpCloud.

JumpCloud utilise le protocole SAML 2.0 comme méthode pour affirmer les identités avec les fournisseurs de services d’application. JumpCloud est considéré comme le fournisseur d’identité et l’application comme le fournisseur de service.

Comment gérer l’authentification SAML

Le fournisseur de services fournit généralement des paramètres de configuration SAML pour configurer le SSO à partir d’un IdP compatible comme JumpCloud.

L’image suivante présente les instructions de Salesforce pour configurer Marketing Cloud pour le SSO SAML.

Comment gérer les assertions SAML

Pour se connecter à une application Web en utilisant l’authentification SAML initiée par l’IdP :

  1. Un utilisateur entre ses données d’identification dans l’IdP.
  2. L’IdP authentifie et autorise l’utilisateur.
  3. Après s’être connecté, l’utilisateur navigue vers une liste d’applications Web auxquelles il peut accéder et sélectionne celle qu’il souhaite utiliser.
  4. Lorsque l’utilisateur clique sur l’application Web, l’IdP envoie une assertion SAML au SP.
  5. Le prestataire de services reçoit l’assertion SAML et effectue quelques opérations :
  6. Le prestataire de services vérifie que l’assertion est valide et authentique.
  7. Le prestataire de services détermine qui est l’utilisateur et comment il doit être connecté.
  8. La SP permet à l’utilisateur d’accéder à l’application sans qu’il ait à se connecter à nouveau.

Pour se connecter à une application Web à l’aide d’une authentification SAML initiée par le fournisseur de services :

  1. Un utilisateur se rend sur la page de connexion d’une application Web et saisit son nom d’utilisateur.
  2. Le comportement des SP varie, mais beaucoup d’entre eux détectent que SAML SSO est impliqué et redirigent l’utilisateur vers une page de connexion de l’IdP.
  3. L’utilisateur saisit ses informations d’identification sur la page de connexion de l’IdP.
  4. L’IdP authentifie et autorise l’utilisateur, puis renvoie une assertion SAML au SP avec les informations dont il a besoin.
  5. L’utilisateur est redirigé vers le SP avec accès à l’application.

Lire les notes de JumpCloud sur les attributs SAML.

Essayez JumpCloud gratuitement

Vous pouvez découvrir True SSO avec SAML, LDAP, RADIUS et bien plus encore en vous inscrivant simplement pour un essai gratuit de 30 jours.

Vous souhaitez vous familiariser avec la plateforme avant de vous lancer ? Nous proposons également des démonstrations gratuites et personnalisées de la plateforme pour vous montrer les ficelles du métier avant que vous n’essayiez JumpCloud par vous-même. Veuillez nous contacter si vous souhaitez en savoir plus.

David Worthington

I'm the JumpCloud Champion for Product, Security. JumpCloud and Microsoft certified, security analyst, a one-time tech journalist, and former IT director.

Continuez à apprendre avec notre newsletter