SAML (Conformité SAML)

Le langage de balisage d'assertion de sécurité (Security Assertion Markup Language - SAML) est une norme d'échange de données d'authentification et d'autorisation entre parties, notamment entre un fournisseur d'identité et un fournisseur de services. Cette norme d'authentification unique (SSO) présente des avantages considérables par rapport à la connexion à l'aide d'un nom d'utilisateur et d'un mot de passe :

  • Il n'est pas nécessaire de saisir les informations d'identification
  • Il n'est pas nécessaire de se souvenir et de renouveler les mots de passe
  • Pas de mots de passe faibles

La plupart des organisations connaissent déjà l'identité des utilisateurs parce qu'ils sont connectés au domaine ou à l'intranet de leur Répertoire Actif. Il est logique d'utiliser ces informations pour connecter les utilisateurs à d'autres applications, comme les applications Web, et l'une des façons les plus élégantes de le faire est d'utiliser SAML.

SAML est très puissant et flexible, mais la spécification peut être assez maniable. Les boîtes à outils SAML open-source de authentification unique peuvent vous aider à intégrer SAML en quelques heures, au lieu de plusieurs mois. Nous avons trouvé une configuration simple qui fonctionnera pour la plupart des applications.

Comment fonctionne le SAML ?

SAML SSO fonctionne en transférant l'identité de l'utilisateur d'un endroit (le fournisseur d'identité) à un autre (le fournisseur de service). Cela se fait par un échange de documents XML signés numériquement.

Considérons le scénario suivant : Un utilisateur est connecté à un système qui agit comme un fournisseur d'identité. L'utilisateur veut se connecter à une application distante, comme une application de support ou de comptabilité (le fournisseur de services). Le scénario suivant se produit :

  • L'utilisateur accède à l'application distante à l'aide d'un lien sur un intranet, d'un signet ou autre, et l'application se charge.
  • L'application identifie le connexion (login) de l'utilisateur (par le sous-domaine de l'application, l'adresse IP de l'utilisateur, ou similaire) et redirige l'utilisateur vers le fournisseur d'identité, en demandant une authentification. C'est la demande d'authentification.
  • L'utilisateur a une session de navigation active existante avec le fournisseur d'identité ou en établit une en se connectant au fournisseur d'identité.
  • Le fournisseur d'identité élabore la réponse d'authentification dans la forme d'un document XML contenant le nom d'utilisateur ou l'adresse électronique de l'utilisateur, la signe à l'aide d'un certificat X.509 et envoie ces informations au fournisseur de services.
  • Le fournisseur de services, qui connaît déjà le fournisseur d'identité et possède une empreinte de certificat, récupère la réponse d'authentification et la valide à l'aide de l'empreinte de certificat.
  • L'identité de l'utilisateur est établie et l'accès à l'application lui est accordé.


Comment ça a été?