Qu'est-ce que le SAML ? | Fonctionnement de l'authentification SAML

Le SAML est la norme technique utilisée par les fournisseurs d'authentification unique pour communiquer qu'un utilisateur est authentifié.

Share facebook icon linkedin icon twitter icon email icon

SAML

Objectifs d’apprentissage

Après avoir lu cet article, vous :

  • Définir le langage SAML (Security Assertion Markup Language)
  • Découvrir comment le SAML s'intègre dans un flux de travail à authentification unique (SSO)
  • Expliquer ce qu'est une assertion SAML

Qu'est-ce que le SAML ?

Le SAML, (Security Assertion Markup Language), ou langage de balisage d'assertion de sécurité, est un moyen normalisé de dire aux applications et aux services externes qu'un utilisateur est celui qu'il prétend être. Le SAML rend possible une technologie d'authentification unique (SSO) en fournissant un moyen d'authentifier un utilisateur une fois, puis de communiquer cette authentification à plusieurs applications. La version la plus récente de SAML est SAML 2.0.

Représentez-vous l'authentification SAML comme une carte d'identité : un moyen rapide et standardisé de montrer l'identité de quelqu'un. Au lieu d'effectuer, par exemple, une série de tests ADN pour confirmer l'identité d'une personne, il suffit jeter un coup d'œil à sa carte d'identité.

Dans le domaine de l'informatique et de la technologie des réseaux, l'un des principaux défis consiste à faire fonctionner ensemble les systèmes et les appareils construits par différents fournisseurs à des fins différentes. C'est ce qu'on appelle l'« interopérabilité » : la capacité de différentes machines à interagir les unes avec les autres, malgré leurs spécifications techniques différentes. Le SAML est une norme interopérable et constitue un moyen largement accepté de communiquer l'identité d'un utilisateur à des fournisseurs de services cloud.

Qu'est-ce que l'authentification unique (SSO) ?

L'authentification unique (SSO) est un moyen pour les utilisateurs d'être authentifiés pour plusieurs applications et services à la fois. Avec l'authentification unique, un utilisateur se connecte à un seul écran de connexion et peut ensuite utiliser un certain nombre d'applications. Les utilisateurs n'ont pas besoin de confirmer leur identité avec chaque service qu'ils utilisent.

Pour que cela se produise, le système SSO doit communiquer avec chaque application externe pour dire que l'utilisateur est connecté - c'est là que le SAML entre en jeu.

Comment fonctionne le SAML ?

Un processus d'authentification SSO typique implique ces trois parties :

  • Principal (également connu sous le nom de « sujet »)
  • Fournisseur d'identité
  • Fournisseur de services

Principal/sujet : Il s'agit presque toujours d'un utilisateur humain qui essaie d'accéder à une application hébergée dans le cloud.

Fournisseur d'identité : un fournisseur d'identité (IdP) est un service logiciel cloud qui stocke et confirme l'identité de l'utilisateur, généralement via un processus de connexion. Le rôle essentiel d'un IdP est de dire « Je connais cette personne et voici ce qu'elle est autorisée à faire. ». Un système SSO peut en fait être distinct de l'IdP, mais dans ce cas, le SSO agit essentiellement comme un représentant de l'IdP, par conséquent, ils sont à toutes fins utiles les mêmes dans un flux de travail SAML.

Fournisseur de services : il s'agit de l'application ou du service hébergé dans le cloud que l'utilisateur souhaite utiliser. Parmi les exemples courants, citons les plateformes de messagerie cloud telles que Gmail et Microsoft Office 365, les services de stockage cloud tels que Google Drive et AWS S3, et les applications de communication telles que Slack et Skype. Normalement, un utilisateur se connecte simplement à ces services directement, mais lorsque le SSO est utilisé, l'utilisateur se connecte en SSO et le SAML est utilisé pour lui donner accès au lieu d'une connexion directe.

Voici à quoi pourrait ressembler un flux typique : le principal fait une demande au fournisseur de services. Le fournisseur de services demande ensuite une authentification au fournisseur d'identité. Le fournisseur d'identité envoie une assertion SAML au fournisseur de services, et le fournisseur de services peut ensuite envoyer une réponse au principal.

Si le principal (l'utilisateur) n'est pas encore connecté, le fournisseur d'identité peut l'inviter à se connecter avant d'envoyer une assertion SAML.

Qu'est-ce qu'une assertion SAML ?

Une assertion SAML est le message qui indique à un fournisseur de services qu'un utilisateur est connecté. Les assertions SAML contiennent toutes les informations nécessaires à un fournisseur de services pour confirmer l'identité de l'utilisateur, y compris la source de l'assertion, l'heure à laquelle elle a été émise et les conditions qui rendent l'assertion valide.

Considérez une assertion SAML comme le contenu d'une référence pour un candidat à un poste : la personne qui fournit la référence dit quand et pendant combien de temps elle a travaillé avec le candidat, quel était son rôle et donne son opinion sur le candidat. En se fondant sur cette référence, une entreprise peut prendre une décision concernant l'embauche du candidat, à l'image de ce que fait une application SaaS ou un service cloud en autorisant ou refusant l'accès utilisateur en fonction d'une assertion SAML.

Qu'est-ce que le SAML 2.0 ?

Le SAML 2.0 est la version moderne du SAML. Elle est utilisée depuis 2005. Le SAML 2.0 a combiné plusieurs versions de SAML qui étaient auparavant utilisées. De nombreux systèmes prennent en charge les versions antérieures, telles que le SAML 1.1, pour la compatibilité descendante, mais le SAML 2.0 est la norme moderne.

L'authentification SAML est-elle identique à l'autorisation de l'utilisateur ?

Le SAML est une technologie pour l'authentification des utilisateurs, pas pour l'autorisation des utilisateurs, et cette distinction est fondamentale. L'autorisation des utilisateurs est un domaine distinct de la gestion des identités et des accès.

L'authentification fait référence à l'identité d'un utilisateur : qui est cet utilisateur et si son identité a été confirmée par un processus de connexion.

L'autorisation fait référence aux privilèges ou autorisations d'un utilisateur : notamment, les actions qu'il est autorisé à effectuer dans les systèmes d'une entreprise.

Représentez-vous la différence entre l'authentification et l'autorisation de la manière suivante : imaginons qu'Alice assiste à un festival de musique. A l'entrée du festival, elle présente son ticket et une pièce d'identité pour prouver qu'elle a le droit de posséder le ticket. Elle peut dès lors accéder au festival : elle a été authentifiée.

Cependant, ce n'est pas parce qu'Alice participe au festival qu'elle peut aller n'importe où et faire tout ce qu'elle veut. Elle peut écouter les groupes, mais elle ne peut pas monter sur scène et se produire, ni aller dans les coulisses et rencontrer les artistes, car elle n'est pas autorisée à le faire. Si elle avait acheté des laissez-passer pour accéder aux coulisses, ou si elle était artiste en plus d'être participante, elle aurait disposée d'une plus autorisation plus étendue.

Les technologies de gestion des accès gèrent les autorisations des utilisateurs. Les plateformes de gestion des accès utilisent plusieurs normes d'autorisation différentes (dont l'une est OAuth), mais pas le SAML.

Cloudflare Access est un exemple de solution de gestion des accès. Cloudflare Access permet aux entreprises de gérer l'accès des utilisateurs aux ressources internes et aux données sans l'utilisation d'un réseau privé virtuel (VPN). Il s'intègre facilement aux fournisseurs SSO pour offrir à la fois l'autorisation utilisateur et l'authentification utilisateur.

En savoir plus sur l'authentification unique.