🎓 Niveau : 🟡 Intermédiaire
📋 Prérequis : notions d'authentification, LDAP 📒, IAM 🪪
Le SSO (Single Sign-On, en français « authentification unique ») répond à un problème très concret : dans une entreprise, tu utilises facilement 10, 20 voire 50 applications différentes (messagerie, intranet, ERP, outils RH, etc.). Sans SSO, tu dois retenir un mot de passe pour chacune.
Les conséquences sont mauvaises :
- Les utilisateurs choisissent des mots de passe faibles ou réutilisent le même partout.
- Le support informatique croule sous les demandes de réinitialisation de mot de passe.
- Quand un employé quitte l'entreprise, il faut désactiver son compte dans toutes les applications, une par une (et on en oublie souvent une).
Le SSO résout ce problème : tu t'authentifies une seule fois, puis tu accèdes à toutes les applications autorisées sans retaper ton mot de passe.
- SSO (Single Sign-On) : mécanisme qui permet à un utilisateur de s'authentifier une seule fois pour accéder à plusieurs applications.
- IdP (Identity Provider, fournisseur d'identité) : le serveur central qui vérifie ton identité (ex. Microsoft Entra ID, Keycloak, Okta).
- SP (Service Provider, fournisseur de service) : l'application à laquelle tu veux accéder (ex. ton webmail).
- Jeton (token) : une preuve numérique, signée par l'IdP, qui certifie « cet utilisateur est bien authentifié ».
- SAML (Security Assertion Markup Language) : protocole basé sur XML, très utilisé en entreprise pour le SSO web.
- OIDC (OpenID Connect) : protocole moderne basé sur OAuth 2.0 et le format JSON, courant pour les applications web et mobiles.
L'authentification (« qui es-tu ? ») est différente de l'autorisation (« as-tu le droit de faire ça ? »). Le SSO gère surtout l'authentification.
Le principe repose sur la confiance : chaque application (SP) fait confiance à un fournisseur d'identité central (IdP).
- Tu tentes d'accéder à une application (le SP).
- L'application voit que tu n'es pas encore authentifié et te redirige vers l'IdP.
- L'IdP te demande tes identifiants (login + mot de passe, et idéalement un second facteur).
- Si c'est correct, l'IdP génère un jeton signé et te redirige vers l'application avec ce jeton.
- L'application vérifie la signature du jeton : si elle est valide, tu es connecté.
- Pour la prochaine application, l'IdP se souvient de ta session : tu n'as plus besoin de retaper ton mot de passe.
graph LR
U[👤 Utilisateur] -->|1. Accès| SP[Application SP]
SP -->|2. Redirection| IdP[Fournisseur d'identité IdP]
IdP -->|3. Login + MFA| U
IdP -->|4. Jeton signé| SP
SP -->|5. Accès accordé| U
Une PME de 80 personnes utilise Microsoft 365 (mail, Teams), un outil de gestion des congés en ligne et un CRM. L'administrateur configure Microsoft Entra ID comme IdP.
Le matin, Léa ouvre son navigateur et se connecte à Outlook avec son compte + un code reçu sur son téléphone (MFA). Quand elle ouvre ensuite l'outil de congés puis le CRM, elle est connectée automatiquement : aucun mot de passe à retaper. Le soir, quand elle quitte l'entreprise, l'admin désactive un seul compte dans Entra ID, et tous les accès tombent d'un coup.
- Toujours coupler le SSO avec le MFA (Multi-Factor Authentication) : un seul mot de passe protège désormais TOUT, donc il doit être solide.
- Privilégier des protocoles standards (SAML, OIDC) plutôt que des solutions propriétaires.
- Définir un délai d'expiration des sessions raisonnable (ex. déconnexion après plusieurs heures d'inactivité).
- Centraliser les journaux de connexion pour détecter les accès suspects.
Sans MFA, le SSO devient un point de défaillance unique : si quelqu'un vole ce mot de passe, il accède à toutes les applications d'un coup.
Mal configurer l'horloge des serveurs casse le SSO : les jetons SAML/OIDC contiennent une heure d'expiration, et un décalage d'horloge les rend invalides. Synchronise tout avec NTP.
- Le SSO permet de s'authentifier une fois pour accéder à plusieurs applications.
- Un fournisseur d'identité central (IdP) émet des jetons signés auxquels les applications font confiance (via SAML ou OIDC).
- Il améliore le confort et la sécurité, mais doit être protégé par du MFA.
« Un seul login pour les gouverner tous — à condition de bien le protéger. » 🔑