Je vous invite à découvrir mes services sur les solutions IAM, la cybersécurité et l’architecture IT.

INSTALLATION, CONFIGURATION & ADMINISTRATION​

INSTALLATION

Définir l’architecture d’installation

Déployer Keycloak sur l’Infrastructure

Brancher Keycloak une base de données externe

Déployer plusieurs instances de Keycloak

Configurer le cache Infinispan

Configurer le mode proxy

Protéger l’accès à la console d’administration

Bloquer les URLs non utilisées 

Dimensionner les ressources: RAM, CPU

Activer le endpoint de health check et les metrics

CONFIGURATION & ADMINISTRATION

Configuration du processus d’authentification 

Configuration du Realm, clients, utilisateurs, jetons, sessions

Gestion du consentement & condition d’utilisation 

Actions requises, politique de mot de passe 

Enrôlement des utilisateurs & clients 

Rotation des clés cryptographiques 

Activation de la fonctionnalité de récupération du compte (recovery) 

Fédération des utilisateurs et des identités

MFA et protections contre les menaces 

Configuration des évènements d’audit 

Formation

COncepts de base

Comprendre les protocoles implémentés par Keycloak
Installation et première prise en main
Les termes et concepts de base

Comprendre et configurer les principaux types de jetons

Comprendre les clients

Comprendre les différents types d’authentification 

Les droits d’accès

L’organisation des utilisateurs par groupes

Comprendre les Mappers et les Client Scopes

Stocker et analyser l’activité des utilisateurs et des administrateurs

COncepts avancés

Comprendre chaque jeton: Access Token, ID Token, Refresh Token, Offline Token

Intégrité, validité, chiffrement, révocation de jeton

Apprivoiser les notions JWT, JWS, JWE, JWKS

Comprendre les sessions utilisateurs

Fédération des utilisateurs et des identités

Authentification sans mot de passe

MFA et protection contre les menaces

Les clés cryptographiques

PKCE


Administrateur

Définir les politiques de mot de passe, OTP, etc

Forcer la réalisation de certaines actions par l’utilisateur: changement de mot de passe, vérification de l’adresse email, etc.

Configurer des administrateurs sur un périmètre réduit

Adapter les étapes de l’authentification selon les besoins

Réaliser une rotation des clés cryptographiques

Développeur

Comprendre chaque type de jeton: Access, Refresh, ID, Offline Token

Comprendre les claims d’un jeton

Apprendre comment valider un jeton

Apprendre comment raccorder une application à Keycloak

Apprendre comment se servir des jetons Keycloak pour protéger les applications

Utiliser les API de Keycloak

Développement spécifique

Keycloak est un outil conçu pour être facilement extensible grâce aux SPI: Service Provider Interface. Avec les SPI, il est possible d’augmenter Keycloak avec de nouvelle fonctionnalités ou remplacer certaines fonctionnalités existantes. C’est ainsi qu’on peut implémenter une logique d’authentification adaptée à ses besoins, brancher Keycloak avec une source externe d’utilisateurs (base de données, API), etc.

Lien d'authentification

Il peut arriver qu’un utilisateur n’ait pas son mot de passe sous la main sans pour autant vouloir le changer. Le lien d’authentification, aussi appelé lien magique, est un moyen d’authentifier un utilisateur sans avoir à lui demander son mot de passe. Cela consiste à lui demander son nom d’utilisateur puis à lui envoyer par email un lien d’authentification à usage unique. Lorsqu’il clique sur ce lien il est automatiquement authentifié. Avec cette solution, la connaissance du mot de passe est remplacée par l’accès de l’utilisateur à sa boite mail. En plus, quelques garde fous sont sont à prendre en considération:
  • Le lien est à usage unique
  • Le lien est lié à la session initiée par l’utilisateur au début de processus. Il ne peut être exécuté avec succès dans un navigateur différent de celui ayant été utilisé pour commencer l’authentification.
  • Le lien a une durée de validité limitée
Cette fonctionnalité nécessite un développement spécifique via l’implémentation de deux interfaces: AuthenticatorFactory et Authenticator. Il faut ensuite adapter le processus d’authentification pour proposer cette option à l’utilisateur.

