Contrôlez qui accède à quoi dans votre infrastructure. Ce guide vous explique les trois piliers de la sécurité des accès — identification, authentification, autorisation — et vous aide à choisir la bonne solution IAM open source. Que vous débutiez avec un annuaire LDAP ou que vous implémentiez du SSO en entreprise, vous trouverez ici les concepts essentiels, une formation complète en 8 modules, et un comparatif des outils disponibles.
Ce que couvre cette section
Section intitulée « Ce que couvre cette section »Identités humaines
SSO, annuaires LDAP, authentification multi-facteurs.
Identités machines
Service accounts, workload identity, OIDC federation CI/CD.
Gouvernance
Joiner/Mover/Leaver, audit des droits, recertification.
Autorisation avancée
PDP/PEP, Policy-as-Code, fine-grained permissions (Zanzibar).
Formation Fondamentaux IAM
Section intitulée « Formation Fondamentaux IAM »Cette formation en 9 modules vous donne les bases théoriques et pratiques de l’IAM. Elle est prérequise avant de déployer des outils comme Keycloak ou FreeIPA.
Chaque module s’appuie sur les précédents : commencez par les bases, puis progressez vers les protocoles, l’authentification forte et la sécurité opérationnelle.
Parcours de formation
Section intitulée « Parcours de formation »| Concept | Rôle | Exemple |
|---|---|---|
| Identification | Déclarer son identité | Saisir son email ou username |
| Authentification | Prouver son identité | Mot de passe, 2FA, biométrie |
| Autorisation | Définir les permissions | Accès lecture seule, admin, etc. |
Les trois piliers de l’IAM
Section intitulée « Les trois piliers de l’IAM »Identification
Section intitulée « Identification »L’identification est la première étape : l’utilisateur déclare qui il est via un identifiant unique (nom d’utilisateur, email, badge). À ce stade, aucune preuve n’est apportée — c’est simplement une déclaration.
Pourquoi c’est important : sans identification, impossible de personnaliser les accès ni de tracer les actions de chaque utilisateur.
Authentification
Section intitulée « Authentification »L’authentification vérifie que l’utilisateur est bien celui qu’il prétend être. Elle repose sur un ou plusieurs facteurs :
| Facteur | Ce que c’est | Exemple |
|---|---|---|
| Ce que vous savez | Connaissance secrète | Mot de passe, code PIN |
| Ce que vous possédez | Objet physique | Smartphone, clé FIDO2 |
| Ce que vous êtes | Biométrie | Empreinte digitale, visage |
L’authentification multi-facteurs (MFA) combine plusieurs de ces facteurs pour renforcer la sécurité. Par exemple : mot de passe + code envoyé par SMS.
Autorisation
Section intitulée « Autorisation »Une fois authentifié, l’autorisation détermine ce que l’utilisateur peut voir et faire. Elle s’appuie généralement sur des modèles comme :
- RBAC (Role-Based Access Control) : permissions attribuées selon le rôle (admin, éditeur, lecteur)
- ABAC (Attribute-Based Access Control) : permissions selon des attributs (département, localisation, heure)
Exemple concret : un développeur peut accéder au dépôt Git mais pas aux logs de production ; un SRE a accès aux deux.
→ Détails dans le guide Autorisation (RBAC, ABAC, ReBAC)
Évolution de l’IAM
Section intitulée « Évolution de l’IAM »| Période | Avancée majeure |
|---|---|
| Années 1990 | LDAP centralise les identités, RBAC structure les permissions |
| Années 2000 | SSO (Single Sign-On) et MFA émergent avec le cloud |
| Aujourd’hui | Fédération d’identités, Zero Trust, audit continu |
Quel outil pour quel besoin ?
Section intitulée « Quel outil pour quel besoin ? »L’IAM n’est pas “un produit”, c’est une chaîne : annuaire (source d’identité) → IdP/SSO → provisioning → moteur d’autorisation → enforcement (proxy / API gateway / apps). Choisissez vos briques selon vos besoins.
| Besoin principal | Famille d’outil | Recommandations |
|---|---|---|
| Protéger des apps web derrière un reverse proxy (SSO + MFA) | Portail SSO / access portal | Authelia, authentik, LemonLDAP::NG |
| SSO OIDC/SAML à l’échelle (entreprise) | IdP complet | Keycloak, ZITADEL, authentik |
| Domaine Linux (SSH, sudo, Kerberos) | IDM Linux | FreeIPA (souvent en “socle”) |
| Annuaire minimal (lab / petite infra) | LDAP léger | LLDAP |
| Kubernetes : auth API server via OIDC | Connecteur OIDC | Dex |
| Droits applicatifs complexes (partage, multi-tenant) | Fine-grained AuthZ (Zanzibar/ReBAC) | OpenFGA, SpiceDB, Ory Keto |
| Centraliser l’AuthZ hors du code | PDP Authorization | Cerbos, OPA |
| CIAM “composable” (construire son produit) | Briques headless | Ory Kratos + Hydra |
Comparatif des solutions open source
Section intitulée « Comparatif des solutions open source »| Solution | Type | Protocoles | Forces | Cas d’usage |
|---|---|---|---|---|
| Keycloak | IdP/SSO | OIDC, SAML, LDAP | Fédération, UI admin, extensions | Entreprise, multi-apps |
| FreeIPA | IDM complet | Kerberos, LDAP, DNS | Intégration Linux native, PKI | Infra 100% Linux |
| LLDAP | Annuaire | LDAP | Léger (~10 Mo), interface web | Petites infras, labs |
Écosystème d’outils IAM open source
Section intitulée « Écosystème d’outils IAM open source »Au-delà des trois solutions principales, l’écosystème open source offre des alternatives et des briques spécialisées pour chaque maillon de la chaîne IAM.
Identity Providers (IdP) & SSO
Section intitulée « Identity Providers (IdP) & SSO »| Outil | Type | Protocoles | Forces | Quand le choisir |
|---|---|---|---|---|
| Keycloak | IdP/SSO | OIDC, SAML, LDAP | Très complet, énorme écosystème | SSO multi-apps “enterprise” |
| authentik | IdP/SSO | OIDC/OAuth2, SAML, LDAP, RADIUS | Très bon pour self-hosting + intégrations | Homelab → prod, SSO moderne |
| ZITADEL | IdP/SSO | OIDC/OAuth2, SAML | Positionnement “identity infra”, audit | SSO “produit”, équipes dev, CIAM |
| Authelia | Portail SSO + MFA | OIDC | Super avec reverse proxies, simple à opérer | Protéger des apps web derrière Traefik/Nginx |
| LemonLDAP::NG | WebSSO / Access Mgmt | CAS, SAML, OIDC, LDAP/Kerberos | Très orienté “contrôle d’accès web” | Environnements “multi-protocoles” (SAML↔OIDC, CAS) |
| Dex | Connecteur/fédération OIDC | OIDC | Léger, très utilisé pour auth Kubernetes | Kubernetes (kubectl / dashboard) via OIDC |
| Shibboleth | IdP/SP SAML | SAML | Référence historique fédération SAML | Fédérations académiques, SAML très standardisé |
| SimpleSAMLphp | IdP/SP SAML (PHP) | SAML | Simple, bon pour POC / besoins ciblés | Intégrations SAML rapides, legacy |
Annuaires & Identity Management
Section intitulée « Annuaires & Identity Management »| Outil | Type | Rôle | Forces | Quand le choisir |
|---|---|---|---|---|
| FreeIPA | IDM “Linux complet” | LDAP + Kerberos + DNS/CA | Très “infra Linux”, centralise SSH/sudo | Domaine Linux, accès serveurs, SSO interne |
| OpenLDAP | Annuaire LDAP | Stockage identités/groupes | Ultra standard, très documenté | Besoin LDAP “pur” |
| 389 Directory Server | Annuaire LDAP | LDAP enterprise | Réplication, gros déploiements | LDAP “enterprise” + réplication |
| LLDAP | Annuaire LDAP léger | LDAP simplifié | Léger + UI web | Homelab / petites équipes |
| Kanidm | IDM moderne | Identities + intégrations (dont LDAP) | Approche “moderne”, focus sécurité | Alternative/complément à LDAP “classique” |
Briques headless pour CIAM
Section intitulée « Briques headless pour CIAM »Si vous construisez un produit (CIAM) et voulez contrôler UI/UX, consent, multi-tenant :
| Outil | Rôle | Forces |
|---|---|---|
| Ory Kratos | Gestion des identités + flows (login/registration/recovery) | Séparé de l’UI, cloud-native |
| Ory Hydra | Serveur OAuth2 / OIDC certifié | Très conforme aux specs, performant |
Moteurs d’autorisation (AuthZ) & Policy-as-Code
Section intitulée « Moteurs d’autorisation (AuthZ) & Policy-as-Code »Ces outils “portent” les modèles RBAC/ABAC/ReBAC dans une architecture séparée du code applicatif.
| Outil | Type | Modèle | Forces | Quand le choisir |
|---|---|---|---|---|
| Open Policy Agent | Policy engine | Policies génériques (Rego) | Partout (Kubernetes, API gateway, apps) | Moteur de règles transverse |
| Cerbos | Authorization (PDP) | RBAC/ABAC (contextuel) | Policies YAML testables, API PDP | Sortir l’AuthZ du code applicatif |
| OpenFGA | Fine-grained AuthZ | ReBAC (Zanzibar) | Modélisation expressive, scale | Produits avec droits complexes (partage, multi-tenant) |
| SpiceDB | Permissions DB | ReBAC (Zanzibar) | Très orienté performance/consistance | Gros scale, permissions critiques |
| Ory Keto | Permission server | Zanzibar/ReBAC | API-first, cloud-native | Écosystème Ory |
Comparatif par catégorie
Section intitulée « Comparatif par catégorie »| Catégorie | Outils à considérer |
|---|---|
| IdP/SSO complet | Keycloak, authentik, ZITADEL |
| Portail SSO (reverse proxy) | Authelia, LemonLDAP::NG |
| Fédération K8s OIDC | Dex |
| SAML “pur” | Shibboleth, SimpleSAMLphp |
| LDAP / annuaires | OpenLDAP, 389 DS, LLDAP |
| IDM moderne | Kanidm |
| Authorization engine | OPA, Cerbos |
| Fine-grained permissions (Zanzibar) | OpenFGA, SpiceDB, Ory Keto |
À retenir
Section intitulée « À retenir »- Identification ≠ Authentification : déclarer son identité n’est pas la prouver.
- L’authentification multi-facteurs (MFA) bloque la majorité des attaques par vol de credentials.
- L’autorisation suit le principe du moindre privilège : n’accorder que les droits strictement nécessaires.
- 9 modules fondamentaux couvrent les concepts avant de passer aux outils.
- L’IAM est une chaîne : annuaire → IdP/SSO → provisioning → moteur d’autorisation → enforcement.
- Les solutions open source (Keycloak, authentik, FreeIPA, Dex, OPA…) couvrent tous les besoins sans coût de licence.
- Pour les droits complexes (partage, multi-tenant), explorez les moteurs Zanzibar/ReBAC (OpenFGA, SpiceDB).