
La gestion des identités clients (CIAM – Customer Identity and Access Management) est devenue un enjeu stratégique pour les organisations exposant des services numériques à des milliers, voire des millions d’utilisateurs externes. Contrairement à l’IAM interne centré sur les collaborateurs, le CIAM doit concilier sécurité renforcée, expérience utilisateur fluide et capacité à absorber des volumes massifs et imprévisibles.
Pour les équipes IT de taille réduite, le choix de la solution CIAM est d’autant plus critique qu’il conditionne leur autonomie opérationnelle et leur capacité à répondre aux exigences métier sans multiplier les ressources. Deux solutions sont régulièrement plébiscitées dans ce contexte : Microsoft Entra ID, référence du cloud IAM pour les organisations Microsoft-centriques, et Keycloak, solution open source de référence portée par Red Hat et une communauté internationale active.
Cet article propose une analyse comparative sur 5 critères techniques déterminants pour éclairer votre choix, en mettant en lumière les situations où Keycloak offre des avantages structurels pour un déploiement CIAM exigeant.
Souveraineté numérique et localisation des données
L’enjeu de la maîtrise des données clients
Dans un contexte CIAM, vous hébergez et traitez des données d’identité de clients, prospects ou partenaires externes : adresses email, numéros de téléphone, historiques de connexion, consentements RGPD, et potentiellement des attributs métiers sensibles. La localisation géographique de ces données et votre capacité à en garantir la maîtrise deviennent des critères contractuels, réglementaires, voire des arguments commerciaux différenciants.
Entra ID : une souveraineté relative
Microsoft Entra ID fonctionne exclusivement en mode SaaS hébergé sur l’infrastructure cloud Microsoft Azure. Si Microsoft propose des datacenters en Europe (notamment France Central et France South), plusieurs limitations persistent :
- Localisation non garantie contractuellement : Microsoft se réserve le droit de répliquer certaines données vers d’autres régions pour des besoins de résilience ou d’opérations internes
- Cloud Act américain : Microsoft reste soumis au cadre légal américain, ce qui expose théoriquement vos données à des réquisitions extraterritoriales
- Certification SecNumCloud non disponible : pour les organisations soumises aux exigences strictes de l’ANSSI (OIV, administrations), Entra ID ne détient pas la qualification SecNumCloud exigée
- Aucune option on-premise : impossible de déployer Entra ID sur votre propre infrastructure ou chez un hébergeur souverain de votre choix
Keycloak : souveraineté totale par design
Keycloak offre une maîtrise complète de votre architecture CIAM :
- Déploiement au choix : on-premise dans votre datacenter, chez un cloud provider européen (OVHcloud, Scaleway, Outscale), ou sur une infrastructure certifiée (HDS, SecNumCloud)
- Contrôle juridique total : vous choisissez la juridiction d’hébergement et échappez aux législations extraterritoriales
- Architecture hybride possible : vous pouvez combiner instances on-premise (production sensible) et cloud (environnements de développement) selon vos contraintes
- Audit et traçabilité maîtrisés : logs d’authentification, bases de données, sauvegardes restent sous votre contrôle direct
Cas d’usage où ce critère est décisif
Exemple 1 : Organisme public gérant des usagers
Une administration souhaitant déployer un portail citoyen pour 500 000 usagers doit respecter le référentiel de sécurité de l’ANSSI. L’hébergement sur infrastructure qualifiée SecNumCloud devient obligatoire. Keycloak déployé chez un hébergeur certifié (Ikoula, NumSpot, S3ns) répond à cette exigence, contrairement à Entra ID.
Exemple 2 : Plateforme B2B avec clauses contractuelles clients
Un éditeur SaaS servant des grands comptes industriels se voit imposer contractuellement un hébergement des données clients en France métropolitaine, avec garantie d’absence de transfert hors UE. Keycloak sur OVHcloud permet de contractualiser cette garantie, là où Entra ID nécessiterait des exceptions négociées avec Microsoft.
Exemple 3 : Stratégie cloud de confiance
Une entreprise adoptant la démarche cloud de confiance (partenariat État français + acteurs cloud européens) pour ses données sensibles peut intégrer Keycloak dans ce périmètre, contrairement aux solutions SaaS américaines.
Synthèse du critère

Conclusion : Si la souveraineté numérique, la conformité aux référentiels étatiques ou les clauses contractuelles clients imposent une maîtrise stricte de l’hébergement, Keycloak devient incontournable.
Personnalisation de l’expérience utilisateur
L’importance de l’UX en CIAM
Contrairement à l’IAM interne où les utilisateurs acceptent des interfaces fonctionnelles (portails RH, intranets), le CIAM s’adresse à des clients, utilisateurs ou partenaires externes qui jugent votre organisation à travers chaque interaction. Les pages de connexion, d’inscription, de réinitialisation de mot de passe ou de consentement RGPD doivent :
- Refléter parfaitement votre identité de marque (charte graphique, logo, couleurs, tonalité)
- S’intégrer visuellement dans vos applications pour éviter toute rupture d’expérience
- S’adapter aux parcours métier spécifiques (inscription progressive, double authentification contextuelle, formulaires sur-mesure)
Entra ID : personnalisation limitée
Microsoft Entra ID propose des options de branding mais avec des contraintes structurelles importantes :
Capacités natives :
- Ajout logo et image de fond sur les pages de connexion
- Personnalisation partielle des couleurs (bannière, boutons)
- Textes personnalisés pour quelques messages d’erreur courants
Limitations bloquantes :
- Templates HTML figés : impossible de modifier la structure des pages, l’ordre des champs, ou d’ajouter des éléments HTML custom
- CSS restreint : pas d’accès au code CSS global, seulement quelques variables de style prédéfinies
- JavaScript interdit : aucune possibilité d’ajouter des comportements interactifs personnalisés (validation de formulaire avancée, analytics, A/B testing)
- Écrans standards non modifiables : les pages de MFA, de consentement d’application, ou d’erreur restent aux couleurs Microsoft
- Multi-marques complexe : personnaliser pour plusieurs marques/filiales nécessite des tenants Entra ID séparés (coût ×N)
Exemple de limitation : Une banque souhaitant intégrer un module de consentement RGPD personnalisé avec cases à cocher détaillées et liens vers documentation légale ne peut pas modifier le template Entra ID. Elle devra rediriger vers une page externe, créant une rupture d’expérience.
Keycloak : une grande liberté de customisation
Keycloak adopte une approche radicalement différente grâce à son système de thèmes open et extensible :
Personnalisation complète :
- Fichiers HTML modifiables : accès direct aux templates FreeMarker des pages (login, register, MFA, error, etc.)
- CSS et JavaScript libres : intégration de vos frameworks frontend (Bootstrap, Tailwind, React components)
- Structure modifiable : ajout de champs formulaire, réorganisation de l’interface, création d’écrans spécifiques
- Multilinguisme avancé : fichiers de traduction personnalisables par langue et par marque
Architecture multi-thèmes :
- Création de thèmes distincts par marque, filiale ou typologie de client
- Activation dynamique selon le contexte (domaine d’accès, paramètre URL, attribut utilisateur)
- Héritage de thèmes : créer des variantes sans dupliquer le code
Extensions avancées :
- Développement de Required Actions custom (étapes de validation obligatoires post-connexion)
- Création d’Authenticators spécifiques (méthodes d’authentification sur-mesure)
- Intégration d’APIs externes dans les parcours (scoring anti-fraude, vérification d’identité)
Cas d’usage où ce critère est décisif
Exemple 1 : Marketplace B2B2C avec white-labeling
Un opérateur de plateforme propose des espaces clients personnalisés à 25 enseignes partenaires. Chaque enseigne exige son branding complet sur toutes les pages d’authentification. Avec Keycloak, l’équipe IT crée 25 thèmes dérivés d’un template maître, personnalisables via interface admin. Coût : 1 instance Keycloak. Avec Entra ID : nécessité de 25 tenants distincts (licensing ×25).
Exemple 2 : Site e-commerce avec parcours d’inscription progressif
Un site e-commerce souhaite limiter les frictions à l’inscription initiale (email + mot de passe uniquement), puis collecter progressivement adresse, téléphone, préférences lors des premières commandes. Keycloak permet de créer des Required Actions conditionnelles déclenchées selon le contexte métier. Entra ID impose un formulaire d’inscription fixe non modifiable.
Exemple 3 : Application mobile avec authentification biométrique branded
Une banque déploie son application mobile avec authentification FaceID/TouchID. Elle souhaite personnaliser totalement l’écran de secours (mot de passe) en cas d’échec biométrique. Keycloak permet d’intégrer cet écran dans le design system de l’app. Entra ID affiche un écran générique Microsoft non personnalisable.
Exemple 4 : Portail partenaires B2B avec gestion déléguée
Un industriel offre un portail B2B où chaque partenaire peut gérer ses propres utilisateurs via une interface dédiée. L’interface d’administration Keycloak peut être totalement rebrandée et simplifiée pour ces administrateurs délégués. Entra ID propose une console d’administration Microsoft standard non modifiable.
Synthèse du critère

