Objectif
Implémenter une authentification avec LDAP
Configuration (dans l'interface)
Dans les paramètres, sous le bloc Serveur SMTP, ajouter un nouveau bloc Authentification LDAP
Dans ce bloc, ajouter les champs suivants :
Champ |
Type |
Notes |
Activer l'authentification avec LDAP |
Toggle |
Off par défaut |
Si toggle activé, afficher les éléments ci-dessous |
|
|
Serveurs LDAP* |
Texte |
Plusieurs valeurs possible |
Type de chiffrage |
Toggle |
LDAPS (par défaut) ou STARTTLS |
BASE_DN* |
Texte |
Plusieurs valeurs possibles |
LDAP_QUERY pour lister les administrateurs* |
Texte |
|
LDAP_QUERY pour lister les opérateurs* |
Texte |
|
Activer la synchronisation avec LDAP |
Toggle |
Off par défaut |
Si toggle activé, afficher les quatres champs ci-dessous |
|
|
User LDAP* |
Texte |
|
Password LDAP* |
Mot de passe |
|
Fréquence de synchronisation avec LDAP, en heures |
Entier |
24 par défaut |
Synchroniser maintenant |
Bouton |
|
Tester la connexion |
Bouton |
|
*= champs obligatoires
Configuration (dans le fichier de config du projet)
Le mapping entre les propriétés Extract et LDAP est défini dans le fichier de configuration global d'Extract.
Exemple :
Champ Extract |
Champ LDAP par défaut (pour AD) |
Nom d'utilisateur |
cn |
Login |
sAMAccountName |
E-mail |
mail |
Terminologie
Utilisateur local
: Utilisateur dont la base Extract est la source d'authentification (comme aujourd'hui)
Utilisateur LDAP
: Utilisateur dont un serveur LDAP est la source d'authentification
Utilisateur Extract
: Tous les comptes utilisateurs dans la base Extract (local et LDAP)
Flux de connexion
Une fois l'authentification avec LDAP activée, des Utilisateurs LDAP
peuvent se connecter à Extract avec leur identifiant et mot de passe LDAP.
Conditions pour Auth LDAP OK
- Utilisateur actif
- Password correct
- Utilisateur dans un groupe Extract Admin ou Extract Opérateur dans l'annuaire LDAP
Création à la volée
Si un utilisateur se connecte à Extract avec LDAP et qu'il n'est pas présent dans la base locale, il est créé à la volée.
Note : Étape 2FA indiquée de manière simplifiée, décrite plus précisément ici : #255
Synchronisation LDAP
Il est possible d'activer la synchronisation LDAP.
Ces tâches sont les suivantes :
- Créer des
Utilisateurs LDAP
(comptes existants dans l'annuaire LDAP, pas encore dans la base Extract)
- Mettre à jour les propriétés des
Utilisateurs LDAP
(nom complet, email, rôle)
- Désactiver les
Utilisateurs LDAP
dans la base Extract si ils sont désactivés ou supprimés de l'annuaire LDAP
Règles qui s'appliquent aux Utilisateurs LDAP
Les Utilisateurs LDAP
:
- sont créés en base de données locale avec un type "LDAP"
- ne peuvent pas changer leurs propriétés dans Extract (Nom complet, login, email, password)
- ont un rôle en fonction du groupe dans lequel ils sont attribués sur l'annuaire LDAP
- doivent être désactivés dans Extract s’ils sont désactivés ou supprimés dans l'annuaire LDAP
Les administrateurs
- ne peuvent pas changer le rôle d'un
Utilisateurs LDAP
- ne peuvent pas désactiver / activer un
Utilisateurs LDAP
- ne peuvent pas changer les propriétés d'un
Utilisateurs LDAP
Des Utilisateurs locaux
peuvent coexister avec des Utilisateurs LDAP
.
Routine de création d'un Utilisateur LDAP
Un Utilisateur LDAP
est créé à partir des informations stockées dans LDAP.
Les propriétés de compte (login, Nom complet, email) sont automatiquement attribuées (correspondance entre les propriétés LDAP et Extract grâce au mapping configuré). Le rôle d’administrateur est attribué en fonction du groupe LDAP configuré.
Routine de mise à jour d'un Utilisateur LDAP
Met à jour l'Utilisateurs LDAP
avec les dernières informations stockées sur l'annuaire LDAP (nom complet, email). Le rôle d’administrateur est attribué en fonction du groupe LDAP configuré.
Migration d'un Utilisateur local
vers un Utilisateur LDAP
Dans la liste des Utilisateurs Extract
, une nouvelle colonne "Type" permet d'identifier facilement le type d'utilisateur. Elle est visible seulement si l'authentification avec LDAP est activée.
Dans les détails d'un utilisateur, il est possible de migrer un Utilisateur local
vers un Utilisateur LDAP
si l'authentification avec LDAP est activée.
Les modifications suivantes sont apportées durant la migration :
- L'utilisateur obtient le type "LDAP"
- Les hashs liés à son authentification avec la base locale sont effacés
L'utilisateur pourra donc uniquement s'authentifier avec son username / password LDAP.
Cette opération n'est pas réversible et il n'est pas possible de migrer un Utilisateur LDAP
vers un Utilisateur local
.
Questions ouvertes
- Les administrateurs doivent-ils être dans deux groupes dans l'annuaire LDAP ?
- Le mécanisme de synchronisation devra supporter le déplacement ou le renommage des groupes AD. De ce fait devront-ils être identifiés par leur SID / GUID ?
Critères d'acceptation
Identifiant |
Description |
131-1 |
Les administrateurs Extract peuvent en tout temps activer l'authentification avec LDAP |
131-2 |
Une fois les paramètres renseignés, il doit être possible de tester la connexion |
131-3 |
Une fonction doit pouvoir synchroniser immédiatement les Utilisateurs LDAP (création, mise à jour, suppression) |
131-4 |
Les Utilisateurs LDAP doivent pouvoir se connecter à l'application en utilisant leur nom d'utilisateur et leur mot de passe LDAP. |
131-5 |
Les propriétés d'un Utilisateur LDAP tels que le rôle ou le nom doivent provenir de l'annuaire LDAP |
131-6 |
Les modifications apportées dans l'annuaire LDAP doivent être reflétées dans l'application grâce à la synchronisation. |
131-7 |
Un administrateur peut migrer des Utilisateurs locaux (administrateurs et opérateurs) vers des Utilisateurs LDAP |
Original author : Yves Blatti
- Demande initiale de la Ville de Lausanne : Intégration de l’application avec un IDP en SAML 2.0 par Spring security
- D'autres membres du groupe utilisateur sont intéressés par une intégration avec Microsoft Active Diretoy (AD) via LDAP