- ARTICLE -
SAML, qu’est ce que c’est ?
Le Security Assertion Markup Language (SAML) est un standard ouvert qui permet le single sign on (SSO) ou authentification unique. En permettant d’accéder à un ensemble de ressources avec un seul jeu d’identifiants, vous pouvez offrir un accès transparent aux ressources et éliminer la prolifération de mots de passe non sécurisés.
Le standard SAML permet spécifiquement de fédérer les identités ce qui donne aux fournisseurs d’identité (IdP) la possibilité de transférer des identités authentifiées et leurs attributs à des fournisseurs de services. Le SAML se trouve au premier rang des solutions acceptées par le secteur pour le déploiement d’identités fédérées. Non seulement cette solution a été déployée sur des centaines de milliers de connexions SSO dans le cloud, mais des milliers de grandes entreprises, d’agences gouvernementales et de fournisseurs de services ont également fait du SAML leur protocole standard pour la communication des identités sur Internet.
Les avantages de l’authentification SAML
SAML est un protocole basé sur XML, ce qui le rend extrêmement flexible. Deux partenaires de fédération peuvent choisir de partager n’importe quel attribut d’identité de leur choix dans une assertion (c’est-à-dire un message) SAML, à condition que ces attributs puissent être représentés dans XML. Cette flexibilité a conduit à ce que des éléments du standard SAML, telles que le format d’assertion SAML, soient intégrées à d’autres standards dont WS-Federation.
Cette interopérabilité donne également au SAML un énorme avantage sur les mécanismes de SSO propriétaire. Pour une entreprise, le SSO propriétaire signifie que chaque nouvelle connexion nécessite potentiellement d’installer un nouveau logiciel différent ou des connecteurs d’intégration propriétaires. Avec SAML, une seule implémentation peut prendre en charge des connexions SSO avec de nombreux partenaires de fédération différents. Certaines grandes organisations, en particulier celles qui ont déjà dû supporter plusieurs installations de SSO propriétaires, requièrent désormais l’utilisation du SAML pour le SSO sur Internet avec des applications Identity-as-a-Service (IDaaS) et d’autres prestataires de services externes.
L’initiative Kantara a mis en place un programme de test d’interopérabilité très performant où les fournisseurs SAML démontrent une interopérabilité originale avec d’autres installations SAML. L’interopérabilité du serveur de fédération d’entreprise de Ping, PingFederate, a été largement testée avec un certain nombre d’autres installations SAML, à la fois au moyen de tests d’interopérabilité formels et sur de nombreuses années d’utilisation dans le monde réel par certaines des plus grandes entreprises. Un produit certifié peut traduire la différence entre une configuration simple en deux heures avec des tests, et un cauchemar de débogage distribué s’étalant sur plusieurs mois.
Principe de fonctionnement de l’authentification SAML
Les cas d’usage de fédération d’identités SAML des entreprises tournent généralement autour du partage d’identités entre un système de gestion des identités et des accès (IAM) existant et les applications Web. Il y a deux acteurs dans le scénario SAML : le fournisseur d’identité (IdP) qui « affirme » l’identité de l’utilisateur, et le prestataire de services qui consomme l’« affirmation » et transmet les informations sur l’identité à l’application. L’interaction entre le système IAM et le serveur de fédération est appelée intégration « first mile », alors que l’interaction entre le serveur de fédération et l’application est appelée intégration « last mile ».
Tutoriel SAML
Pour une présentation utile du principe de fonctionnement du SAML, regardez ce court tutoriel SAML :
Exemples SAML
Il existe deux cas de figure courants pour SAML. Le premier est une SSO initiée par le fournisseur d’identité, le second est une SSO initiée par le prestataire de services.
La SSO initiée par le fournisseur d’identité est généralement utilisée dans les solutions SSO des employés, comme PingOne for Enterprise par exemple. Dans ce cas de figure, les utilisateurs se connectent au système, lequel présente un catalogue d’applications. Ce catalogue contient des icônes visuelles de toutes les applications internes et externes pour lesquelles l’entreprise a configuré une SSO et les utilisateurs disposent d’un accès autorisé.
Les applications les plus souvent utilisées sont généralement classées en haut pour un accès rapide. Voici à quoi cela ressemble dans PingOne for Enterprise :
Lorsque l’utilisateur clique sur l’une des images, le flux SAML se présente comme suit :
Une fois l’assertion SAML reçue par le prestataire de services, celui-ci valide la signature avec la clé publique afin de s’assurer que l’assertion SAML provient bien d’un fournisseur d’identité fiable et qu’aucune des valeurs de l’assertion n’a été modifiée. Le prestataire de services peut alors extraire l’identité de l’utilisateur de l’assertion SAML avec tout autre attribut requis. À ce stade, l’utilisateur se trouve sur la page d’accueil du prestataire de services, comme s’il s’était connecté manuellement au site.
Ce schéma représente les étapes dans un flux SSO initié par un fournisseur d’identité avec SAML :
L’authentification SSO initiée par un prestataire de services commence lorsqu’un utilisateur essaie d’accéder à une ressource du prestataire de services mais ne s’est pas encore authentifié auprès du prestataire de services. Il est possible qu’un utilisateur accède directement au site Web ou qu’il ait enregistré un lien vers une ressource spécifique du prestataire de services. Lorsque le prestataire de services remarque que l’utilisateur n’a pas de session active, il le redirige alors vers le fournisseur d’identité afin qu’il s’authentifie. Le fournisseur d’identité authentifie l’utilisateur, crée l’assertion et redirige l’utilisateur de nouveau vers le prestataire de services, comme dans le cas d’une authentification initiée par un fournisseur d’identité, sauf qu’il renvoie également l’URL de la ressource à laquelle l’utilisateur tentait d’accéder, si celle-ci était fournie par le prestataire de services.
Vous vous demandez peut-être comment le prestataire de services sait vers quel fournisseur d’identité rediriger l’utilisateur s’il prend en charge l’authentification SSO de plusieurs fournisseurs d’identité distincts. La réponse est : cela dépend. Le prestataire de services peut déterminer vers quel fournisseur d’identité rediriger l’utilisateur suivant ces quelques méthodes courantes :
Une fois l’assertion SAML reçue par le prestataire de services, celui-ci valide la signature avec la clé publique afin de s’assurer que l’assertion SAML provient bien d’un fournisseur d’identité fiable et qu’aucune des valeurs de l’assertion n’a été modifiée. Le prestataire de services peut alors extraire l’identité de l’utilisateur de l’assertion SAML avec tout autre attribut requis. À ce stade, l’utilisateur se trouve sur la page d’accueil du prestataire de services, comme s’il s’était connecté manuellement au site.
Ce schéma représente les étapes dans un flux SSO initié par un prestataire de services avec SAML :
Les standards tels que le SAML sont nécessaires à la mise en place d’une identité fédérée sécurisée et évolutive au sein des organisations. Pour en savoir plus sur la fédération des identités, les cas d’usage typiques du SAML et comment le SAML s’intègre à d’autres protocoles de fédération, téléchargez le livre blanc.
Bénéficiez d’une présentation d’OAuth 2.0 et découvrez les jetons, les standards et les cas d’usage.
Découvrez comment la plateforme Ping Intelligent Identity prend en charge la fédération d’identité en utilisant les standards ouverts.
Découvrez ce que vous devez savoir sur le Security Assertion Markup Language (SAML) dans le tutoriel de cette vidéo.
Le standard SAML est-il obsolète ?SAML 2.0 (2005) est toujours d’actualité et continue de faire ses preuves dans de nombreuses entreprises du monde entier. SAML est généralement comparé à deux solutions alternatives plus récentes : OAuth 2.0 (2012) et OpenID Connect (2014). Généralement, les solutions plus récentes commencent avec OIDC et OAuth 2.0, puis passent ensuite au SAML si nécessaire. | ||
Comment fonctionne l’authentification SSO SAML ?L'authentification SSO SAML communique des « assertion », ou des messages XML, entre deux entités de confiance, le fournisseur d’identité (IdP) et le prestataire de services. | ||
Le SAML est-il un protocole ?Le SAML (Security Assertion Markup Language) est un standard de sécurité des identités ouvert. SAML 2.0 existe depuis 2005. Il est communément utilisé pour permettre l’authentification unique SSO (Single Sign-On). | ||
Comment puis-je intégrer le SAML ?Le SAML est un standard ouvert au format XML qui fonctionne via les assertions. Si vous intégrez votre application avec un fournisseur d’identité qui prend en charge le SAML, il vous suffit d’accepter l’assertion et de vérifier sa signature. | ||
Le standard Oauth remplace-t-il le SAML ?OAuth 2.0 est un standard d’autorisation. Il est souvent associé à OIDC (OpenID Connect) pour être utilisé alternativement au SAML 2.0 pour la SSO, mais ils fournissent différentes implémentations et présentent quelques différences en termes de fonctionnalités. | ||
Est-ce qu’ADFS est identique au SAML ?Ce n’est pas la même chose. ADFS (Active Directory Federation Services) est une solution logicielle issue du produit Active Directory de Microsoft pour permettre l’authentification unique SSO. ADFS est censée être une solution globale pour la SSO. Cette solution prend en charge le SAML et quelques autres standards, mais elle peut être difficile à configurer, avec beaucoup de préparation manuelle. | ||
Quelle est la différence entre LDAP et SAML ?LDAP (Lightweight Directory Access Protocol) est un protocole ou standard destiné à la communication avec un certain type de bases de données. Le SAML est un standard utilisé pour des services de fédération d’identités tels que la SSO. | ||
Comment puis-je trouver les attributs SAML ?Les attributs SAML se trouvent dans l’assertion SAML, c’est-à-dire le jeton, qui est communiqué entre le fournisseur d’identité et le prestataire de services. Décodez l’assertion SAML et les attributs s’afficheront dans le texte XML. | ||
La solution OIDC est-elle plus intéressante que le SAML ?OIDC (OpenID Connect) est plus performante pour définir les flux exacts par lesquels vos utilisateurs passeront, et son jeton (un JWT) est un peu plus facile à gérer. C’est aussi une solution compacte et sécurisée pour les URL. Une assertion SAML est au format XML, donc elle consomme plus d’espace et peut compliquer un peu les choses (vous devez comprendre le langage XML). La plupart des organisations tendent à utiliser l’OIDC si elles n’ont aucune application SAML pour l’intégrer. En revanche, PingOne peut gérer les deux. |
Lancez-vous dès Aujourd'hui
Découvrez comment Ping peut vous aider à protéger vos employés et améliorer l'expérience de vos clients dans un monde digital en constante évolution.
Démonstration Gratuite
Nous vous remercions ! Veuillez consulter votre boîte email.