Conclusion : Si votre stratégie CIAM repose sur une expérience utilisateur différenciante, un branding strict, ou des parcours d’authentification spécifiques à vos métiers, Keycloak offre une flexibilité incomparable.
Intégration avec des écosystèmes technologiques hétérogènes
La réalité des systèmes d’information complexes
Rares sont les organisations dont le SI repose exclusivement sur des technologies Microsoft. La plupart gèrent un patrimoine applicatif hétérogène résultant de :
- Acquisitions successives apportant leurs propres stacks techniques
- Applications legacy développées sur des technologies antérieures au cloud
- Choix d’outils best-of-breed dans différents domaines métier
- Architectures microservices multipliant les langages et frameworks
Un système CIAM doit donc fédérer l’authentification pour des applications Java, Python, Node.js, PHP, mais aussi des CRM SaaS, des outils métiers spécifiques, des API REST, voire des mainframes via protocoles legacy.
Entra ID : optimisé pour l’écosystème Microsoft
Microsoft Entra ID excelle dans l’intégration avec son propre écosystème :
Points forts :
- Intégration native avec Microsoft 365, SharePoint, Teams, Dynamics 365
- Synchronisation simplifiée avec Active Directory on-premise (Entra Connect)
- Conditional Access puissant pour les applications Microsoft
Limites pour les environnements hétérogènes :
Protocoles standards supportés mais…
- OIDC/OAuth 2.0 et SAML 2.0 disponibles, mais configuration plus complexe que pour les apps Microsoft
- Documentation orientée .NET/Azure Stack, exemples rares pour autres technologies
Connecteurs tiers payants
- La Entra App Gallery propose 3000+ connecteurs pré-configurés
- Mais applications spécifiques ou développements internes nécessitent configuration manuelle
- Certains connecteurs avancés (ex: Salesforce avec provisioning bidirectionnel) requièrent Entra ID P2 (€8-10/utilisateur/mois)
Intégrations complexes :
- Applications Java utilisant JAAS : adaptation nécessaire vers OIDC
- Systèmes legacy LDAP/Kerberos : nécessitent proxy d’authentification (coût et complexité additionnels)
- APIs REST non-Microsoft : gestion token OAuth manuelle, pas d’adaptateurs prêts à l’emploi
Provisioning limité :
- SCIM supporté pour applications populaires
- Connecteurs custom nécessitent développement sur Azure Logic Apps ou Functions (coûts runtime)
- Synchronisation vers bases métiers non-standards : intégration complexe
Keycloak : interopérabilité par design
Keycloak a été conçu comme un broker d’identité universel capable de s’intégrer avec n’importe quelle technologie via des standards ouverts :
Protocoles standards en natif :
- OpenID Connect (recommandé) : implémentation complète et certifiée
- SAML 2.0 (SSO et SLO) : support client et identity provider
- OAuth 2.0 : tous les flux (authorization code, client credentials, device flow, etc.)
- CAS Protocol : pour applications universitaires/académiques
- Docker Registry v2 : authentification native pour registries de conteneurs
Adaptateurs officiels multi-technologies :
Red Hat et la communauté maintiennent des adaptateurs pour :
- Java/Jakarta EE : Wildfly, Tomcat, Jetty, Spring Boot
- JavaScript : React, Angular, Vue.js (via keycloak-js)
- Node.js : Express, NestJS
- Python : Flask, Django, FastAPI (via python-keycloak)
- Go, Rust, PHP, Ruby : bibliothèques communautaires actives
User Federation flexible :
Keycloak se connecte nativement à vos annuaires existants :
- LDAP/Active Directory : lecture/écriture, mapping attributs personnalisable
- Kerberos : authentification SSO Windows transparente
- Custom User Storage SPI : développer votre propre connecteur vers n’importe quelle source (base SQL, API REST, fichiers plats)
Identity Brokering :
Keycloak agit comme hub central fédérant d’autres fournisseurs d’identité :
- Social Login : Google, Facebook, GitHub, LinkedIn (prêts à l’emploi)
- Enterprise IdP : délégation vers Entra ID, Okta, Auth0, ADFS
- SAML/OIDC générique : connexion à n’importe quel IdP externe
- Mapping d’attributs : transformation des claims entre systèmes
Extensibilité via SPI (Service Provider Interface) :
Keycloak expose plus de 50 points d’extension pour personnaliser son comportement :
- Authenticator SPI : créer des méthodes d’authentification sur-mesure
- Protocol Mapper SPI : transformer les tokens selon vos besoins
- Event Listener SPI : déclencher des actions métier (notification, scoring, audit)
- Theme Provider SPI : générer dynamiquement des thèmes depuis une base de données
Cas d’usage où ce critère est décisif
Exemple 1 : SI hétérogène avec applications legacy
Un groupe industriel dispose de :
- ERP SAP (SAML)
- CRM Salesforce (OIDC)
- Portail intranet Java (JAAS legacy)
- Applications métiers Python/Django
- API Node.js pour applications mobiles
Avec Entra ID : nécessité de développer des adaptateurs custom pour les apps Python/Django, configuration complexe du portail Java, coûts de connecteurs Premium pour Salesforce avec provisioning.
Avec Keycloak :
- Configuration SAML pour SAP en 30 minutes
- OIDC Salesforce via connecteur standard
- Portail Java migré vers adaptateur Keycloak (bibliothèque officielle)
- Applications Python utilisant python-keycloak
- APIs Node.js protégées via keycloak-connect
Temps d’intégration divisé par 3, pas de licensing additionnel.
Exemple 2 : Migration progressive depuis IAM legacy
Une administration publique dispose d’un annuaire LDAP custom gérant 80 000 comptes. Elle souhaite moderniser progressivement sans migration big bang.
Solution Keycloak :
- Connexion User Federation vers LDAP existant (authentification déléguée)
- Nouvelles applications se connectent à Keycloak via OIDC
- Applications legacy continuent d’interroger LDAP
- Migration progressive des utilisateurs vers base Keycloak
- Coexistence garantie pendant toute la période de transition
Entra ID ne permet pas cette cohabitation souple : synchronisation unidirectionnelle LDAP → Entra ID obligatoire, pas de lecture directe des annuaires legacy.
Exemple 3 : Plateforme microservices multi-langages
Une startup développe une plateforme SaaS avec architecture microservices :
- Backend Go
- Microservices Python (IA/ML)
- Frontend React
- Gateway API Node.js
- Worker jobs en Rust
Tous ces composants doivent valider des tokens JWT issus du CIAM.
Avec Keycloak : chaque équipe utilise la bibliothèque OIDC de son écosystème, validation JWT standard, realm keys publiques accessibles via JWKS endpoint.
Avec Entra ID : bibliothèques officielles disponibles surtout pour .NET/JavaScript, validation JWT Go/Rust nécessite bibliothèques tierces moins documentées.
Synthèse du critère

