Aller au contenu

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)