Keycloak

Licence : Apache 2.0Apache 2.0Permissive, avec concession explicite de brevets.

Autorisé

  • Usage commercial
  • Modification
  • Redistribution
  • Usage privé
  • Concession de brevets

À respecter

  • Conserver la licence et le copyright
  • Signaler les fichiers modifiés

Exclu

  • Aucune garantie
  • Aucune responsabilité de l’auteur
  • Pas de droit sur les marques
Résumé indicatif — le texte de la licence fait foi.
Logiciel libre

Serveur d'identité et SSO complet (OpenID Connect, OAuth2, SAML), avec MFA, fédération d'annuaires et gestion fine des rôles. Projet CNCF, sans édition payante.

Keycloak centralise l'authentification de toutes vos applications via les standards OpenID Connect, OAuth2 et SAML. Il apporte l'authentification multifacteur, la fédération avec un annuaire existant (LDAP/Active Directory), la gestion des rôles et des sessions, ainsi que des comptes de service pour les échanges machine à machine. Projet mature soutenu par la CNCF, il offre un SSO d'entreprise sans coût de licence par utilisateur.

Déploiement

Auto-hébergeable Oui
Image Docker Oui guide
Kubernetes Oui guide

Valeur ajoutée

Centralise l'authentification et généralise le MFA sans licence par utilisateur.

Risques contre lesquels cette solution protège

  • Usurpation d'identité / vol de compte Suffit seule
  • Comptes dispersés sans révocation centralisée Contribue à la réduction
KPI impacté Taux de comptes protégés par MFA et d'applications derrière le SSO.

Intégration

De la mise en place au premier résultat concret. Les commandes sont indicatives : le guide d’installation officiel fait foi.

Ingrédients

Type Serveur (conteneur)
CPU 2 vCPU
RAM 2 Go / instance
Base de données PostgreSQL externe

Préparation

  1. Démarrer Keycloak (découverte) 5 min
    docker run -p 8080:8080 -e KEYCLOAK_ADMIN=admin -e KEYCLOAK_ADMIN_PASSWORD=admin quay.io/keycloak/keycloak start-dev

    Résultat Console d'administration sur http://localhost:8080

  2. Passer en production derrière TLS avec PostgreSQL 45 min
    kc.sh build --db=postgres && kc.sh start --hostname=sso.example.org

    Résultat Instance persistante, joignable en HTTPS

  3. Créer un realm et un premier client OIDC 20 min
    # Console : Realm settings → Clients → Create client

    Résultat Espace d'authentification dédié à l'organisation

  4. Fédérer l'annuaire existant (LDAP / Active Directory) 45 min
    # User federation → Add LDAP provider

    Résultat Les comptes en place sont repris sans double saisie

  5. Rendre le second facteur obligatoire 20 min
    # Authentication → Required actions → Configure OTP

    Résultat MFA imposé à tous, pas seulement proposé

  6. Brancher une première application et couper son formulaire local 1 h
    # Application : configurer OIDC, puis désactiver l'authentification interne

    Résultat SSO opérationnel ; plus de mot de passe stocké côté application

  7. Exporter la configuration et sauvegarder la base 20 min
    kc.sh export --dir /backup/realm --users realm_file

    Résultat Realm reproductible et sauvegardé

Interactions avec l’infrastructure

Schéma des flux entrants et sortants de Keycloak.
Entre
Reverse proxy Expose le service d'authentification de façon sécurisée (TLS)
Annuaire existant (LDAP/AD) Fédère les comptes déjà en place sans les dupliquer
Keycloak
Sort vers
Applications protégées Authentifie les utilisateurs via OIDC/SAML (SSO)