Questions d'entretien ingénieur IAM Keycloak : realms, flows et cluster

Keycloak ne coûte rien en licence, mais une instance de production demande du métier : découpage en realms, flows d'authentification, extensions Java, cluster Infinispan et montées de version fréquentes. Les questions séparent l'ingénieur qui exploite la plateforme du développeur qui y a branché une application.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Ingénieur IAM Keycloak : technologies, chaîne du poste, une question et la grille d'évaluation

Keycloak arrive souvent dans une équipe par un développeur qui avait besoin d'un SSO pour son application. Quelques années plus tard, la même instance sert vingt applications, porte des comptes de partenaires et tourne sur Kubernetes sans que personne ne l'ait conçue. Le besoin d'un ingénieur IAM Keycloak naît souvent à ce moment.

Le poste couvre le paramétrage des realms et des clients, les flows d'authentification, la fédération avec l'Active Directory ou d'autres fournisseurs d'identité, l'écriture d'extensions en Java et l'exploitation du cluster. Keycloak tourne sur Quarkus depuis l'abandon de l'ancienne distribution WildFly, et la version 26.8 est la plus récente en novembre 2026. Red Hat en vend une version supportée, la Red Hat build of Keycloak, qui a succédé à Red Hat Single Sign-On.

Sur le CV, les bons signes sont une montée de version menée, une extension SPI écrite, un cluster diagnostiqué ou une configuration gérée en code. Une ligne « Keycloak » dans un projet Spring Boot décrit en général une intégration côté application. Le PDF propose 30 questions sur six axes et un cas de 20 minutes sur le remplacement d'un SSO maison.

Keycloak et son environnement technique

Realms et clients

Le realm est un espace isolé avec ses utilisateurs, ses applications (les clients), ses clés de signature et ses administrateurs. Chaque application y est déclarée comme client OIDC ou SAML. Le découpage en realms se décide tôt et se corrige difficilement, c'est la première chose à faire expliquer.

Client scopes et mappers

Les mappers décident de ce que contient le jeton : rôles, groupes, attributs, audience. Les client scopes regroupent ces mappers et s'attribuent aux clients. Beaucoup d'erreurs entre une application et Keycloak viennent de là, comme une audience absente ou un jeton trop gros.

Flows d'authentification

Le parcours de connexion est un assemblage d'étapes et de conditions : mot de passe, OTP, WebAuthn et passkeys, conditions sur le rôle ou sur le niveau d'authentification demandé. Les required actions forcent une étape à la prochaine connexion, comme l'enrôlement d'un second facteur.

Fédération LDAP et identity brokering

Keycloak lit les comptes d'un Active Directory ou d'un annuaire LDAP, ou délègue la connexion à un autre fournisseur d'identité (Entra ID, un autre Keycloak, un fournisseur social). Les organisations regroupent les membres d'un client et leurs fournisseurs d'identité.

SPI et extensions Java

Les Service Provider Interfaces permettent d'ajouter du code Java : lecture des comptes dans une base métier (User Storage SPI), étape d'authentification maison, envoi des événements vers un bus ou un SIEM. Chaque extension doit être recompilée et retestée à chaque montée de version.

Quarkus, Infinispan et base de données

Keycloak est une application Quarkus. Les instances forment un cluster et partagent des caches Infinispan pour les sessions d'authentification en cours. Les sessions utilisateur sont stockées en base par défaut depuis la version 26, le plus souvent dans PostgreSQL.

Opérateur Kubernetes et OpenShift

L'opérateur officiel déploie et met à jour Keycloak à partir d'une ressource Kubernetes, et peut importer un realm. On le trouve sur Kubernetes comme sur OpenShift, souvent avec la version Red Hat.

Configuration en code

Les realms, clients et flows se décrivent dans des fichiers appliqués par keycloak-config-cli, par le fournisseur Terraform ou par l'API d'administration. Une plateforme gérée uniquement dans la console finit par diverger entre recette et production.

Keycloak se rencontre dans deux contextes. Dans une équipe plateforme ou DevOps, il fait partie des services communs posés sur Kubernetes, à côté de la passerelle d'API et du coffre de secrets, et l'ingénieur le traite comme une application à exploiter. Dans une équipe IAM, il remplace ou complète un produit commercial pour les applications internes ou pour des comptes externes. Le projet n'a pas de version à support long : chaque version mineure est remplacée par la suivante en quelques mois, et une instance laissée de côté prend vite du retard. Les organisations qui veulent un support éditeur passent par la version Red Hat.

Ce qu'un ingénieur Keycloak doit maîtriser

  • Découpage en realms, clients et jetons
  • Flows d'authentification et MFA
  • Fédération LDAP et brokering
  • Extensions SPI en Java
  • Cluster Keycloak sur Kubernetes
  • Montées de version et configuration en code