Conclusion : Si votre SI est hétérogène, s’appuie sur des technologies non-Microsoft, ou nécessite une migration progressive depuis des systèmes legacy, Keycloak offre une flexibilité d’intégration supérieure et des coûts maîtrisés.
Coût total de possession (TCO) sur 3 ans
Au-delà du licensing : une analyse économique réaliste
Le choix d’une solution CIAM ne se résume pas aux coûts de licence affichés. Une analyse TCO (Total Cost of Ownership) rigoureuse doit intégrer :
- Coûts de licensing ou d’infrastructure
- Compétences nécessaires et disponibilité sur le marché
- Temps d’administration quotidien
- Évolutivité et coûts de scaling
- Support et maintenance
- Coûts de réversibilité (exit costs)
Modèle tarifaire Entra ID pour le CIAM
Microsoft propose Entra External ID (anciennement Azure AD B2C) pour les usages CIAM, avec une tarification complexe :
Free Tier (limité) :
- 50 000 utilisateurs actifs mensuels (MAU) gratuits
- Fonctionnalités de base : OIDC, SAML, social login
- Stockage 1 Go
Pricing par MAU au-delà :
- 0-50K MAU : gratuit
- 50K-100K MAU : ~0,00325€/MAU (~325€ pour 50K additionnels)
- 100K-1M MAU : ~0,00162€/MAU (dégressif)
- Au-delà de 1M : tarification négociée
Fonctionnalités Premium nécessaires en CIAM (Entra ID P1/P2) :
- Conditional Access (MFA adaptatif selon contexte) : P1 minimum (~6€/utilisateur/mois)
- Identity Protection (détection anomalies, risque) : P2 (~9€/utilisateur/mois)
- Privileged Identity Management (administration déléguée) : P2
- Access Reviews (revue périodique des accès) : P2
Piège tarifaire : les MAU comptabilisent TOUS les utilisateurs qui se connectent dans le mois, même une seule fois. Un pic saisonnier (soldes e-commerce, période fiscale pour un service public) peut doubler la facture mensuelle.
Coûts additionnels :
- Stockage additionnel au-delà de 1 Go : ~0,13€/Go/mois
- Authentifications MFA par SMS : ~0,03€/SMS (s’additionne rapidement)
- Appels API excessifs : facturation au-delà des quotas inclus
Modèle économique Keycloak
Keycloak étant open source (licence Apache 2.0), il n’y a aucun coût de licensing. Le TCO se compose de :
- Infrastructure
Option cloud managé (ex: Red Hat Single Sign-On sur OpenShift) :
- Environnement production HA (3 nœuds) : ~800-1200€/mois
- Environnements dev/test : ~300-500€/mois
- Total infra : ~1500€/mois soit 18 000€/an
Option hébergement auto-géré :
- VMs ou conteneurs (3 instances HA) : ~400-600€/mois chez OVH/Scaleway
- Base de données managée PostgreSQL : ~200-300€/mois
- Load balancer : ~100€/mois
- Total infra : ~800€/mois soit 9 600€/an
- Compétences et administration
- Formation initiale équipe IT (3-5 jours) : ~3 000-5 000€ one-shot
- Temps administration quotidien : ~0,5 ETP (15j/mois)
- Si internalisé : coût chargé ingénieur ~4 000€/mois × 0,5 = 24 000€/an
- Si externalisé TMA : forfait 5-10 jours/mois = 15 000€/an
- Support optionnel
- Support Red Hat SSO (version entreprise Keycloak) : ~15 000-25 000€/an selon SLA
- Ou support communautaire + expertise conseil externe ponctuelle : ~5 000-10 000€/an
- Coûts de montée en version
- Upgrades Keycloak (2-3/an) : 2-3 jours d’effort/upgrade = ~10 jours/an internalisés dans l’administration
Comparaison chiffrée par scénario
Scénario 1 : ETI/Administration – 50 000 utilisateurs externes

Verdict : Entra ID encore compétitif, mais TCO Keycloak prévisible (pas de facturation aux pics).
Scénario 2 : Grand compte/Secteur public – 200 000 utilisateurs externes

Verdict : Coûts comparables, mais Keycloak offre plus de maîtrise et prévisibilité.
Scénario 3 : Plateforme multi-tenant – 500 000 utilisateurs externes

Verdict : Keycloak 2× moins cher, avec architecture multi-tenant native (realms) vs tenants Entra ID multiples.
Points d’attention sur le TCO
Coûts cachés Entra ID :
- Facturation MAU incluant bots/crawlers (nécessite filtrage)
- Pics saisonniers imprévisibles dans le CIAM
- Features Premium souvent indispensables (Conditional Access = quasi obligatoire)
- Stockage additionnel si attributs métier étendus
Coûts cachés Keycloak :
- Compétences IAM nécessaires en interne ou via prestataire
- Responsabilité opérationnelle (monitoring, scaling, sauvegardes)
- Coût de montée en compétence initiale
- Gestion des mises à jour (testing, déploiement)
Synthèse du critère

