95 lines
2.2 KiB
Markdown
95 lines
2.2 KiB
Markdown
# KEYCLOAK
|
|
|
|
Ce projet est pour upgrader Keycloak (déployé via Docker) de la version 16 vers la version 23 ou ultérieur
|
|
|
|
## PRE-REQUIS
|
|
|
|
- [Docker + compose](https://git.legaragenumerique.fr/GARAGENUM/docker-install)
|
|
- Base de donnée LDAP (fichier .mdb)
|
|
- Export d'un realm (format json)
|
|
|
|
## UTILISATION
|
|
|
|
- Editer les variables dans le .env
|
|
```bash
|
|
nano .env
|
|
```
|
|
|
|
> Modifier les mots de passe pour la base de données et keycloak ainsi que le domaine, l'adresse email, l'administrateur, etc
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
## UPGRADE PROCESS (from v16 to v26)
|
|
|
|
Pour upgrader keycloak, il faut:
|
|
- exporter la base de données utilisateurs (LDAP)
|
|
- exporter le realm
|
|
- démarrer la nouvelle version de keycloak (créer l'admin définitif et supprimer le temporaire)
|
|
- importer le realm de l'export json
|
|
- importer la base de données ldap
|
|
- Configurer le realm garagenum pour utiliser le ldap
|
|
- recréer les secrets des clients
|
|
|
|
### EXPORT LDAP DATABASE (USERS)
|
|
|
|
Pour upgrader keycloak, il faut:
|
|
- exporter la base de données utilisateurs (LDAP)
|
|
```bash
|
|
docker exec -it ancien-ldap bash
|
|
slapcat -n 1 -l /tmp/backup.ldif
|
|
docker cp ancien-ldap:/tmp/backup.ldif .
|
|
```
|
|
- exporter les `clients` du `realm`
|
|
|
|
:skull: Les secrets ne seront pas récupérés (*******) donc à persister avant ou idéalement recréer
|
|
|
|
### EXPORTER LE REALM
|
|
|
|
![]()
|
|
|
|
### DEMARRER LA NOUVELLE VERSION
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
### IMPORTER LE REALM
|
|
|
|
Utiliser le fichier json de l'export pour importer les configs du realm
|
|
|
|
![]()
|
|
|
|
### IMPORTER DATABASE LDAP (USERS)
|
|
|
|
- importer la base de données de `keycloak-openldap`:
|
|
```bash
|
|
# Copier la backup ldif
|
|
docker cp backup.ldif keycloak-openldap:/tmp/backup.ldif
|
|
# Se connecter au terminal du conteneur ldap
|
|
docker exec -it keycloak-openldap bash
|
|
# Arrêter le service slapd
|
|
service slapd stop
|
|
# Supprimer la DB actuelle
|
|
rm -rf /var/lib/ldap/*
|
|
# Ajouter le LDIF
|
|
slapadd -n 1 -F /etc/ldap/slapd.d -l /tmp/backup.ldif
|
|
# Ajuster les permissions
|
|
chown -R openldap:openldap /var/lib/ldap
|
|
# Redémarrer slapd
|
|
service slapd start
|
|
```
|
|
|
|
> c'est là que sont les users !
|
|
|
|
### CONFIGURER LE REALM POUR UTILISER LDAP
|
|
|
|
![]()
|
|
|
|
:danger: Activer featue script pour keycloak
|
|
|
|
## BUGS
|
|
|
|
- [ ] Users need get verified -> A faire manuellement sur chq user (possibly automated ?)
|