Extensions KeyCloak
En dehors des extensions obligatoires ajoutés dans Keycloak pour gérer les utilisateurs dans l'annuaire de Open ENT, Keycloak propose un nombre important de fonctionnalités interessantes.
En voici une liste non exhaustive :
🔐 Sécurité et Authentification
Feature | État | Description |
---|---|---|
ADMIN_FINE_GRAINED_AUTHZ | Preview | Active l'autorisation fine pour l'administration, permettant de définir des permissions détaillées pour l'accès à l'interface d'administration. |
ADMIN_FINE_GRAINED_AUTHZ_V2 | Experimental | Nouvelle version expérimentale de l'autorisation fine-grainée pour l'administration avec des améliorations de performance et de configuration. |
CLIENT_SECRET_ROTATION | Preview | Permet de faire pivoter automatiquement les secrets des clients pour améliorer la sécurité et réduire les risques liés aux secrets statiques. |
PASSKEYS | Preview | Active la prise en charge des Passkeys (authentification sans mot de passe) en utilisant WebAuthn. |
RECOVERY_CODES | Preview | Ajoute une fonctionnalité de codes de récupération pour l’authentification à deux facteurs (2FA). |
UPDATE_EMAIL | Preview | Permet aux utilisateurs de changer leur adresse e-mail avec vérification. |
TOKEN_EXCHANGE | Preview | Active l’échange de jetons OAuth2 pour obtenir un jeton d’un autre client ou d’un autre utilisateur. |
🛠️ Expérimental et Gestion de l’Infrastructure
Feature | État | Description |
---|---|---|
CACHE_EMBEDDED_REMOTE_STORE | Experimental | Permet d'utiliser un cache distant pour stocker les données de Keycloak, réduisant ainsi la charge sur la base de données. |
CLIENT_TYPES | Experimental | Introduit de nouveaux types de clients pour améliorer la gestion et la configuration. |
CLUSTERLESS | Experimental | Permet d’exécuter Keycloak sans nécessiter un cluster Infinispan, ce qui simplifie les déploiements en mode stateless. |
MULTI_SITE | Experimental | Permet de synchroniser des instances Keycloak entre plusieurs sites pour assurer une haute disponibilité. |
🖥️ Expérience Utilisateur et Interface
Feature | État | Description |
---|---|---|
DECLARATIVE_UI | Experimental | Permet de configurer l’interface d’administration de manière déclarative (JSON ou YAML). |
LOGIN_V1 | - | Active l'ancienne version du formulaire de connexion (au cas où vous voudriez revenir à une version plus simple). |
QUICK_THEME | Experimental | Facilite la création et l’application de thèmes personnalisés pour l’interface de connexion et l’administration. |
🔗 Protocoles et Intégrations
Feature | État | Description |
---|---|---|
DOCKER | - | Active l'authentification pour Docker Registry en utilisant Keycloak comme fournisseur d'identité. |
DPOP | Preview | Prend en charge la protection OAuth2 DPoP (Demonstrating Proof-of-Possession) pour empêcher le vol de jetons d’accès. |
DYNAMIC_SCOPES | Experimental | Ajoute la gestion des scopes dynamiques dans OAuth2/OpenID Connect, permettant des autorisations flexibles en fonction des requêtes. |
OID4VC_VCI | Experimental | Implémente OpenID for Verifiable Credentials (OID4VC), permettant d'émettre et de vérifier des identités numériques vérifiables. |
📊 Monitoring et Analyse
Feature | État | Description |
---|---|---|
USER_EVENT_METRICS | Preview | Active la collecte de métriques sur les événements utilisateur, utile pour analyser l’activité et la sécurité. |
🛠️ Autres Intégrations
Feature | État | Description |
---|---|---|
FIPS | - | Ajoute la compatibilité avec les normes de cryptographie FIPS 140-2, utilisées dans les environnements réglementés. |
IPA_TUURA_FEDERATION | Experimental | Ajoute une fédération d'identité avec FreeIPA, un outil d’authentification centralisée. |
TRANSIENT_USERS | Experimental | Permet de gérer des utilisateurs temporaires, créés uniquement pour la durée d'une session. |
Extension activée
- Les features suivantes sont activés dans Open ENT (ADMIN_FINE_GRAINED_AUTHZ, CLIENT_SECRET_ROTATION, PASSKEYS).
- Le container Docker est paramètré pour supporter les paramètres nécessaires à l'activation
bin/kc.sh start --features=PASSKEYS,ADMIN_FINE_GRAINED_AUTHZ