Facteurs favorisant Keycloak :
- Volumes élevés d’utilisateurs externes
- Pics d’utilisation importants et imprévisibles
- Multi-tenancy (plusieurs marques/filiales)
- Besoin de MFA natif sans coût additionnel
- Compétences IAM déjà présentes en interne
Conclusion : Pour des volumes CIAM supérieurs à 100 000 MAU ou des architectures multi-tenant complexes, Keycloak présente un TCO inférieur de 30 à 50% sur 3 ans, tout en offrant plus de maîtrise et de prévisibilité budgétaire.
Autonomie opérationnelle et réversibilité
L’enjeu stratégique de la maîtrise technologique
Au-delà des aspects fonctionnels et économiques, le choix d’une solution CIAM engage votre organisation sur le long terme. Deux dimensions critiques émergent :
- L’autonomie opérationnelle : votre capacité à faire évoluer la solution selon vos besoins métier, sans dépendre des priorités d’un éditeur ou de ses cycles de release
- La réversibilité : votre capacité à changer de solution si nécessaire, sans coûts prohibitifs ni perte de données
Ces critères sont particulièrement sensibles dans le CIAM où les données d’identité clients constituent un actif stratégique difficilement migratable.
Entra ID : dépendance à la roadmap Microsoft
Modèle SaaS : avantages et contraintes
Le modèle SaaS d’Entra ID apporte une simplicité opérationnelle indéniable :
- Pas de gestion d’infrastructure
- Mises à jour automatiques sans interruption
- Nouvelles fonctionnalités déployées progressivement
Mais cette approche génère également des dépendances structurelles :
Roadmap imposée :
- Vous ne choisissez pas quand adopter les nouvelles versions
- Les fonctionnalités sont activées selon le calendrier Microsoft
- Impossibilité de rester sur une version stable qui vous convient
- Évolutions parfois disruptives (ex: dépréciation de protocoles, changements d’API)
Personnalisation limitée :
- Fonctionnalités configurables dans les limites du produit standard
- Impossible d’ajouter des comportements métier spécifiques non prévus par Microsoft
- Custom Controls (extensibilité) en preview longue durée, adoption incertaine
Support standardisé :
- Tickets de support traités selon priorité globale Microsoft
- Pas d’accès au code source pour diagnostic approfondi
- Résolution de bugs dépendante des cycles de release Microsoft
- Escalades complexes pour problématiques spécifiques
Exemples de limitations rencontrées :
- Impossible d’implémenter une logique métier complexe dans le flux d’authentification (ex: scoring anti-fraude custom avec décision temps réel)
- Pas de contrôle sur les certificats de signature des tokens (rotation gérée par Microsoft)
- Audit trail limité aux événements standard, pas de logs personnalisés
Keycloak : contrôle et extensibilité
Maîtrise des versions :
Avec Keycloak, vous décidez :
- Quand monter de version selon votre calendrier et vos contraintes métier
- Sur quelle version rester si elle répond à vos besoins (stratégie LTS possible)
- Quel rythme de mise à jour adopter (conservateur vs early adopter)
Exemple : vous pouvez rester sur Keycloak 22.x pendant 18 mois pendant que l’équipe se concentre sur d’autres priorités, puis planifier une migration maîtrisée vers Keycloak 25.x.
Extensibilité illimitée via SPI :
Keycloak expose plus de 50 Service Provider Interfaces (SPI) permettant d’étendre ou modifier n’importe quel comportement :
Authenticators & Required Actions :
- Développer une méthode d’authentification propriétaire (ex: authentification par QR code dynamique)
- Implémenter une validation métier obligatoire (ex: acceptation CGU version spécifique, vérification de données tierces)
User Storage & Federation :
- Connecter n’importe quelle source de données comme annuaire utilisateurs (base SQL propriétaire, fichiers LDIF, API REST métier)
- Implémenter une synchronisation bidirectionnelle personnalisée
Event Listeners :
- Déclencher des actions métier sur n’importe quel événement Keycloak (connexion réussie → scoring CRM, échec MFA → alerte SOC, création utilisateur → webhook vers système tiers)
Protocol Mappers :
- Enrichir les tokens OIDC/SAML avec des attributs métier calculés dynamiquement
- Transformer les claims selon des règles métier complexes
Theme Providers & Resources :
- Générer dynamiquement des thèmes depuis une base de données
- Personnaliser le rendu selon des attributs utilisateur ou contexte applicatif
Exemple concret : Un assureur développe un Authenticator SPI custom qui :
- Interroge un service de scoring anti-fraude externe pendant l’authentification
- Exige un niveau de MFA adaptatif selon le score retourné (TOTP si risque faible, WebAuthn + SMS si risque élevé)
- Déclenche une alerte SOC si score critique et bloque l’accès
- Log tous les détails dans un système SIEM via Event Listener
→ Impossible à réaliser avec Entra ID sans développements externes lourds (Azure Functions + proxies).
Accès au code source :
- Transparence totale : code Java disponible sur GitHub, licence Apache 2.0
- Diagnostic approfondi : possibilité d’instrumenter le code pour débugger des problèmes complexes
- Contributions : votre équipe peut contribuer des améliorations à la communauté
- Forking : en dernier recours, possibilité de maintenir un fork si roadmap officielle diverge de vos besoins
Support communautaire + commercial :
- Communauté active : 15 000+ étoiles GitHub, forums actifs, documentation abondante
- Support commercial Red Hat SSO : SLA garantis, hotfixes prioritaires, expertise Red Hat
- Écosystème de partenaires : nombreux intégrateurs et consultants spécialisés (dont Aduneo !)
Réversibilité et portabilité des données
Entra ID : lock-in structurel
Migrer depuis Entra ID vers une autre solution présente plusieurs défis :
Export des données :
- Microsoft Graph API permet d’exporter les utilisateurs, groupes, applications
- Mais certaines métadonnées (historiques de connexion, configurations avancées) non exportables
- Pas de format standard d’export global (nécessite scripting custom)
Réauthentification obligatoire :
- Les mots de passe ne sont jamais exportables (hashés côté Microsoft)
- Tous les utilisateurs doivent réinitialiser leur mot de passe lors de la migration
- Impact UX significatif (taux d’abandon, support helpdesk)
Réintégration applications :
- Toutes les applications configurées pour Entra ID doivent être reconfigurées (URLs, certificats, identifiants)
- Applications utilisant des API Microsoft-specific nécessitent refonte
- Coût projet de migration important (3-6 mois pour SI moyen)
Dépendance contractuelle :
- Licensing Microsoft 365 souvent couplé (perte d’effet de volume si migration partielle)
- Perte de l’intégration native avec écosystème Microsoft (Teams, SharePoint, Dynamics)
Keycloak : réversibilité par design
Standards ouverts :
- Export complet de la configuration au format JSON
- Base de données utilisateurs exportable vers n’importe quelle cible (SQL standard)
- Protocols OIDC/SAML standard : compatibilité avec tout IdP du marché
Migration progressive possible :
- Keycloak peut agir comme proxy vers un autre IdP (Identity Brokering)
- Migration utilisateur par utilisateur via User Federation
- Coexistence avec autre solution pendant transition
Portabilité des mots de passe :
- Hashes bcrypt/PBKDF2 exportables
- Importables vers autre solution compatible (Auth0, Okta, etc.)
- Ou stratégie de migration transparente (validation mot de passe via ancien système puis stockage local)
Exit sans drame :
- Pas de licensing bloquant l’export des données
- Documentation communautaire sur migrations vers autres solutions
- Outils open source de migration disponibles (Keycloak → Auth0, Keycloak → Okta, etc.)
Cas d’usage où ce critère est décisif
Exemple 1 : Startup en hypercroissance
Une startup déploie son CIAM avec Keycloak en phase early stage. Si elle se fait acquérir par un grand groupe utilisant Entra ID, la migration reste gérable (6-8 semaines). À l’inverse, migrer depuis Entra ID vers le système du grand groupe (ex: Okta) serait un projet 6 mois.
Exemple 2 : Organisation soumise à audit de réversibilité
Un OIV (Opérateur d’Importance Vitale) doit démontrer sa capacité à changer de fournisseur IAM en moins de 3 mois pour répondre aux exigences ANSSI. Avec Keycloak déployé on-premise, la réversibilité est prouvée (données et configuration maîtrisées). Avec Entra ID SaaS, un plan de contingence complexe serait nécessaire.
Exemple 3 : Fusion-acquisition
Deux entreprises fusionnent avec des systèmes IAM différents (Keycloak vs Entra ID). L’architecture cible nécessite de fédérer les deux systèmes temporairement. Keycloak peut facilement brroker vers Entra ID (Identity Brokering OIDC). Entra ID peut théoriquement fédérer vers Keycloak SAML mais configuration plus complexe et limitations fonctionnelles.
Synthèse du critère

Conclusion : Si votre organisation valorise l’autonomie technologique, la capacité d’innovation, ou doit garantir une réversibilité contractuelle/réglementaire, Keycloak offre une maîtrise incomparable sur le long terme.
Conclusion : Keycloak, le choix de la maîtrise pour un CIAM exigeant ?
Cette analyse comparative sur 5 critères techniques déterminants met en lumière les situations où Keycloak s’impose comme une solution CIAM de référence :
Quand choisir Keycloak ?
✅ Souveraineté numérique obligatoire : secteurs régulés, OIV, données sensibles nécessitant hébergement qualifié SecNumCloud/HDS
✅ Expérience utilisateur différenciante : forte identité de marque, parcours d’authentification sur-mesure, multi-branding (white-labeling)
✅ Écosystème technologique hétérogène : stack multi-langages, applications legacy, intégrations complexes nécessitant flexibilité maximale
✅ Volumes CIAM élevés : > 100 000 utilisateurs externes, pics saisonniers importants, architecture multi-tenant
✅ Autonomie stratégique : maîtrise de la roadmap technologique, extensibilité illimitée, réversibilité garantie
Quand Entra ID reste pertinent ?
Entra ID conserve des atouts indéniables dans certains contextes :
- Organisation 100% Microsoft (Microsoft 365, Azure, Dynamics) cherchant l’intégration native
- Volumes CIAM modestes (< 50 000 MAU) sans pics significatifs
- Équipe IT réduite sans compétences IAM approfondies, privilégiant le SaaS managé
- Besoin immédiat sans budget pour montée en compétence
Notre recommandation pour les petites équipes IT
Contrairement à une idée reçue, Keycloak n’est pas réservé aux grandes organisations disposant d’équipes IAM dédiées. Avec un accompagnement adapté, une petite équipe IT peut parfaitement opérer un CIAM Keycloak de qualité production :
Stratégie d’adoption recommandée :
- Phase 1 (3 mois) : Déploiement avec accompagnement expert (Aduneo), formation équipe, configuration initiale
- Phase 2 (6 mois) : Run encadré avec support technique garantie et montée en compétence progressive
- Phase 3 (autonomie) : Administration quotidienne internalisée (0,3-0,5 ETP), support ponctuel selon besoins
Points d’attention :
- Privilégier une version LTS de Keycloak pour stabilité maximale
- Automatiser les déploiements (conteneurs, IaC)
- Investir dans le monitoring et l’observabilité dès le départ
- Maintenir une veille technologique (release notes, community)
Aller plus loin : évaluez votre contexte CIAM
Chaque organisation a des contraintes et priorités spécifiques. Nous vous recommandons une analyse contextualisée incluant :
- Audit d’architecture : cartographie applications, volumes, contraintes réglementaires
- Analyse TCO comparative : chiffrage précis sur votre contexte (3-5 ans)
- POC technique : validation des cas d’usage critiques sur plateforme de démonstration
- Plan de montée en compétence : évaluation du gap et formation ciblée
Aduneo vous accompagne dans cette démarche avec :
- Ateliers d’évaluation
- POC Keycloak managé
- Calcul ROI personnalisé selon vos volumes et contraintes
- Expertise reconnue : nombreux projets CIAM Keycloak déployés pour organisations publiques et privées
Contactez nos experts IAM pour échanger sur votre projet CIAM et identifier la solution la plus pertinente pour votre contexte.
Aduneo
Expert cyber IAM depuis 2001
Spécialisés dans les domaines de la gestion des identités et des accès (IAM, CIAM, IGA, PAM, CIEM) et de la sécurité des infrastructures, nous aidons les organisations à sécuriser et à optimiser leurs environnements numériques on-premise, cloud et hybrides. Avec une expertise pointue dans ces secteurs critiques, nous comprenons les enjeux spécifiques de protection des données et d'accès sécurisé auxquels nos clients font face dans leur transformation digitale.
Démarrez tout de suite votre projet IAM avec nos équipes !
Nos agences
Nous contacter
Accès rapide

