Keycloak
Keycloak est une plateforme open source de gestion des identités et des accès. Elle fournit le SSO, la fédération d’utilisateurs, la connexion sociale ou par courtier d’identité, et des autorisations fines avec des protocoles standard comme OpenID Connect, OAuth 2.0 et SAML.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| Keycloak | 26.6.4 |
| PostgreSQL | 18 |
| Docker | Dernière stable |
| Ubuntu | 24.04 LTS |
Keycloak s’exécute en mode production (start) avec une base PostgreSQL, sous forme de pile Docker
Compose.
Prérequis
Section intitulée « Prérequis »| Ressource | Minimum | Recommandé |
|---|---|---|
| vCPU | 2 | 4 |
| RAM | 2 Go | 4 Go |
| Stockage | 20 Go | 40 Go |
Variables d’environnement
Section intitulée « Variables d’environnement »Vous pouvez les définir au déploiement de Keycloak depuis la Marketplace. Laissez un champ de mot de passe vide pour générer automatiquement une valeur aléatoire sécurisée.
| Variable | Description |
|---|---|
KEYCLOAK_ADMIN | Nom d’utilisateur du compte administrateur initial. Par défaut: admin |
KEYCLOAK_ADMIN_PASSWORD | Mot de passe du compte administrateur initial |
KC_HOSTNAME | Nom d’hôte public ou IP depuis lequel Keycloak est servi. Par défaut: l’IP privée de la machine virtuelle |
Démarrage
Section intitulée « Démarrage »1. Se connecter à la machine virtuelle
Section intitulée « 1. Se connecter à la machine virtuelle »ssh ubuntu@<your-vm-ip>2. Attendre la configuration au premier démarrage
Section intitulée « 2. Attendre la configuration au premier démarrage »Au premier démarrage, un script génère les mots de passe administrateur et base de données, écrit le fichier d’environnement, puis démarre la pile avec Docker Compose. Cela prend 1 à 2 minutes. Suivez la progression:
journalctl -u keycloak-first-boot.service -fLe message de connexion (MOTD) confirme quand Keycloak est prêt et affiche les identifiants administrateur.
3. Récupérer les identifiants administrateur
Section intitulée « 3. Récupérer les identifiants administrateur »Les identifiants sont aussi écrits dans un fichier réservé à root:
sudo cat /etc/keycloak/credentials.txt4. Accéder à la console d’administration
Section intitulée « 4. Accéder à la console d’administration »Ouvrez un navigateur et allez à:
http://<your-vm-ip>:8080Connectez-vous avec l’utilisateur admin et le mot de passe généré.
| Champ | Valeur |
|---|---|
| Nom d’utilisateur | admin |
| Mot de passe | Depuis /etc/keycloak/credentials.txt |
Gérer Keycloak
Section intitulée « Gérer Keycloak »Keycloak s’exécute comme pile Docker Compose dans /opt/keycloak.
# Vérifier l'étatcd /opt/keycloak && docker compose ps
# Redémarrercd /opt/keycloak && docker compose restart
# Voir les journauxcd /opt/keycloak && docker compose logs -fConfiguration d’environnement: /opt/keycloak/.env. Les données PostgreSQL sont stockées sous
/opt/keycloak/data/postgres et ne sont pas exposées hors du réseau Docker.
Sécurité
Section intitulée « Sécurité »Le port 8080 est ouvert sur l’interface réseau de la machine virtuelle. UFW est activé et autorise SSH (port 22) et Keycloak (port 8080). Keycloak sert HTTP en clair sur 8080.
En production, placez Keycloak derrière un proxy inverse (Caddy, nginx ou Traefik) qui termine
TLS sur le port 443 et relaie vers le port 8080, puis définissez KC_PROXY_HEADERS=xforwarded dans
/opt/keycloak/.env. Limitez l’accès direct au port 8080:
sudo ufw delete allow 8080/tcpsudo ufw allow from <trusted-ip> to any port 8080