Connexion

Qu'est-ce que SAML 2.0 ?

Comment fonctionne l'authentification SAML et pourquoi elle conserve sa pertinence pour les clients d'entreprise.

SAML 2.0 (Security Assertion Markup Language) est une norme ouverte créée pour fournir une authentification unique (SSO) inter-domaines. En d'autres termes, elle permet à un utilisateur de s'authentifier dans un système et d'accéder à un autre système en fournissant la preuve de son authentification.

Aperçu de SAML

Bien que SAML soit utilisé depuis 2005, il reste populaire pour la fédération d'identité dans les applications B2B et B2E. Sa large adoption a contribué à son succès durable. En règle générale, si vous souhaitez fournir une SSO transparent entre les entreprises et les commerces, vous aurez besoin de gérer SAML. En fait, le protocole SAML 2.0 est principalement utilisé pour les applications d'entreprise et gouvernementales.

SAML utilise XML pour représenter les données d'identité de l'utilisateur et le simple HTTP pour les mécanismes de transport des données.

Dans cet article, nous allons passer en revue la nature de SAML et ce qui la distingue des autres normes d'identité ; nous verrons aussi comment un partenaire de gestion d'identité tel qu'Auth0 entre dans l'équation.

Comment fonctionne SAML ?

SAML est un protocole d'authentification basé sur XML où les Fournisseurs d’identifiants (Identity Providers, IdP) -- entités qui gèrent et stockent les informations d'identification des utilisateurs -- échangent des documents XML signés numériquement (Assertions SAML) permettant à un utilisateur final d'accéder à un Fournisseur de service (Service Provider, SP), tel que la collection d'applications que vous utilisez tous les jours au travail ou un site Web.

Le service qui demande et reçoit des données des fournisseurs d'identifiants (IdP) est connu sous le nom de Partie de confiance (Relying Party, RP). Les données d'identité de l'utilisateur, encapsulées dans l'assertion SAML, se présentent sous la forme d'attributs, par exemple, l'adresse e-mail, le nom, le téléphone, etc.

Un exemple concret serait le scénario d'un voyage international. Imaginez un voyageur souhaitant se rendre aux États-Unis depuis son pays d'origine. Lorsqu'il arrive à la frontière, on lui demande son passeport afin de l’authentifier et éventuellement autoriser son accès. Si le voyageur n'a pas de passeport, il est redirigé vers le gouvernement de son pays d'origine pour en obtenir un.

Lorsque le voyageur a son passeport, il peut prouver son identité aux agents à la frontière. Ceux-ci vérifient la validité du passeport et les données d'identité qu'il contient et décident de le laisser entrer ou non. Dans ce scénario :

  • le pays d'origine du voyageur est le fournisseur d'identifiants
  • les agents à la frontière, représentant le gouvernement des États-Unis, sont la partie de confiance,
  • les États-Unis en tant que pays sont le fournisseur de service
  • le passeport est l'assertion SAML

Considérez que les États-Unis n'acceptent les passeports que des pays avec lesquels ils ont passé des accords préliminaires.

Vous pouvez transposer ce scénario du monde réel dans un système informatique.

Supposez que vous travaillez dans une entreprise qui possède plusieurs applications, mais un seul point centralisé pour l'authentification des utilisateurs. Supposons qu'une entreprise partenaire possède une organisation similaire et que, pour un projet spécifique, quelques employés du partenaire doivent accéder à une ou plusieurs applications de votre entreprise. Avec SAML, après une configuration préliminaire qui établit la confiance entre les deux systèmes, vous pouvez reproduire le scénario du voyage à l'étranger.

L'employé du partenaire tente d'accéder à l'une des applications de votre entreprise. Comme cet utilisateur n'appartient pas à votre entreprise, le système de votre entreprise le redirige vers le système du partenaire pour obtenir une preuve d'identité. Le système du partenaire authentifie l'utilisateur et lui fournit une assertion SAML. Le système de votre entreprise vérifie cette assertion et autorise l'utilisateur à accéder au site.

SAML et l'authentification unique (SSO)

Avec SAML, le flux d'authentification peut être initié soit par le fournisseur de services, soit par le fournisseur d'identifiants. L'authentification initiée par l’IdP peut se produire si un employé est connecté au tableau de bord de son entreprise et souhaite utiliser un outil acheté par l'entreprise sur un site externe. Dans ce cas, l’IdP enverrait une assertion SAML via le navigateur Web pour le connecter automatiquement.