Sommaire
La gestion des identités clients (CIAM – Customer Identity and Access Management) est devenue un enjeu stratégique pour les organisations exposant des services numériques à des milliers, voire des millions d’utilisateurs externes. Contrairement à l’IAM interne centré sur les collaborateurs, le CIAM doit concilier sécurité renforcée, expérience utilisateur fluide et capacité à absorber des volumes massifs et imprévisibles.
Pour les équipes IT de taille réduite, le choix de la solution CIAM est d’autant plus critique qu’il conditionne leur autonomie opérationnelle et leur capacité à répondre aux exigences métier sans multiplier les ressources. Deux solutions sont régulièrement plébiscitées dans ce contexte : Microsoft Entra ID, référence du cloud IAM pour les organisations Microsoft-centriques, et Keycloak, solution open source de référence portée par Red Hat et une communauté internationale active.
Cet article propose une analyse comparative sur 5 critères techniques déterminants pour éclairer votre choix, en mettant en lumière les situations où Keycloak offre des avantages structurels pour un déploiement CIAM exigeant.
Souveraineté numérique et localisation des données
L’enjeu de la maîtrise des données clients
Dans un contexte CIAM, vous hébergez et traitez des données d’identité de clients, prospects ou partenaires externes : adresses email, numéros de téléphone, historiques de connexion, consentements RGPD, et potentiellement des attributs métiers sensibles. La localisation géographique de ces données et votre capacité à en garantir la maîtrise deviennent des critères contractuels, réglementaires, voire des arguments commerciaux différenciants.
Entra ID : une souveraineté relative
Microsoft Entra ID fonctionne exclusivement en mode SaaS hébergé sur l’infrastructure cloud Microsoft Azure. Si Microsoft propose des datacenters en Europe (notamment France Central et France South), plusieurs limitations persistent :
- Localisation non garantie contractuellement : Microsoft se réserve le droit de répliquer certaines données vers d’autres régions pour des besoins de résilience ou d’opérations internes
- Cloud Act américain : Microsoft reste soumis au cadre légal américain, ce qui expose théoriquement vos données à des réquisitions extraterritoriales
- Certification SecNumCloud non disponible : pour les organisations soumises aux exigences strictes de l’ANSSI (OIV, administrations), Entra ID ne détient pas la qualification SecNumCloud exigée
- Aucune option on-premise : impossible de déployer Entra ID sur votre propre infrastructure ou chez un hébergeur souverain de votre choix
Keycloak : souveraineté totale par design
Keycloak offre une maîtrise complète de votre architecture CIAM :
- Déploiement au choix : on-premise dans votre datacenter, chez un cloud provider européen (OVHcloud, Scaleway, Outscale), ou sur une infrastructure certifiée (HDS, SecNumCloud)
- Contrôle juridique total : vous choisissez la juridiction d’hébergement et échappez aux législations extraterritoriales
- Architecture hybride possible : vous pouvez combiner instances on-premise (production sensible) et cloud (environnements de développement) selon vos contraintes
- Audit et traçabilité maîtrisés : logs d’authentification, bases de données, sauvegardes restent sous votre contrôle direct
Cas d’usage où ce critère est décisif
Exemple 1 : Organisme public gérant des usagers
Une administration souhaitant déployer un portail citoyen pour 500 000 usagers doit respecter le référentiel de sécurité de l’ANSSI. L’hébergement sur infrastructure qualifiée SecNumCloud devient obligatoire. Keycloak déployé chez un hébergeur certifié (Ikoula, NumSpot, S3ns) répond à cette exigence, contrairement à Entra ID.
Exemple 2 : Plateforme B2B avec clauses contractuelles clients
Un éditeur SaaS servant des grands comptes industriels se voit imposer contractuellement un hébergement des données clients en France métropolitaine, avec garantie d’absence de transfert hors UE. Keycloak sur OVHcloud permet de contractualiser cette garantie, là où Entra ID nécessiterait des exceptions négociées avec Microsoft.
Exemple 3 : Stratégie cloud de confiance
Une entreprise adoptant la démarche cloud de confiance (partenariat État français + acteurs cloud européens) pour ses données sensibles peut intégrer Keycloak dans ce périmètre, contrairement aux solutions SaaS américaines.
Synthèse du critère

Conclusion : Si la souveraineté numérique, la conformité aux référentiels étatiques ou les clauses contractuelles clients imposent une maîtrise stricte de l’hébergement, Keycloak devient incontournable.
Personnalisation de l’expérience utilisateur
L’importance de l’UX en CIAM
Contrairement à l’IAM interne où les utilisateurs acceptent des interfaces fonctionnelles (portails RH, intranets), le CIAM s’adresse à des clients, utilisateurs ou partenaires externes qui jugent votre organisation à travers chaque interaction. Les pages de connexion, d’inscription, de réinitialisation de mot de passe ou de consentement RGPD doivent :
- Refléter parfaitement votre identité de marque (charte graphique, logo, couleurs, tonalité)
- S’intégrer visuellement dans vos applications pour éviter toute rupture d’expérience
- S’adapter aux parcours métier spécifiques (inscription progressive, double authentification contextuelle, formulaires sur-mesure)
Entra ID : personnalisation limitée
Microsoft Entra ID propose des options de branding mais avec des contraintes structurelles importantes :
Capacités natives :
- Ajout logo et image de fond sur les pages de connexion
- Personnalisation partielle des couleurs (bannière, boutons)
- Textes personnalisés pour quelques messages d’erreur courants
Limitations bloquantes :
- Templates HTML figés : impossible de modifier la structure des pages, l’ordre des champs, ou d’ajouter des éléments HTML custom
- CSS restreint : pas d’accès au code CSS global, seulement quelques variables de style prédéfinies
- JavaScript interdit : aucune possibilité d’ajouter des comportements interactifs personnalisés (validation de formulaire avancée, analytics, A/B testing)
- Écrans standards non modifiables : les pages de MFA, de consentement d’application, ou d’erreur restent aux couleurs Microsoft
- Multi-marques complexe : personnaliser pour plusieurs marques/filiales nécessite des tenants Entra ID séparés (coût ×N)
Exemple de limitation : Une banque souhaitant intégrer un module de consentement RGPD personnalisé avec cases à cocher détaillées et liens vers documentation légale ne peut pas modifier le template Entra ID. Elle devra rediriger vers une page externe, créant une rupture d’expérience.
Keycloak : une grande liberté de customisation
Keycloak adopte une approche radicalement différente grâce à son système de thèmes open et extensible :
Personnalisation complète :
- Fichiers HTML modifiables : accès direct aux templates FreeMarker des pages (login, register, MFA, error, etc.)
- CSS et JavaScript libres : intégration de vos frameworks frontend (Bootstrap, Tailwind, React components)
- Structure modifiable : ajout de champs formulaire, réorganisation de l’interface, création d’écrans spécifiques
- Multilinguisme avancé : fichiers de traduction personnalisables par langue et par marque
Architecture multi-thèmes :
- Création de thèmes distincts par marque, filiale ou typologie de client
- Activation dynamique selon le contexte (domaine d’accès, paramètre URL, attribut utilisateur)
- Héritage de thèmes : créer des variantes sans dupliquer le code
Extensions avancées :
- Développement de Required Actions custom (étapes de validation obligatoires post-connexion)
- Création d’Authenticators spécifiques (méthodes d’authentification sur-mesure)
- Intégration d’APIs externes dans les parcours (scoring anti-fraude, vérification d’identité)
Cas d’usage où ce critère est décisif
Exemple 1 : Marketplace B2B2C avec white-labeling
Un opérateur de plateforme propose des espaces clients personnalisés à 25 enseignes partenaires. Chaque enseigne exige son branding complet sur toutes les pages d’authentification. Avec Keycloak, l’équipe IT crée 25 thèmes dérivés d’un template maître, personnalisables via interface admin. Coût : 1 instance Keycloak. Avec Entra ID : nécessité de 25 tenants distincts (licensing ×25).
Exemple 2 : Site e-commerce avec parcours d’inscription progressif
Un site e-commerce souhaite limiter les frictions à l’inscription initiale (email + mot de passe uniquement), puis collecter progressivement adresse, téléphone, préférences lors des premières commandes. Keycloak permet de créer des Required Actions conditionnelles déclenchées selon le contexte métier. Entra ID impose un formulaire d’inscription fixe non modifiable.
Exemple 3 : Application mobile avec authentification biométrique branded
Une banque déploie son application mobile avec authentification FaceID/TouchID. Elle souhaite personnaliser totalement l’écran de secours (mot de passe) en cas d’échec biométrique. Keycloak permet d’intégrer cet écran dans le design system de l’app. Entra ID affiche un écran générique Microsoft non personnalisable.
Exemple 4 : Portail partenaires B2B avec gestion déléguée
Un industriel offre un portail B2B où chaque partenaire peut gérer ses propres utilisateurs via une interface dédiée. L’interface d’administration Keycloak peut être totalement rebrandée et simplifiée pour ces administrateurs délégués. Entra ID propose une console d’administration Microsoft standard non modifiable.
Synthèse du critère