Les questions d'entretien sur Keycloak, avec les réponses attendues

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · senior

    Huit applications internes doivent passer sur Keycloak, et trois filiales ont chacune leur propre annuaire. Un realm par filiale ou un seul realm : comment tranchez-vous ?

    Une bonne réponseLe realm est une frontière d'isolement : utilisateurs, clients, clés de signature et administrateurs y sont séparés. Plusieurs realms se justifient quand les populations ne doivent jamais se croiser ou ont des règles de sécurité différentes, au prix d'une configuration à dupliquer et d'un SSO qui ne traverse pas les realms. Un realm unique avec un fournisseur d'identité par filiale (brokering) et les organisations, qui routent l'utilisateur vers son fournisseur d'après le domaine de son adresse, garde un SSO commun. Dans tous les cas, aucune application dans le realm master.

    Signal d'alerteUn realm par application, ou toutes les applications installées dans le realm master.

  2. Question 2 · confirmé

    Une API reçoit un jeton émis par Keycloak et refuse l'appel pour « audience invalide ». Que corrigez-vous, et où ?

    Une bonne réponseL'API attend son propre identifiant dans le champ aud, que Keycloak n'ajoute pas toujours. La correction se fait côté Keycloak : un mapper d'audience, de préférence dans un client scope dédié à l'API, attribué aux clients qui ont le droit de l'appeler. La personne vérifie aussi le champ iss, souvent faux derrière un reverse proxy quand le nom d'hôte de Keycloak est mal configuré.

    Signal d'alerteDésactiver la vérification d'audience dans l'API pour que l'appel passe.

  3. Question 3 · confirmé

    Le RSSI veut un second facteur pour les administrateurs seulement, les autres utilisateurs gardant le mot de passe. Comment modifiez-vous les flows d'authentification ?

    Une bonne réponseUne copie du flow browser, jamais le flow d'origine modifié en place. Dans la copie, un sous-flow conditionnel avec une condition sur le rôle de l'utilisateur, qui déclenche l'OTP ou WebAuthn. Le nouveau flow est lié au realm ou à certains clients, testé avec un compte de chaque profil, et l'enrôlement passe par une required action (configurer l'OTP ou enregistrer une clé de sécurité).

    Signal d'alerteUn realm séparé pour les administrateurs, ou le flow browser d'origine modifié directement en production.

  4. Question 4 · senior

    Les utilisateurs sont dans une base SQL métier que vous ne pouvez pas migrer tout de suite. Comment Keycloak les authentifie-t-il ?

    Une bonne réponseUn fournisseur User Storage SPI écrit en Java, qui lit la base et vérifie le mot de passe avec l'algorithme de hachage existant. Il choisit entre une lecture à chaque connexion et une importation dans Keycloak, souvent avec une migration au fil des connexions : à la première connexion réussie, le compte et un nouveau hachage sont écrits dans Keycloak. Il pense au cache, aux performances de la base et au jour où le fournisseur sera retiré.

    Signal d'alerteCopier les mots de passe en clair, ou une synchronisation nocturne par script qui expose les empreintes.

  5. Question 5 · senior

    Keycloak tourne en trois pods sur Kubernetes. Après un redéploiement, des utilisateurs perdent leur connexion en cours et d'autres voient des erreurs. Que vérifiez-vous ?

    Une bonne réponseD'abord que les pods forment bien un seul cluster : la vue du cluster dans les journaux, la découverte par la base (jdbc-ping par défaut dans les versions récentes) et le port de transport ouvert. Les sessions utilisateur sont persistées en base par défaut depuis la version 26, mais les sessions d'authentification en cours vivent dans les caches Infinispan distribués et disparaissent si tous les pods redémarrent ensemble. Il demande un déploiement progressif avec des sondes de disponibilité, un nombre suffisant de pods vivants pendant la mise à jour et une affinité de session sur l'ingress.

    Signal d'alerteAugmenter le nombre de pods sans regarder si le cluster se forme, ou ignorer le rôle des caches.

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Ingénieur Keycloak : questions fréquentes

Un développeur qui a intégré Keycloak dans son application peut-il tenir le poste ?

Il connaît le côté client : la bibliothèque OIDC, les redirections, la lecture du jeton. Le poste demande l'autre côté : concevoir les realms, écrire les flows, fédérer un annuaire, faire tourner un cluster et le monter de version. Certains développeurs ont fait les deux, souvent parce que personne d'autre ne s'en occupait. Une montée de version ou une panne de cluster qu'ils ont gérée le montre.

Keycloak communautaire ou Red Hat build of Keycloak : qu'est-ce que cela change pour le profil ?

Le produit est le même à quelques semaines de décalage. La version Red Hat apporte un support éditeur et un rythme de versions plus lent, souvent déployé sur OpenShift. Un ingénieur qui connaît l'une connaît l'autre. Sur la version communautaire, compte plutôt l'habitude des montées de version régulières, puisque les correctifs arrivent sur les versions récentes et pas sur les anciennes.

Quel test technique proposer à un ingénieur Keycloak ?

À partir d'un export de realm anonymisé et d'un jeton décodé qui ne passe pas dans une API, le candidat trouve ce qui manque : audience, rôle, durée, flow. Vingt minutes suffisent pour voir si la personne lit une configuration Keycloak. Pour un poste orienté exploitation s'ajoutent des journaux de démarrage de trois pods qui ne forment pas de cluster. Le commentaire à voix haute vaut mieux qu'un rendu écrit.

Keycloak couvre-t-il la gouvernance des identités ?

En partie seulement. Keycloak gère l'authentification, la fédération et les rôles, et les versions récentes ajoutent des workflows et une API de provisioning SCIM en préversion. Il ne propose pas de campagnes de recertification ni de contrôle de séparation des tâches comme un outil d'IGA. Si le poste inclut ces sujets, mieux vaut un profil qui connaît aussi un outil comme SailPoint ou midPoint, ou deux personnes.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint