Le lab

Les exercices des cours s’appuient sur un Keycloak 26 en mode développement et un annuaire OpenLDAP de test. Tout tourne en local avec Docker, rien n’est exposé.

Prérequis

Docker avec Compose. Certains exercices utilisent aussi jq et python3 pour lire les jetons. L’environnement est publié sur GitHub : liksi/keycloak-academy-lab.

Démarrer

git clone https://github.com/liksi/keycloak-academy-lab.git
cd keycloak-academy-lab
docker compose up -d

Keycloak met une trentaine de secondes à démarrer. Suivre les logs avec docker compose logs -f keycloak.

Accès

ServiceDepuis votre posteDepuis le conteneur KeycloakIdentifiants
Console d’administrationhttp://localhost:8080/admin—admin / admin
OpenLDAPldap://localhost:389ldap://openldap:389cn=admin,dc=academy,dc=local / admin

Base LDAP : dc=academy,dc=local.

Comptes LDAP

Tous les utilisateurs (inetOrgPerson) sont sous ou=people,dc=academy,dc=local, avec le mot de passe password.

uidNomGroupe
aliceAlice Martinagents
brunoBruno Leroyagents
chloeChloe Bernardagents
davidDavid Petitadministrateurs
emmaEmma Durandadministrateurs

Les groupes (groupOfNames, attribut member) sont sous ou=groups,dc=academy,dc=local. Le seed est dans ldap/seed.ldif.

Vérifier l’annuaire :

docker compose exec openldap ldapsearch -x -H ldap://localhost \
  -D cn=admin,dc=academy,dc=local -w admin -b dc=academy,dc=local

kcadm.sh

docker compose exec keycloak /opt/keycloak/bin/kcadm.sh config credentials \
  --server http://localhost:8080 --realm master --user admin --password admin
docker compose exec keycloak /opt/keycloak/bin/kcadm.sh get realms --fields realm

Arrêter et réinitialiser

docker compose stop       # arrêter en gardant l'état
docker compose start      # reprendre
docker compose down -v    # tout supprimer : Keycloak et l'annuaire repartent de zéro

Le mode start-dev stocke les données dans le conteneur : docker compose down -v efface realms, clients et utilisateurs. L’annuaire est rechargé depuis ldap/seed.ldif au démarrage suivant (le seed n’est lu que sur un annuaire vide).

Les cours qui utilisent le lab

  1. OAuth 2.0 et OpenID Connect 5 étapes
  2. Le modèle de Keycloak 8 étapes
  3. Le découpage en realms 8 étapes
  4. Les sources d'utilisateurs et la reprise des comptes 9 étapes
  5. Les parcours d'authentification et le MFA 10 étapes
  6. Les rôles, les groupes et le contenu des jetons 9 étapes
  7. Le raccordement des applications 10 étapes
  8. Ce que permet la plateforme hébergée 8 étapes
  9. Organisations et délégation d'administration 9 étapes
  10. Événements, journaux et SOC 7 étapes
  11. Thèmes, parcours et accessibilité 7 étapes
  12. Configuration en code et environnements 8 étapes
  13. Points d'extension et coût de maintenance 7 étapes
  14. API d'administration et comptes de service 10 étapes