Conclusion : Si votre stratégie CIAM repose sur une expérience utilisateur différenciante, un branding strict, ou des parcours d’authentification spécifiques à vos métiers, Keycloak offre une flexibilité incomparable.
Intégration avec des écosystèmes technologiques hétérogènes
La réalité des systèmes d’information complexes
Rares sont les organisations dont le SI repose exclusivement sur des technologies Microsoft. La plupart gèrent un patrimoine applicatif hétérogène résultant de :
- Acquisitions successives apportant leurs propres stacks techniques
- Applications legacy développées sur des technologies antérieures au cloud
- Choix d’outils best-of-breed dans différents domaines métier
- Architectures microservices multipliant les langages et frameworks
Un système CIAM doit donc fédérer l’authentification pour des applications Java, Python, Node.js, PHP, mais aussi des CRM SaaS, des outils métiers spécifiques, des API REST, voire des mainframes via protocoles legacy.
Entra ID : optimisé pour l’écosystème Microsoft
Microsoft Entra ID excelle dans l’intégration avec son propre écosystème :
Points forts :
- Intégration native avec Microsoft 365, SharePoint, Teams, Dynamics 365
- Synchronisation simplifiée avec Active Directory on-premise (Entra Connect)
- Conditional Access puissant pour les applications Microsoft
Limites pour les environnements hétérogènes :
Protocoles standards supportés mais…
- OIDC/OAuth 2.0 et SAML 2.0 disponibles, mais configuration plus complexe que pour les apps Microsoft
- Documentation orientée .NET/Azure Stack, exemples rares pour autres technologies
Connecteurs tiers payants
- La Entra App Gallery propose 3000+ connecteurs pré-configurés
- Mais applications spécifiques ou développements internes nécessitent configuration manuelle
- Certains connecteurs avancés (ex: Salesforce avec provisioning bidirectionnel) requièrent Entra ID P2 (€8-10/utilisateur/mois)
Intégrations complexes :
- Applications Java utilisant JAAS : adaptation nécessaire vers OIDC
- Systèmes legacy LDAP/Kerberos : nécessitent proxy d’authentification (coût et complexité additionnels)
- APIs REST non-Microsoft : gestion token OAuth manuelle, pas d’adaptateurs prêts à l’emploi
Provisioning limité :
- SCIM supporté pour applications populaires
- Connecteurs custom nécessitent développement sur Azure Logic Apps ou Functions (coûts runtime)
- Synchronisation vers bases métiers non-standards : intégration complexe
Keycloak : interopérabilité par design
Keycloak a été conçu comme un broker d’identité universel capable de s’intégrer avec n’importe quelle technologie via des standards ouverts :
Protocoles standards en natif :
- OpenID Connect (recommandé) : implémentation complète et certifiée
- SAML 2.0 (SSO et SLO) : support client et identity provider
- OAuth 2.0 : tous les flux (authorization code, client credentials, device flow, etc.)
- CAS Protocol : pour applications universitaires/académiques
- Docker Registry v2 : authentification native pour registries de conteneurs
Adaptateurs officiels multi-technologies :
Red Hat et la communauté maintiennent des adaptateurs pour :
- Java/Jakarta EE : Wildfly, Tomcat, Jetty, Spring Boot
- JavaScript : React, Angular, Vue.js (via keycloak-js)
- Node.js : Express, NestJS
- Python : Flask, Django, FastAPI (via python-keycloak)
- Go, Rust, PHP, Ruby : bibliothèques communautaires actives
User Federation flexible :
Keycloak se connecte nativement à vos annuaires existants :
- LDAP/Active Directory : lecture/écriture, mapping attributs personnalisable
- Kerberos : authentification SSO Windows transparente
- Custom User Storage SPI : développer votre propre connecteur vers n’importe quelle source (base SQL, API REST, fichiers plats)
Identity Brokering :
Keycloak agit comme hub central fédérant d’autres fournisseurs d’identité :
- Social Login : Google, Facebook, GitHub, LinkedIn (prêts à l’emploi)
- Enterprise IdP : délégation vers Entra ID, Okta, Auth0, ADFS
- SAML/OIDC générique : connexion à n’importe quel IdP externe
- Mapping d’attributs : transformation des claims entre systèmes
Extensibilité via SPI (Service Provider Interface) :
Keycloak expose plus de 50 points d’extension pour personnaliser son comportement :
- Authenticator SPI : créer des méthodes d’authentification sur-mesure
- Protocol Mapper SPI : transformer les tokens selon vos besoins
- Event Listener SPI : déclencher des actions métier (notification, scoring, audit)
- Theme Provider SPI : générer dynamiquement des thèmes depuis une base de données
Cas d’usage où ce critère est décisif
Exemple 1 : SI hétérogène avec applications legacy
Un groupe industriel dispose de :
- ERP SAP (SAML)
- CRM Salesforce (OIDC)
- Portail intranet Java (JAAS legacy)
- Applications métiers Python/Django
- API Node.js pour applications mobiles
Avec Entra ID : nécessité de développer des adaptateurs custom pour les apps Python/Django, configuration complexe du portail Java, coûts de connecteurs Premium pour Salesforce avec provisioning.
Avec Keycloak :
- Configuration SAML pour SAP en 30 minutes
- OIDC Salesforce via connecteur standard
- Portail Java migré vers adaptateur Keycloak (bibliothèque officielle)
- Applications Python utilisant python-keycloak
- APIs Node.js protégées via keycloak-connect
Temps d’intégration divisé par 3, pas de licensing additionnel.
Exemple 2 : Migration progressive depuis IAM legacy
Une administration publique dispose d’un annuaire LDAP custom gérant 80 000 comptes. Elle souhaite moderniser progressivement sans migration big bang.
Solution Keycloak :
- Connexion User Federation vers LDAP existant (authentification déléguée)
- Nouvelles applications se connectent à Keycloak via OIDC
- Applications legacy continuent d’interroger LDAP
- Migration progressive des utilisateurs vers base Keycloak
- Coexistence garantie pendant toute la période de transition
Entra ID ne permet pas cette cohabitation souple : synchronisation unidirectionnelle LDAP → Entra ID obligatoire, pas de lecture directe des annuaires legacy.
Exemple 3 : Plateforme microservices multi-langages
Une startup développe une plateforme SaaS avec architecture microservices :
- Backend Go
- Microservices Python (IA/ML)
- Frontend React
- Gateway API Node.js
- Worker jobs en Rust
Tous ces composants doivent valider des tokens JWT issus du CIAM.
Avec Keycloak : chaque équipe utilise la bibliothèque OIDC de son écosystème, validation JWT standard, realm keys publiques accessibles via JWKS endpoint.
Avec Entra ID : bibliothèques officielles disponibles surtout pour .NET/JavaScript, validation JWT Go/Rust nécessite bibliothèques tierces moins documentées.
Synthèse du critère