AUTHENTIFICATION PAR CODE EMAIL OU SMS

Keycloak supporte le MFA par OTP. L’utilisateur installe une application OTP sur son téléphone mobile et l’associe à son compte. Certains utilisateurs ne possèdent pas de smartphone. D’autres sont réticents à installer de telles applications. Parfois, ce sont les administrateurs qui rechignent à rendre ce processus obligatoire, de peur me mécontenter les utilisateurs. Pour tous ces cas, le code envoyé par SMS ou email est une alternative.

Il est possible d’implémenter cette solution avec Keycloak grâce à un développement spécifique. Lors de l’authentification, une fois que l’utilisateur à renseigné son login et mot de passe, Keycloak génère un code aléatoire, et l’envoie l’utilisateur par email ou SMS. Keycloak affiche une page où l’utilisateur doit renseigne le code reçu afin de compléter l’authentification.

Quelques précautions sont à observer sur la durée de validité ou la longueur du code. Aussi, afin d’améliorer l’expérience utilisateur, il est possible de déclencher cette deuxième authentification sur la base de critères prédéfinis. Quelques exemple de critères: appliquer le MFA tous les 7 jours, après 10 authentifications, après 1 mois sans authentification, en fonction de la localisation de l’utilisateur, selon l’appareil utilisé par l’utilisateur pour se connecter, etc.

INTÉGRER UNE SOURCE EXTERNE D'UTILISATEUR

Keycloak supporte nativement deux types de sources externes d’utilisateurs:  LDAP/AD ou Kerberos. Que faire si vos utilisateurs sont stockés dans une base de données externe ou dans un référentiel accessible par API? Pas de panique! Grâce aux SPI, il est possible, avec un développement spécifique, d’intégrer tout type de source externe de stockage d’utilisateurs. Du fait de la complexité inhérente à la gestion des utilisateurs, ce type de développement spécifique est plus complexe à developper que les autres. En effet, il faut gérer tout le cycle de vie des utilisateurs. Possible, mais pas une mince affaire.

 

Action requise specifique

Une action requise est une action qui est imposée à l’utilisateur et qu’il doit faire immédiatement après s’être authentifié. Comme exemples de telles actions, on a le changement de mot de passe, la validation de l’adresse email, la configuration du MFA. Keycloak supporte un bon nombre d’actions requises. Si vous avez une action que vous souhaitez que vos utilisateurs accomplissent après l’authentification et qui ne fait pas partie de la liste des actions supportées par défaut, pas de problème. Grâce au SPI, il est possible de developper facilement une nouvelle action requise.

ARCHITECTURE & COnseil

J’ai a mon actif 13 années passées à construire des systèmes d’informations. J’ai été tour à tour développeur, Tech Lead, Architecte SI, Architecte sécurité, Expert Keycloak.J’ai travaillé aussi bien avec des startups que des grands groupes, dans des domaines aussi variés que les télécommunications, l’automobile, l’intérim, l’assurance, la banque. Je mets à votre service mes compétences et mon expérience pour vous aider dans la construction de votre système d’information afin qu’il soit simple, robuste, sécurisé, évolutif, et qu’il soutienne pleinement votre cœur de métier. Je crois pouvoir vous aider à trouver des solutions adaptées à vos besoins.

Keycloak as a Service

Si vous souhaitez:
  • Découvrir l’outil sans avoir à l’installer et le configurer vous même,
  • Faire des POC rapides d’intégration applicative et et expérimenter
  • Tester l’authentification sans mot de passe, le MFA par OTP
  • Tester des fonctionnalités issues d’extension SPI telles que le lien magique d’authentification le MFA par code envoyé par email
  • Aller vite dans le démarrage de vos projets en attendant d’installer et de configurer vos propres instance de Keycloak
  • Accélérer vos projets personnels
  • ….
Sachez que je mets gratuitement à votre disposition et pour une durée d’un an un realm dans un SaaS Keycloak pour vous permettre de faire cela. Que ce soit pour un projet personnel ou professionnel, vous pourrez utilisez ce Keycloak SaaS pour accélérer vos développements.