L'authentification initiée par le SP se produit si un employé essaie de se connecter à ce site externe, le SP, et que le site le redirige vers la page de connexion d’authentification unique (SSO) de son entreprise pour qu'il saisisse ses informations d'identification et s'authentifie. Après l'authentification, l'employé est redirigé vers le site externe avec une assertion SAML prouvant son identité.

Avantages et cas d'utilisation de SAML 2.0

Les développeurs se demandent parfois pourquoi ils devraient mettre en œuvre le protocole SAML. Pourquoi SAML justifie vos efforts ? Comme indiqué dans ce didacticiel technique, les avantages sont notamment les suivants :

\Normalisation : En tant que norme ouverte, SAML permet l'interopérabilité des systèmes.

Expérience utilisateur : Les utilisateurs peuvent accéder à plusieurs fournisseurs de services en ne s'identifiant qu'une seule fois, sans authentification supplémentaire, ce qui accélère et améliore leur expérience auprès de chaque fournisseur de services. Cela permet également de centraliser les problèmes de gestion des mots de passe, tels que la réinitialisation et la récupération.

Couplage souple des annuaires : SAML n'exige pas que les informations sur les utilisateurs soient gérées et synchronisées entre les annuaires.

Sécurité accrue : SAML fournit un point unique d'authentification, qui s'effectue auprès d'un IdP sécurisé. En évitant la réplication des informations d'identification (comptes fantômes) et la synchronisation, SAML réduit les points d'attaque par usurpation d'identité.

Réduction des coûts pour les fournisseurs de services : SAML vous évite d'avoir à gérer les informations de compte dans plusieurs services. C'est le fournisseur d'identifiants qui assume cette charge.

Conformité accrue : Dans l’ère de la confidentialité des données, la possibilité de recevoir des attributs à la volée, et de les oublier lorsqu'ils ne sont plus nécessaires, réduit la responsabilité de votre organisation. Vous n'avez plus besoin de créer des comptes fantômes pour mener à bien votre travail.

Ta plateforme d'identité (IdP), est-elle pertinente pour SAML 2.0 et l'authentification unique?

Les développeurs peuvent attester que la mise en œuvre de SAML 2.0 en interne peut s'avérer délicate, et qu'il est facile de laisser par inadvertance des failles dans la signature XML et le chiffrement, qui augmentent la vulnérabilité des applications aux attaques. Cependant, un partenaire d'identité comme Auth0 peut rendre l'authentification SAML à la fois simple et sécurisée.

Grâce à la connexion universelle Auth0, vous pouvez rapidement configurer SAML et le proposer à vos clients professionnels. Lorsque vous utilisez Auth0, vous bénéficiez de tous les avantages de SAML, mais vous vous libérez de la charge et du risque d'être le seul fournisseur d'identifiants.

Auth0 peut se connecter à n'importe quel langage ou API. Il peut faire office de fournisseur d'identifiants, de fournisseur de service ou des deux.

Lorsque vous mettez en place un SP SAML et que vous utilisez Auth0 comme fournisseur d'identifiants, les utilisateurs sont redirigés vers Auth0 pour se connecter et Auth0 les authentifie. Auth0 est agnostique à la connexion d'authentification et peut utiliser des fournisseurs de réseaux sociaux, des bases de données, des annuaires LDAP (tels qu'Active Directory) ou d'autres IdP SAML.

Lorsque votre application doit communiquer avec un SP SAML à l'aide d'Auth0, ce dernier traduit ses requêtes en une demande d'authentification SAML et la transmet à un IdP SAML. Quel que soit le protocole que vous utilisez pour communiquer avec Auth0.

L'utilisation d'Auth0 comme fournisseur d'IdaaS vous permet d'offrir aux utilisateurs plusieurs fournisseurs d'identifiants. Les utilisateurs d'une organisation peuvent ainsi se connecter avec leurs informations d'identification G-Suite, tandis que d'autres peuvent utiliser une connexion sur une base de données.

Pour une entreprise SaaS qui tente d'attirer des clients professionnels, proposer SAML 2.0 en plus d'autres protocoles, comme OAuth et OpenID Connect, est un moyen simple de montrer que vous êtes suffisamment flexible pour répondre aux besoins des clients qui l'utilisent depuis des années.

Vous souhaitez en savoir plus ?

Poursuivez la lecture de notre page Introduction à l'IAM pour explorer d'autres sujets relatifs à la gestion des identités et des accès.

Quick assessment

Parmi les propositions suivantes, laquelle est un avantage de SAML ?

Quick assessment

Pourquoi l'authentification unique (SSO) est-elle un avantage pour les utilisateurs ?

Quick assessment

Quel rôle joue un fournisseur d'identifiants (IdP) dans SAML 2 ?

Commencez à construire gratuitement