Conclusion : Si votre SI est hétérogène, s’appuie sur des technologies non-Microsoft, ou nécessite une migration progressive depuis des systèmes legacy, Keycloak offre une flexibilité d’intégration supérieure et des coûts maîtrisés.
Coût total de possession (TCO) sur 3 ans
Au-delà du licensing : une analyse économique réaliste
Le choix d’une solution CIAM ne se résume pas aux coûts de licence affichés. Une analyse TCO (Total Cost of Ownership) rigoureuse doit intégrer :
- Coûts de licensing ou d’infrastructure
- Compétences nécessaires et disponibilité sur le marché
- Temps d’administration quotidien
- Évolutivité et coûts de scaling
- Support et maintenance
- Coûts de réversibilité (exit costs)
Modèle tarifaire Entra ID pour le CIAM
Microsoft propose Entra External ID (anciennement Azure AD B2C) pour les usages CIAM, avec une tarification complexe :
Free Tier (limité) :
- 50 000 utilisateurs actifs mensuels (MAU) gratuits
- Fonctionnalités de base : OIDC, SAML, social login
- Stockage 1 Go
Pricing par MAU au-delà :
- 0-50K MAU : gratuit
- 50K-100K MAU : ~0,00325€/MAU (~325€ pour 50K additionnels)
- 100K-1M MAU : ~0,00162€/MAU (dégressif)
- Au-delà de 1M : tarification négociée
Fonctionnalités Premium nécessaires en CIAM (Entra ID P1/P2) :
- Conditional Access (MFA adaptatif selon contexte) : P1 minimum (~6€/utilisateur/mois)
- Identity Protection (détection anomalies, risque) : P2 (~9€/utilisateur/mois)
- Privileged Identity Management (administration déléguée) : P2
- Access Reviews (revue périodique des accès) : P2
Piège tarifaire : les MAU comptabilisent TOUS les utilisateurs qui se connectent dans le mois, même une seule fois. Un pic saisonnier (soldes e-commerce, période fiscale pour un service public) peut doubler la facture mensuelle.
Coûts additionnels :
- Stockage additionnel au-delà de 1 Go : ~0,13€/Go/mois
- Authentifications MFA par SMS : ~0,03€/SMS (s’additionne rapidement)
- Appels API excessifs : facturation au-delà des quotas inclus
Modèle économique Keycloak
Keycloak étant open source (licence Apache 2.0), il n’y a aucun coût de licensing. Le TCO se compose de :
- Infrastructure
Option cloud managé (ex: Red Hat Single Sign-On sur OpenShift) :
- Environnement production HA (3 nœuds) : ~800-1200€/mois
- Environnements dev/test : ~300-500€/mois
- Total infra : ~1500€/mois soit 18 000€/an
Option hébergement auto-géré :
- VMs ou conteneurs (3 instances HA) : ~400-600€/mois chez OVH/Scaleway
- Base de données managée PostgreSQL : ~200-300€/mois
- Load balancer : ~100€/mois
- Total infra : ~800€/mois soit 9 600€/an
- Compétences et administration
- Formation initiale équipe IT (3-5 jours) : ~3 000-5 000€ one-shot
- Temps administration quotidien : ~0,5 ETP (15j/mois)
- Si internalisé : coût chargé ingénieur ~4 000€/mois × 0,5 = 24 000€/an
- Si externalisé TMA : forfait 5-10 jours/mois = 15 000€/an
- Support optionnel
- Support Red Hat SSO (version entreprise Keycloak) : ~15 000-25 000€/an selon SLA
- Ou support communautaire + expertise conseil externe ponctuelle : ~5 000-10 000€/an
- Coûts de montée en version
- Upgrades Keycloak (2-3/an) : 2-3 jours d’effort/upgrade = ~10 jours/an internalisés dans l’administration
Comparaison chiffrée par scénario
Scénario 1 : ETI/Administration – 50 000 utilisateurs externes

Verdict : Entra ID encore compétitif, mais TCO Keycloak prévisible (pas de facturation aux pics).
Scénario 2 : Grand compte/Secteur public – 200 000 utilisateurs externes

Verdict : Coûts comparables, mais Keycloak offre plus de maîtrise et prévisibilité.
Scénario 3 : Plateforme multi-tenant – 500 000 utilisateurs externes

Verdict : Keycloak 2× moins cher, avec architecture multi-tenant native (realms) vs tenants Entra ID multiples.
Points d’attention sur le TCO
Coûts cachés Entra ID :
- Facturation MAU incluant bots/crawlers (nécessite filtrage)
- Pics saisonniers imprévisibles dans le CIAM
- Features Premium souvent indispensables (Conditional Access = quasi obligatoire)
- Stockage additionnel si attributs métier étendus
Coûts cachés Keycloak :
- Compétences IAM nécessaires en interne ou via prestataire
- Responsabilité opérationnelle (monitoring, scaling, sauvegardes)
- Coût de montée en compétence initiale
- Gestion des mises à jour (testing, déploiement)
Synthèse du critère

