Comparaison des solutions IAM¶
Cette page alimente un ADR (Architecture Decision Record) pour le choix du fournisseur d'identité.
Grille de comparaison¶
| Critère | Keycloak | Authentik | FreeIPA | Authelia |
|---|---|---|---|---|
| Licence | Apache 2.0 | MIT | GPL 3.0 | Apache 2.0 |
| Protocoles | OIDC, SAML, LDAP, Kerberos | OIDC, SAML, LDAP, SCIM | Kerberos, LDAP, (OIDC via module) | OIDC (proxy mode) |
| MFA | TOTP, WebAuthn, push | TOTP, WebAuthn, SMS, push | OTP (via FreeOTP) | TOTP, WebAuthn, push |
| Fédération | Multi-IdP, social login | Multi-IdP, social login | Trust Kerberos inter-domaines | Non (proxy uniquement) |
| SCIM | Oui (via extensions) | Oui (natif) | Non | Non |
| UI d'admin | Complète | Complète, moderne | Web UI Cockpit | Minimale (config YAML) |
| Clustering / HA | Infinispan natif | Redis / PostgreSQL | Replicas FreeIPA | Stateless (Redis pour sessions) |
| Empreinte ressources | ~512 Mo RAM (JVM) | ~256 Mo RAM (Python/Go) | ~1 Go RAM (389-ds + Kerberos) | ~32 Mo RAM (Go) |
| Ecosysteme | Tres large, Red Hat backed | Croissant, communauté active | Red Hat / CentOS ecosystem | Niche, reverse proxy focus |
| Complexité d'opération | Moyenne-haute | Moyenne | Haute | Basse |
| Maturité | 10+ ans, production-ready | 4 ans, production-ready | 15+ ans, production-ready | 5 ans, production-ready |
| Cas d'usage idéal | IAM central d'entreprise | IAM moderne, self-hosted SaaS | Environnement Linux/Kerberos | Proxy d'authentification simple |
Analyse détaillée¶
Keycloak — Recommande pour IAM central¶
Forces :
- Couverture protocoles la plus large (OIDC + SAML + LDAP + Kerberos)
- Fédération avancee avec identity brokering
- Ecosysteme mature avec des centaines de connecteurs pre-configures
- Supporte tous les cas d'usage d'une DSI
- Clustering natif via Infinispan pour la haute disponibilité
- Admin CLI et API REST complètes pour l'automatisation
Faiblesses :
- JVM (consommation mémoire elevee, temps de demarrage)
- Complexité de configuration initiale (realms, clients, flows)
- Upgrades parfois delicates entre versions majeures
- Courbe d'apprentissage significative
Verdict : choix par defaut pour une DSI qui a besoin d'un IAM complet couvrant OIDC + SAML + LDAP.
Authentik — Alternative moderne¶
Forces :
- UI moderne et intuitive
- SCIM natif pour le provisioning automatique
- Leger (Python/Go, pas de JVM)
- Approche "batteries included" avec flows declaratifs
- API REST complète et bien documentee
Faiblesses :
- Ecosysteme plus jeune, moins de connecteurs enterprise pre-configures
- Moins de documentation et de retours d'expérience en production a grande échelle
- Pas de support Kerberos natif
Verdict : excellent choix si l'ecosysteme est majoritairement OIDC et que la simplicité d'opération est prioritaire.
FreeIPA — Ecosysteme Linux natif¶
Forces :
- Integration profonde Linux (Kerberos, SSSD, sudo, DNS)
- Gestion de PKI intégrée (Dogtag CA)
- HBAC (Host-Based Access Control) pour controler l'accès SSH par machine
- Replicas multi-sites natifs
Faiblesses :
- Faible support OIDC (necessite un module tiers)
- UI datee et peu ergonomique
- Pas de SCIM
- Complexe a opérer et a debugger
- Fortement lie a l'ecosysteme Red Hat
Verdict : pertinent si l'infrastructure est 100% Linux et Kerberos est un requis fort. Peu adapte pour une DSI orientee cloud et conteneurs.
Authelia — Proxy leger¶
Forces :
- Ultra-leger (~32 Mo RAM)
- Facile a déployer (binaire Go + fichier YAML)
- Parfait devant des services sans authentification native
- Support MFA (TOTP, WebAuthn)
Faiblesses :
- Pas un IdP complet (proxy d'authentification uniquement)
- Pas de SAML
- Pas de fédération
- Pas d'admin UI (configuration YAML uniquement)
- Pas de gestion de groupes/rôles avancee
Verdict : complement, pas remplacement. A utiliser en frontal de services legacy qui n'ont pas d'authentification native.
Matrice de decision¶
graph TD
A{Besoin OIDC + SAML + LDAP ?} -->|Oui| B{Budget ops eleve ?}
A -->|OIDC uniquement| C{Simplicite prioritaire ?}
B -->|Oui| D[Keycloak]
B -->|Non| E{Kerberos requis ?}
C -->|Oui| F[Authentik]
C -->|Non| D
E -->|Oui| G[FreeIPA]
E -->|Non| F
A -->|Proxy auth simple| H[Authelia] Decision recommandee¶
Pour une DSI orientee développement avec des besoins OIDC + SAML + LDAP + MFA :
Decision ADR
Keycloak comme IdP central, avec Authelia en complement pour les services legacy sans authentification native.
Justification : couverture protocoles complète, maturité production, fédération multi-sources, MFA WebAuthn, ecosysteme de connecteurs le plus large.
Critères de reevaluation¶
Cette decision doit etre reevaluee si :
- Authentik atteint une maturité équivalente en connecteurs enterprise
- Les besoins Kerberos deviennent predominants
- La consommation mémoire de Keycloak devient un problème sur l'infrastructure cible
- Un changement de licence intervient (surveiller l'évolution post-Red Hat/IBM)