SSO (Single Sign-On)
📚 Définition et Concepts Fondamentaux
🆔 Qu'est-ce que le SSO ?
Le Single Sign-On (SSO), ou Authentification Unique, est un mécanisme qui permet à un utilisateur d'accéder à plusieurs applications ou services en ne s'authentifiant qu'une seule fois. Une fois la session établie, l'utilisateur peut naviguer entre les différents services sans avoir à ressaisir ses identifiants.
🏗️ Acteurs du SSO
Dans une architecture SSO, on distingue principalement deux rôles :
Identity Provider (IdP) - Fournisseur d'Identité :
C'est le système central qui gère les identités des utilisateurs.
Il est responsable de l'authentification (vérification du login/password, MFA, etc.).
Il émet des jetons (tokens) ou des assertions prouvant l'identité de l'utilisateur aux services tiers.
Exemple dans SEC2 : ADFS sur SrvPKI.
Service Provider (SP) - Fournisseur de Service :
C'est l'application ou la ressource à laquelle l'utilisateur souhaite accéder.
Il ne gère pas l'authentification lui-même mais fait confiance à l'IdP.
Il reçoit et valide le jeton envoyé par l'IdP pour autoriser l'accès.
Exemple dans SEC2 : SimpleSAMLphp sur le serveur Extranet.
⚙️ Fonctionnement du SSO
Le flux typique (basé sur SAML 2.0) est le suivant :
L'utilisateur tente d'accéder au Service Provider (SP).
Le SP redirige l'utilisateur vers l'Identity Provider (IdP) avec une requête d'authentification.
L'utilisateur s'authentifie auprès de l'IdP (ex: via Active Directory).
L'IdP génère un jeton (assertion SAML) signé numériquement et redirige l'utilisateur vers le SP.
Le SP valide la signature du jeton et accorde l'accès à l'utilisateur.
🌐 Protocoles et Utilisations
Plusieurs protocoles permettent de mettre en œuvre le SSO :
SAML 2.0
Basé sur XML, très robuste et standardisé.
Environnements d'entreprise, ADFS, Google Workspace.
OpenID Connect (OIDC)
Couche d'identité au-dessus d'OAuth 2.0 (JSON/REST).
Applications modernes, Mobile, Cloud (Azure AD, Okta).
CAS (Central Authentication Service)
Protocole spécifique souvent utilisé dans le milieu académique.
Portails universitaires.
Kerberos
Protocole réseau basé sur des tickets.
Authentification Windows locale (Active Directory).
🛠️ Implémentations de SSO
1. Active Directory Federation Services (ADFS)
Solution de Microsoft intégrée à Windows Server.
Avantages :
Intégration parfaite avec Active Directory.
Supporte SAML, OIDC et WS-Federation.
Gratuit (inclus dans la licence Windows Server).
Inconvénients :
Lourd à configurer et à maintenir.
Nécessite une infrastructure Windows Server.
2. Keycloak
Solution Open Source gérée par Red Hat.
Avantages :
Très flexible et supporte de nombreux protocoles.
Interface d'administration moderne.
Peut s'exécuter dans des conteneurs (Docker/K8s).
Inconvénients :
Nécessite des compétences Linux/Java.
Gestion de la base de données externe requise pour la haute disponibilité.
🎯 Objectifs pour SEC2
Dans notre infrastructure, nous allons mettre en place :
IdP : ADFS installé sur SrvPKI.
SP : SimpleSAMLphp installé sur le serveur Extranet.
Groupe AD :
DL_Extranetpour restreindre l'accès.Sécurité : Flux HTTPS obligatoire pour garantir la confidentialité.
Last updated