Facteurs favorisant Keycloak :
- Volumes élevés d’utilisateurs externes
- Pics d’utilisation importants et imprévisibles
- Multi-tenancy (plusieurs marques/filiales)
- Besoin de MFA natif sans coût additionnel
- Compétences IAM déjà présentes en interne
Conclusion : Pour des volumes CIAM supérieurs à 100 000 MAU ou des architectures multi-tenant complexes, Keycloak présente un TCO inférieur de 30 à 50% sur 3 ans, tout en offrant plus de maîtrise et de prévisibilité budgétaire.
Autonomie opérationnelle et réversibilité
L’enjeu stratégique de la maîtrise technologique
Au-delà des aspects fonctionnels et économiques, le choix d’une solution CIAM engage votre organisation sur le long terme. Deux dimensions critiques émergent :
- L’autonomie opérationnelle : votre capacité à faire évoluer la solution selon vos besoins métier, sans dépendre des priorités d’un éditeur ou de ses cycles de release
- La réversibilité : votre capacité à changer de solution si nécessaire, sans coûts prohibitifs ni perte de données
Ces critères sont particulièrement sensibles dans le CIAM où les données d’identité clients constituent un actif stratégique difficilement migratable.
Entra ID : dépendance à la roadmap Microsoft
Modèle SaaS : avantages et contraintes
Le modèle SaaS d’Entra ID apporte une simplicité opérationnelle indéniable :
- Pas de gestion d’infrastructure
- Mises à jour automatiques sans interruption
- Nouvelles fonctionnalités déployées progressivement
Mais cette approche génère également des dépendances structurelles :
Roadmap imposée :
- Vous ne choisissez pas quand adopter les nouvelles versions
- Les fonctionnalités sont activées selon le calendrier Microsoft
- Impossibilité de rester sur une version stable qui vous convient
- Évolutions parfois disruptives (ex: dépréciation de protocoles, changements d’API)
Personnalisation limitée :
- Fonctionnalités configurables dans les limites du produit standard
- Impossible d’ajouter des comportements métier spécifiques non prévus par Microsoft
- Custom Controls (extensibilité) en preview longue durée, adoption incertaine
Support standardisé :
- Tickets de support traités selon priorité globale Microsoft
- Pas d’accès au code source pour diagnostic approfondi
- Résolution de bugs dépendante des cycles de release Microsoft
- Escalades complexes pour problématiques spécifiques
Exemples de limitations rencontrées :
- Impossible d’implémenter une logique métier complexe dans le flux d’authentification (ex: scoring anti-fraude custom avec décision temps réel)
- Pas de contrôle sur les certificats de signature des tokens (rotation gérée par Microsoft)
- Audit trail limité aux événements standard, pas de logs personnalisés
Keycloak : contrôle et extensibilité
Maîtrise des versions :
Avec Keycloak, vous décidez :
- Quand monter de version selon votre calendrier et vos contraintes métier
- Sur quelle version rester si elle répond à vos besoins (stratégie LTS possible)
- Quel rythme de mise à jour adopter (conservateur vs early adopter)
Exemple : vous pouvez rester sur Keycloak 22.x pendant 18 mois pendant que l’équipe se concentre sur d’autres priorités, puis planifier une migration maîtrisée vers Keycloak 25.x.
Extensibilité illimitée via SPI :
Keycloak expose plus de 50 Service Provider Interfaces (SPI) permettant d’étendre ou modifier n’importe quel comportement :
Authenticators & Required Actions :
- Développer une méthode d’authentification propriétaire (ex: authentification par QR code dynamique)
- Implémenter une validation métier obligatoire (ex: acceptation CGU version spécifique, vérification de données tierces)
User Storage & Federation :
- Connecter n’importe quelle source de données comme annuaire utilisateurs (base SQL propriétaire, fichiers LDIF, API REST métier)
- Implémenter une synchronisation bidirectionnelle personnalisée
Event Listeners :
- Déclencher des actions métier sur n’importe quel événement Keycloak (connexion réussie → scoring CRM, échec MFA → alerte SOC, création utilisateur → webhook vers système tiers)
Protocol Mappers :
- Enrichir les tokens OIDC/SAML avec des attributs métier calculés dynamiquement
- Transformer les claims selon des règles métier complexes
Theme Providers & Resources :
- Générer dynamiquement des thèmes depuis une base de données
- Personnaliser le rendu selon des attributs utilisateur ou contexte applicatif
Exemple concret : Un assureur développe un Authenticator SPI custom qui :
- Interroge un service de scoring anti-fraude externe pendant l’authentification
- Exige un niveau de MFA adaptatif selon le score retourné (TOTP si risque faible, WebAuthn + SMS si risque élevé)
- Déclenche une alerte SOC si score critique et bloque l’accès
- Log tous les détails dans un système SIEM via Event Listener
→ Impossible à réaliser avec Entra ID sans développements externes lourds (Azure Functions + proxies).
Accès au code source :
- Transparence totale : code Java disponible sur GitHub, licence Apache 2.0
- Diagnostic approfondi : possibilité d’instrumenter le code pour débugger des problèmes complexes
- Contributions : votre équipe peut contribuer des améliorations à la communauté
- Forking : en dernier recours, possibilité de maintenir un fork si roadmap officielle diverge de vos besoins
Support communautaire + commercial :
- Communauté active : 15 000+ étoiles GitHub, forums actifs, documentation abondante
- Support commercial Red Hat SSO : SLA garantis, hotfixes prioritaires, expertise Red Hat
- Écosystème de partenaires : nombreux intégrateurs et consultants spécialisés (dont Aduneo !)
Réversibilité et portabilité des données
Entra ID : lock-in structurel
Migrer depuis Entra ID vers une autre solution présente plusieurs défis :
Export des données :
- Microsoft Graph API permet d’exporter les utilisateurs, groupes, applications
- Mais certaines métadonnées (historiques de connexion, configurations avancées) non exportables
- Pas de format standard d’export global (nécessite scripting custom)
Réauthentification obligatoire :
- Les mots de passe ne sont jamais exportables (hashés côté Microsoft)
- Tous les utilisateurs doivent réinitialiser leur mot de passe lors de la migration
- Impact UX significatif (taux d’abandon, support helpdesk)
Réintégration applications :
- Toutes les applications configurées pour Entra ID doivent être reconfigurées (URLs, certificats, identifiants)
- Applications utilisant des API Microsoft-specific nécessitent refonte
- Coût projet de migration important (3-6 mois pour SI moyen)
Dépendance contractuelle :
- Licensing Microsoft 365 souvent couplé (perte d’effet de volume si migration partielle)
- Perte de l’intégration native avec écosystème Microsoft (Teams, SharePoint, Dynamics)
Keycloak : réversibilité par design
Standards ouverts :
- Export complet de la configuration au format JSON
- Base de données utilisateurs exportable vers n’importe quelle cible (SQL standard)
- Protocols OIDC/SAML standard : compatibilité avec tout IdP du marché
Migration progressive possible :
- Keycloak peut agir comme proxy vers un autre IdP (Identity Brokering)
- Migration utilisateur par utilisateur via User Federation
- Coexistence avec autre solution pendant transition
Portabilité des mots de passe :
- Hashes bcrypt/PBKDF2 exportables
- Importables vers autre solution compatible (Auth0, Okta, etc.)
- Ou stratégie de migration transparente (validation mot de passe via ancien système puis stockage local)
Exit sans drame :
- Pas de licensing bloquant l’export des données
- Documentation communautaire sur migrations vers autres solutions
- Outils open source de migration disponibles (Keycloak → Auth0, Keycloak → Okta, etc.)
Cas d’usage où ce critère est décisif
Exemple 1 : Startup en hypercroissance
Une startup déploie son CIAM avec Keycloak en phase early stage. Si elle se fait acquérir par un grand groupe utilisant Entra ID, la migration reste gérable (6-8 semaines). À l’inverse, migrer depuis Entra ID vers le système du grand groupe (ex: Okta) serait un projet 6 mois.
Exemple 2 : Organisation soumise à audit de réversibilité
Un OIV (Opérateur d’Importance Vitale) doit démontrer sa capacité à changer de fournisseur IAM en moins de 3 mois pour répondre aux exigences ANSSI. Avec Keycloak déployé on-premise, la réversibilité est prouvée (données et configuration maîtrisées). Avec Entra ID SaaS, un plan de contingence complexe serait nécessaire.
Exemple 3 : Fusion-acquisition
Deux entreprises fusionnent avec des systèmes IAM différents (Keycloak vs Entra ID). L’architecture cible nécessite de fédérer les deux systèmes temporairement. Keycloak peut facilement brroker vers Entra ID (Identity Brokering OIDC). Entra ID peut théoriquement fédérer vers Keycloak SAML mais configuration plus complexe et limitations fonctionnelles.
Synthèse du critère

Conclusion : Si votre organisation valorise l’autonomie technologique, la capacité d’innovation, ou doit garantir une réversibilité contractuelle/réglementaire, Keycloak offre une maîtrise incomparable sur le long terme.
Conclusion : Keycloak, le choix de la maîtrise pour un CIAM exigeant ?
Cette analyse comparative sur 5 critères techniques déterminants met en lumière les situations où Keycloak s’impose comme une solution CIAM de référence :
Quand choisir Keycloak ?
✅ Souveraineté numérique obligatoire : secteurs régulés, OIV, données sensibles nécessitant hébergement qualifié SecNumCloud/HDS
✅ Expérience utilisateur différenciante : forte identité de marque, parcours d’authentification sur-mesure, multi-branding (white-labeling)
✅ Écosystème technologique hétérogène : stack multi-langages, applications legacy, intégrations complexes nécessitant flexibilité maximale
✅ Volumes CIAM élevés : > 100 000 utilisateurs externes, pics saisonniers importants, architecture multi-tenant
✅ Autonomie stratégique : maîtrise de la roadmap technologique, extensibilité illimitée, réversibilité garantie
Quand Entra ID reste pertinent ?
Entra ID conserve des atouts indéniables dans certains contextes :
- Organisation 100% Microsoft (Microsoft 365, Azure, Dynamics) cherchant l’intégration native
- Volumes CIAM modestes (< 50 000 MAU) sans pics significatifs
- Équipe IT réduite sans compétences IAM approfondies, privilégiant le SaaS managé
- Besoin immédiat sans budget pour montée en compétence
Notre recommandation pour les petites équipes IT
Contrairement à une idée reçue, Keycloak n’est pas réservé aux grandes organisations disposant d’équipes IAM dédiées. Avec un accompagnement adapté, une petite équipe IT peut parfaitement opérer un CIAM Keycloak de qualité production :
Stratégie d’adoption recommandée :
- Phase 1 (3 mois) : Déploiement avec accompagnement expert (Aduneo), formation équipe, configuration initiale
- Phase 2 (6 mois) : Run encadré avec support technique garantie et montée en compétence progressive
- Phase 3 (autonomie) : Administration quotidienne internalisée (0,3-0,5 ETP), support ponctuel selon besoins
Points d’attention :
- Privilégier une version LTS de Keycloak pour stabilité maximale
- Automatiser les déploiements (conteneurs, IaC)
- Investir dans le monitoring et l’observabilité dès le départ
- Maintenir une veille technologique (release notes, community)
Aller plus loin : évaluez votre contexte CIAM
Chaque organisation a des contraintes et priorités spécifiques. Nous vous recommandons une analyse contextualisée incluant :
- Audit d’architecture : cartographie applications, volumes, contraintes réglementaires
- Analyse TCO comparative : chiffrage précis sur votre contexte (3-5 ans)
- POC technique : validation des cas d’usage critiques sur plateforme de démonstration
- Plan de montée en compétence : évaluation du gap et formation ciblée
Aduneo vous accompagne dans cette démarche avec :
- Ateliers d’évaluation
- POC Keycloak managé
- Calcul ROI personnalisé selon vos volumes et contraintes
- Expertise reconnue : nombreux projets CIAM Keycloak déployés pour organisations publiques et privées
Contactez nos experts IAM pour échanger sur votre projet CIAM et identifier la solution la plus pertinente pour votre contexte.


