Connecteur LDAP de synchronisation des comptes utilisateurs

Table des matières
  1. Synthèse
  2. Mécanisme utilisé
  3. Serveurs et composants techniques
  4. Compte de service et droits dans l’AD
    1. Droits à déléguer au compte de service
    2. À ne pas confondre : les « Délégations » de l’application
  5. OU de destination
    1. Construction du DN d’un compte
    2. Exemple : répartir les comptes entre deux OU
  6. Champs et attributs AD
    1. Identifiant calculé
  7. Agents concernés par le provisionnement
  8. Fréquence et mode de déclenchement
  9. Création, modification, désactivation, suppression
    1. Recherche du compte existant
  10. Flux de l’AD vers l’application
    1. Création automatique du compte applicatif
    2. Profils LDAP : groupes AD → rôles et périmètres
    3. Lectures ponctuelles
  11. Gestion des erreurs et journaux
    1. Compte rendu de synchronisation
    2. Journal technique
  12. Dépendances
  13. Points de vigilance
  14. Référence des paramètres

Ce document décrit le fonctionnement du lien entre GEEF / VIRTUALIA et un annuaire LDAP / Active Directory (AD) : authentification des utilisateurs, création et mise à jour des comptes utilisateurs dans l’AD, alimentation des comptes applicatifs à partir des groupes de l’annuaire.

Il est destiné aux administrateurs systèmes et équipes DSI chargés de l’intégration de GEEF / VIRTUALIA avec leur annuaire.

ℹ️ Les valeurs de paramètres citées sont les valeurs livrées par défaut. Les valeurs propres à une instance (paramètres, codes d’organigramme, interfaces planifiées, notifications) sont à relever sur celle-ci, dans Outils › Paramètres › Paramètres.

Synthèse

GEEF / VIRTUALIA dialogue avec l’annuaire par une connexion LDAP directe, ouverte par l’application elle-même depuis son serveur. Il n’y a ni agent installé sur les contrôleurs de domaine, ni service Windows, ni middleware.

Quatre usages coexistent, activés indépendamment par paramètre :

Sens Usage Description
Application → AD (lecture) Authentification Le mot de passe saisi à la connexion est vérifié par l’annuaire (bind LDAP).
Application → AD (écriture) Provisionnement des comptes AD Création et mise à jour des comptes utilisateurs de l’AD à partir du dossier RH des agents.
AD → Application Comptes applicatifs et profils Création du compte applicatif à la première connexion ; rôles et périmètres attribués selon les groupes AD.
AD → Application (lecture) Données complémentaires Courriel et téléphone lors de l’interface entrante RH, photo de l’agent.
 Serveur d'application GEEF / VIRTUALIA                 Domaine Active Directory
+-------------------------------------+               +---------------------------+
|  Application  <-->  Base de données |   bind,       |  Contrôleur de domaine    |
|      ^                              |   recherche,  |  LDAP 389 / LDAPS 636     |
|      |                              |   création,   |                           |
|  Moteur des interfaces              | ------------> |                           |
|  automatiques sortantes             |   mise à jour,|                           |
+-------------------------------------+   déplacement +---------------------------+
          |
          | comptes rendus, identifiants créés
          v
  Serveur de messagerie

Mécanisme utilisé

Connecteur LDAP intégré à l’application. GEEF / VIRTUALIA ouvre elle-même une session LDAP (v2 ou v3, en clair ou chiffrée) vers le contrôleur de domaine désigné par le paramètre LDAP - PROVIDER_URL, via l’interface standard d’accès aux annuaires de la machine virtuelle Java. Les opérations effectuées sont des opérations LDAP natives : authentification (bind), recherche, création d’objet, modification d’attributs, renommage / déplacement.

  • Pas d’API ni de Web Service exposés par l’application ou par l’AD pour cet usage.
  • Pas de service Windows, de script PowerShell ni d’agent côté AD : rien n’est installé sur le domaine.
  • Pas de middleware (bus, ESB, outil de gestion des identités) : la connexion est point à point.
  • Le traitement planifié, quand il existe, est porté par le moteur d’interfaces automatiques sortantes de l’application (voir Fréquence et déclenchement).

Deux modes d’authentification des utilisateurs sont prévus (LDAP - Authentification en 2 passes) :

  • 1 passe : l’application reconstitue le DN de l’utilisateur (<attribut identifiant>=<login>,<LDAP - OU_DN>,<LDAP - GLOBAL_DC>) et tente un bind avec le mot de passe saisi. Ne fonctionne que si tous les comptes sont directement sous la même OU.
  • 2 passes (valeur par défaut) : l’application se connecte avec le compte de service, recherche le compte de l’utilisateur dans toute l’arborescence sous LDAP - OU_DN, puis tente un bind avec le DN trouvé et le mot de passe saisi. Mode requis dès que les comptes sont répartis dans plusieurs OU.

Serveurs et composants techniques

Composant Rôle Configuration
Serveur d’application GEEF / VIRTUALIA (Tomcat, Java) Héberge l’application ; émet toutes les requêtes LDAP. Flux réseau sortant vers le contrôleur de domaine.
Contrôleur de domaine AD (ou tout annuaire LDAP) Authentifie, répond aux recherches, reçoit les créations / modifications. LDAP - PROVIDER_URL (ex. ldap://dc1:389, ou ldaps://dc1:636)
Couche d’accès annuaire de Java Fournisseur LDAP standard de la JVM. LDAP - INITIAL_CONTEXT_FACTORY, LDAP - Version, LDAP - SECURITY_AUTHENTICATION, LDAP - SECURITY_PROTOCOL
Magasin de certificats de la JVM Doit faire confiance au certificat du contrôleur de domaine en LDAPS. Hors application (poste serveur).
Base de données de l’application Source des données RH poussées ; stocke les comptes applicatifs et le paramétrage. —
Serveur de messagerie Envoi des comptes rendus de synchronisation et des identifiants créés. Paramétrage de messagerie de l’application + notifications (voir Erreurs et journaux).

ℹ️ En hébergement mutualisé (plusieurs collectivités sur une même installation), chaque collectivité a son propre jeu de paramètres LDAP : les connexions ne sont jamais partagées d’une collectivité à l’autre.

Compte de service et droits dans l’AD

Un seul compte technique, déclaré par LDAP+ - SECURITY_PRINCIPAL (DN du compte, auquel LDAP - GLOBAL_DC est ajouté s’il n’y figure pas déjà) et LDAP+ - SECURITY_CREDENTIALS (mot de passe). Il sert à toutes les opérations hors authentification des utilisateurs : recherches, lecture des groupes et des photos, création et mise à jour des comptes.

  • Si LDAP+ - SECURITY_PRINCIPAL est vide, la connexion est anonyme : seules des lectures sont alors possibles, et seulement si l’annuaire l’autorise.
  • Le mot de passe peut être enregistré chiffré : l’écran Outils › Paramètres › Paramètres propose un encadré « LDAP+ - SECURITY_CREDENTIALS » qui calcule la valeur chiffrée (préfixe $1$) à recopier dans le paramètre.
  • L’authentification d’un utilisateur se fait, elle, avec ses propres identifiants (bind), sans droit particulier.

Droits à déléguer au compte de service

L’application ne crée ni ne vérifie aucune délégation dans l’AD : les droits doivent être accordés par les administrateurs du domaine. D’après les opérations réalisées, le besoin est le suivant :

Usage activé Droits nécessaires Périmètre
Authentification en 2 passes, recherche d’utilisateurs, création automatique des comptes applicatifs, profils LDAP, courriel / téléphone, photo Lecture des objets utilisateurs et des attributs utilisés (identifiant, DN, nom, prénom, courriel, téléphone, memberOf, attribut clé agent, photo). Sous-arbre de LDAP - OU_DN
Provisionnement des comptes AD Créer des objets Utilisateur ; écrire les attributs du tableau Champs et attributs AD ; réinitialiser le mot de passe (écriture de unicodePwd à la création) ; écrire userAccountControl ; renommer et déplacer des objets utilisateur (suppression d’enfant dans l’OU d’origine + création d’enfant dans l’OU de destination). Toutes les OU de destination possibles (voir OU de destination)

⚠️ Mot de passe et chiffrement. Active Directory refuse l’écriture de unicodePwd sur une connexion non chiffrée. La création de comptes depuis l’application suppose donc une connexion LDAPS (LDAP - SECURITY_PROTOCOL = ssl et port 636 dans LDAP - PROVIDER_URL).

À ne pas confondre : les « Délégations » de l’application

L’écran Accueil / Libre-Service › Administration › Mon Compte › Délégations permet à un utilisateur de déléguer ses droits à un autre, sur une période. Le connecteur crée alors un compte applicatif de délégation (mêmes rôles et périmètres que le délégant), l’active pendant la période et le désactive ensuite. Rien n’est écrit dans l’AD à cette occasion.

OU de destination

Aucun nom d’OU n’est écrit dans l’application. Les OU utilisées résultent du paramétrage de l’instance et des codes des services de l’organigramme. L’OU de destination d’un agent est calculée à chaque synchronisation à partir de son service d’affectation courant.

Construction du DN d’un compte

CN=<nom commun>,
   <LDAP+ - OU pour création>,
   OU=<code AD du service d'affectation>,
   OU=<code AD du service parent>, … jusqu'à la racine de l'organigramme,
   <LDAP - OU_DN>,
   <LDAP - GLOBAL_DC>
  1. Nom commun : « NOM Prénom » de l’agent, ou son sAMAccountName si LDAP+ - Attribut : CN - Source = sAMAccountName.
  2. Complément d’OU LDAP+ - OU pour création (défaut OU=Utilisateurs) : placé juste au-dessus du compte, donc à l’intérieur de l’OU du service. Vide = compte directement dans l’OU du service.
  3. OU issues de l’organigramme : l’application remonte la hiérarchie depuis le service d’affectation courant de l’agent jusqu’à la racine. Chaque service dont le code (en vigueur à la date du jour) commence par AD: ajoute un niveau OU=<code sans le préfixe AD:>. Les services sans code AD: sont ignorés (ils n’ajoutent aucun niveau).
  4. Racine : LDAP - OU_DN (défaut ou=SDIS) suivi de LDAP - GLOBAL_DC (défaut dc=mon_sdis,dc=com). C’est aussi la base de toutes les recherches : un compte situé hors de ce sous-arbre est invisible pour l’application.

Exemple : répartir les comptes entre deux OU

La répartition entre plusieurs OU se fait uniquement par l’organigramme, jamais par le statut ou une autre donnée RH. Exemple de paramétrage pour deux OU OU_personnel et OU_membres placées sous une OU commune :

LDAP - OU_DN             = OU=Collectivite   (OU commune aux deux)
LDAP+ - OU pour création = (vide)
Service racine « Personnel » : code AD:OU_personnel
Service racine « Membres »   : code AD:OU_membres

→ CN=DUPONT Marie,OU=OU_personnel,OU=Collectivite,DC=…
→ CN=MARTIN Paul,OU=OU_membres,OU=Collectivite,DC=…

⚠️ Changement d’affectation = déplacement du compte. Si le DN calculé diffère du DN actuel du compte dans l’AD, l’application renomme / déplace le compte vers la nouvelle OU lors de la mise à jour. Une réorganisation de l’organigramme ou la modification d’un code AD: déplace donc tous les comptes concernés au passage suivant.

Champs et attributs AD

La correspondance est entièrement paramétrable : chaque paramètre LDAP+ - Attribut : … désigne l’attribut AD qui reçoit la donnée. Un paramètre vide désactive l’attribut. La colonne « Attribut par défaut » donne la valeur livrée.

Paramètre Attribut par défaut Donnée GEEF / VIRTUALIA Écrit
(fixe) objectClass top, person, organizationalPerson, user Création
(fixe) sAMAccountName Champ « sAMAccountName » de l’agent ; à défaut, identifiant calculé tronqué à 20 caractères (voir ci-dessous) Création + mise à jour
(fixe) userPrincipalName « Adresse Courriel » de l’agent ; à défaut, identifiant calculé + LDAP+ - Attribut : SUFFIX IDENTIFIANT Création + mise à jour
(fixe) cn « NOM Prénom » ou sAMAccountName (LDAP+ - Attribut : CN - Source) Création, puis renommage
(fixe) uid Identifiant calculé Création
(fixe) userAccountControl 512 : compte normal, actif Création
(fixe) unicodePwd Mot de passe aléatoire généré (voir Cycle de vie) Création
LDAP+ - Attribut : DN distinguishedName DN calculé (voir OU de destination) ; sert au déplacement, n’est pas écrit comme attribut Déplacement
LDAP+ - Photo : CLE employeeID « N°Agent » Création + mise à jour
LDAP+ - Attribut : NOM sn « Nom » Création + mise à jour
LDAP+ - Attribut : PRENOM givenName « Prénom » Création + mise à jour
LDAP+ - Attribut : MAIL mail Même valeur que userPrincipalName Création + mise à jour
LDAP+ - Attribut : INITIALES initials Initiales des mots du prénom et du nom (sans accents) Création + mise à jour
LDAP+ - Attribut : QUALITE personalTitle « Qualité de l’agent » Création + mise à jour
LDAP+ - Attribut : POSTE title « Intitulé du poste » occupé à titre principal (poste relié par une nature de relation avec « Alerte chevauchement ») Création + mise à jour
LDAP+ - Attribut : POSTE N+1 businessRoles « Intitulé du poste » occupé via une nature de relation sans « Alerte chevauchement » (poste secondaire), malgré le nom du paramètre Création + mise à jour
LDAP+ - Attribut : FONCTION (vide) « Fonction » de l’affectation courante Création + mise à jour
LDAP+ - Attribut : NOM N+1 extensionAttribute10 « NOM Prénom » de l’agent qui occupe le poste supérieur (relations entre postes) Création + mise à jour
LDAP+ - Attribut : TELEPHONE telephoneNumber « Numéro/Valeur » du contact dont le type porte « Envoyer au LDAP » = « Téléphone 1 » Création + mise à jour
LDAP+ - Attribut : TELEPHONE 2 (vide) Idem, type de contact « Téléphone 2 » Création + mise à jour
LDAP+ - Attribut : RESIDENCE businessCategory « Résidence Administrative » en cours Création + mise à jour
LDAP+ - Attribut : DATE ARRIVEE extensionAttribute11 « Date d’entrée collectivité » (jj/mm/aaaa) Création + mise à jour
LDAP+ - Attribut : DATE DEPART extensionAttribute12 Veille du début de la position en cours si elle n’est pas « Employé » ; sinon date de fin de la dernière position « Employé » (jj/mm/aaaa) Création + mise à jour
LDAP+ - Attribut : ORGANIGRAMME NIV 0 (vide) Libellé du service d’affectation de l’agent lui-même (à partir de la version 6.0 ; auparavant, renseigner ce paramètre faisait échouer la synchronisation) Création + mise à jour
LDAP+ - Attribut : ORGANIGRAMME NIV 1 à NIV 5 (vide), company, department, division, extensionAttribute1 Libellé des services de la branche de l’agent : NIV 1 = service le plus haut, NIV 2 = niveau suivant, etc. Un niveau plus profond que la branche de l’agent est envoyé vide Création + mise à jour
LDAP+ - Attribut : VOIE SERVICE, CP SERVICE, VILLE SERVICE streetAddress, postalCode, l Adresse du service d’affectation (version en vigueur de l’organigramme) Création + mise à jour
LDAP+ - Attributs fixes extensionAttribute2=employee Constantes attribut=valeur, séparées par ; Création + mise à jour

Identifiant calculé

  • Partie avant le @ de l’« Adresse Courriel » de l’agent si elle est renseignée ;
  • sinon prénom.nom en minuscules, sans accents ni caractères spéciaux, suffixé d’un rang en cas d’homonyme (marie.dupont2).

Le champ « sAMAccountName » de l’agent est saisissable dans GRH › Livrets Individuels › Détails des livrets individuels › Identification (droit « Agent / Identification »). Avec LDAP - Synchron. par app. - Identifiant auto = OUI, l’application y enregistre l’identifiant calculé s’il fait 20 caractères au plus.

Agents concernés par le provisionnement

Un agent est poussé vers l’AD si toutes les conditions suivantes sont réunies :

  1. la case « Envoyer au LDAP » est cochée sur l’agent (livret, écran Identification) ;
  2. la case « Envoyer au LDAP » est cochée sur le statut de sa carrière (GRH › Administration › Statuts et Filières › Statuts) ;
  3. l’agent a une affectation courante dans l’organigramme ;
  4. sa situation de carrière est l’une des trois suivantes :
    • position en cours de type « Employé » et carrière non « Radié » ;
    • aucune position en cours, carrière non radiée, et une dernière position « Employé » qui commence dans les 15 jours (arrivées anticipées) ;
    • aucune position en cours, carrière radiée, et une dernière position « Employé » terminée depuis moins de 15 jours (départs récents).

Si l’agent a plusieurs carrières éligibles, seule la carrière principale est retenue (plus forte « Priorité statut », puis matricule).

Fréquence et mode de déclenchement

Traitement Déclenchement Où / comment
Authentification Temps réel, à chaque connexion Écran de connexion, si LDAP - Actif = OUI
Provisionnement AD Manuel, par agent GRH › Livrets Individuels › Détails des livrets individuels › Identification : comparatif « Situation en GRH Virtualia » / « Situation dans le LDAP », boutons « Créer dans le LDAP » ou « Mettre à jour dans le LDAP »
Provisionnement AD Manuel, un agent ou tous Outils › Exportations › LDAP (agent vide = tous les agents éligibles)
Provisionnement AD Automatique, à la création d’un agent Fin du processus de création guidée d’un agent, s’il est éligible
Provisionnement AD Planifié (batch) Outils › Interfaces auto › Sortante : une interface dont le « Chemin cible » vaut exec:ConnectLDAP.synchroUsers. Fréquence choisie sur l’interface : toutes les heures, tous les jours, semaines, mois, ans ou exécution unique, à l’« Heure » indiquée. Le moteur vérifie les interfaces dues toutes les 30 secondes.
Profils LDAP (groupes AD → comptes applicatifs) À chaque connexion + à la demande Connexion de l’utilisateur ; boutons de Outils › Droits › Liste des Utilisateurs, Détails des Utilisateurs et Profils LDAP
Création automatique du compte applicatif Temps réel, première connexion Si LDAP+ - Actif et LDAP+ - Création automatique = OUI
Délégations de l’application Toutes les heures + à la connexion + à l’enregistrement d’une délégation Traitement de fond de l’application
Courriel / téléphone depuis l’AD À chaque passage de l’interface entrante RH (XML) Paramètres Interface entrante - XML - Courriel par LDAP et Interface entrante - XML - Téléphone par LDAP

⚠️ Requête de l’interface planifiée. Pour chaque ligne rendue par la « Requête » de l’interface, l’application lance une synchronisation : de l’agent de la ligne si la requête rend le « N°Agent » dans une colonne nommée ID_AGENT, de tous les agents éligibles sinon. Une requête sans cette colonne doit donc ne rendre qu’une seule ligne.

ℹ️ Chaque passage est complet et idempotent : l’application recalcule l’état attendu de chaque agent et ne pousse que les écarts. Il n’y a pas de file d’attente : une modification RH est reportée dans l’AD au passage suivant.

Création, modification, désactivation, suppression

Recherche du compte existant

Pour chaque agent, l’application cherche son compte sous LDAP - OU_DN, successivement :

  1. par l’attribut identifiant (LDAP+ - Attribut : IDENTIFIANT, défaut sAMAccountName) égal à l’identifiant calculé + LDAP+ - Attribut : SUFFIX IDENTIFIANT ;
  2. à défaut, par l’attribut clé (LDAP+ - Photo : CLE, défaut employeeID) égal au « N°Agent » ;
  3. à défaut, par le DN calculé.
Situation Action
Création : aucun compte trouvé Si le « sAMAccountName » de l’agent est vide (et non renseigné automatiquement), l’agent est signalé en erreur et n’est pas créé. Sinon, le compte est créé dans l’OU calculée, actif, avec tous les attributs du tableau et un mot de passe aléatoire : trois groupes de 6 caractères séparés par des tirets, régénéré jusqu’à contenir au moins 12 caractères, une majuscule, une minuscule, un chiffre et un caractère spécial. L’identifiant et le mot de passe sont envoyés par courriel si la notification « Sécurité : Création d’un utilisateur dans le LDAP » est paramétrée. Aucun changement de mot de passe n’est imposé à la première ouverture de session.
Modification : un compte trouvé Comparaison attribut par attribut : ajout si l’attribut est absent de l’AD, remplacement si la valeur diffère, suppression de l’attribut dans l’AD si la donnée est vide dans l’application. Puis renommage / déplacement si le DN a changé. Le mot de passe n’est jamais modifié.
Anomalie : plusieurs comptes trouvés Aucune action ; erreur « Plusieurs comptes LDAP » dans le compte rendu.
Désactivation Non réalisée par l’application. Au départ d’un agent, la date de départ est renseignée dans l’attribut prévu, et l’agent reste synchronisé jusqu’à 15 jours après la fin de sa dernière position. Il sort ensuite du périmètre et n’est plus mis à jour. Le compte AD reste actif : sa désactivation relève de l’AD (par exemple un script s’appuyant sur l’attribut date de départ, ou la date d’expiration du compte).
Suppression Jamais. Décocher « Envoyer au LDAP » arrête la synchronisation sans rien retirer de l’AD.

Flux de l’AD vers l’application

Création automatique du compte applicatif

Quand une personne inconnue de l’application s’authentifie avec succès sur l’AD, et si LDAP+ - Création automatique = OUI, l’application lit son entrée d’annuaire et crée son compte applicatif :

  • l’agent est retrouvé par l’attribut clé (LDAP+ - Photo : CLE) qui doit contenir le « N°Agent » ;
  • création uniquement si aucun compte n’existe déjà pour cet « Identifiant de connexion » ni pour cet agent, et si sa carrière n’est pas radiée ;
  • profil = LDAP+ - Création automatique - Nom de profil, rôle = Interface entrante - Rôle par défaut ; aucun mot de passe local (l’AD reste seul juge).

Profils LDAP : groupes AD → rôles et périmètres

L’écran Outils › Droits › Profils LDAP associe un groupe AD (« Code LDAP du profil » = DN complet du groupe, tel que lu dans LDAP+ - Attribut : GROUPE, défaut memberOf) à un « Profil », des rôles et des périmètres. À chaque vérification :

  • un membre du groupe reçoit un compte applicatif pour ce profil, marqué « Provient du LDAP » ;
  • un compte dont le titulaire n’est plus membre du groupe passe « Inactif » ; il est réactivé s’il y revient ;
  • rôles et périmètres du compte sont alignés sur ceux du profil (ajout des manquants, retrait des superflus).

À partir de la version 6.0, les membres des groupes sont lus par pages (contrôle de pagination LDAPv3), ce qui lève la limite de 1000 entrées par réponse d’Active Directory. Si l’annuaire tronque malgré tout sa réponse (limite de taille côté serveur, pagination refusée), aucun compte n’est passé « Inactif » lors de cette vérification : un avertissement est écrit dans le journal du serveur, et les créations et réactivations restent appliquées.

Lectures ponctuelles

  • Interface entrante RH : récupération de l’adresse courriel (et, en option, du téléphone) de l’agent dans l’AD ; avec la valeur FORCE, l’adresse de l’AD prime sur celle du fichier.
  • Photo : lecture de l’attribut LDAP+ - Photo : BYTE_ARRAY (défaut jpegPhoto) de l’entrée dont l’attribut clé vaut le N°Agent.
  • Recherche d’utilisateurs à la création d’un compte dans Outils › Droits (si LDAP+ - Actif = OUI).

Gestion des erreurs et journaux

Compte rendu de synchronisation

Chaque passage produit une liste, une ligne par agent : [INFO] Création / Modification / Pas de modification, ou [ERREUR] avec, après « ==> », le message renvoyé par l’annuaire (ou « sAMAccountName vide », « Plusieurs comptes LDAP »). Ce compte rendu est :

  • affiché à l’écran lors d’un lancement manuel ;
  • envoyé par courriel si la notification « Sécurité : Mise à jour des utilisateurs dans le LDAP » est paramétrée (Mon Compte › Notifications) ; il est inséré par la balise <SPEC_STACK_TRACE/> du modèle ;
  • ajouté comme colonne dans le fichier de sortie de l’interface planifiée, si elle en produit un.

Une erreur sur un agent n’interrompt pas le traitement des autres. Il n’y a pas de reprise dédiée : l’agent est retraité au passage suivant. Une erreur de connexion à l’annuaire (serveur injoignable, compte de service refusé) arrête le passage entier.

Journal technique

  • Les erreurs (connexion, création, modification, lecture de photo, liste) sont écrites dans le journal du serveur d’application : sortie standard de Tomcat, soit catalina.out sous Linux, soit le fichier …-stdout.<date>.log du dossier logs de Tomcat quand il tourne en service Windows.
  • LDAP - Journaux = OUI ajoute le détail : bind réussi ou refusé, DN trouvé pour un identifiant, lecture de l’OU de base. À activer le temps d’un diagnostic.
  • La création automatique de comptes applicatifs trace les comptes existants non recréés.

Dépendances

  • Réseau : flux ouvert du serveur de l’application vers le contrôleur de domaine (389 ou 636).
  • Certificat du contrôleur de domaine reconnu par la JVM en LDAPS.
  • Organigramme à jour : affectations courantes, codes AD: des services (OU), libellés et adresses des services (attributs).
  • Données RH : positions (« Employé »), statuts et types de contact cochés « Envoyer au LDAP », postes et relations entre postes (poste, responsable), résidences administratives.
  • Messagerie et notifications pour les comptes rendus et l’envoi des identifiants.
  • Traitements internes : moteur des interfaces automatiques (planification) et traitement de fond horaire (délégations).
  • SSO : l’authentification LDAP est indépendante des mécanismes d’authentification unique (Windows intégré, Azure AD / OIDC) que l’application sait aussi utiliser ; le provisionnement des comptes AD fonctionne quel que soit le mode de connexion retenu.

Points de vigilance

  • Attributs fixes : la liste n’est prise en compte que si elle contient au moins un ;. Une valeur unique comme extensionAttribute2=employee doit être saisie extensionAttribute2=employee;.
  • Données vides : une donnée vide dans l’application efface l’attribut correspondant dans l’AD. Vider le paramètre d’un attribut géré côté AD.
  • Complément d’OU : LDAP+ - OU pour création se place sous l’OU de chaque service ; la sous-OU doit exister partout où des comptes sont créés.
  • Comptes hors périmètre : un compte AD situé hors de LDAP - OU_DN n’est pas retrouvé ; l’application tentera d’en créer un second.
  • Désactivation : à organiser côté AD (voir Cycle de vie).
  • Mot de passe initial : envoyé en clair dans le courriel de notification ; restreindre les destinataires de cette notification.

Référence des paramètres

Outils › Paramètres › Paramètres. Valeurs par défaut du référentiel livré.

Paramètre Défaut Rôle
LDAP - Actif NON Authentification des utilisateurs par l’annuaire ; condition de la vérification des profils LDAP.
LDAP - Version V2 Version du protocole (V2/V3).
LDAP - Authentification en 2 passes OUI Recherche du DN par le compte de service avant le bind.
LDAP - PROVIDER_URL ldap://dc1:389 Adresse du contrôleur de domaine.
LDAP - SECURITY_AUTHENTICATION simple Mode d’authentification LDAP.
LDAP - SECURITY_PROTOCOL (vide) ssl pour LDAPS.
LDAP - INITIAL_CONTEXT_FACTORY fournisseur LDAP standard Java Ne pas modifier sauf besoin particulier.
LDAP - GLOBAL_DC dc=mon_sdis,dc=com Suffixe du domaine.
LDAP - OU_DN ou=SDIS OU racine des recherches et des créations.
LDAP - Journaux NON Traces détaillées.
LDAP - Synchronisation par l'application NON Ouvre le provisionnement AD (écrans Identification, Exportations › LDAP, Profils LDAP, champs « Envoyer au LDAP » et « sAMAccountName »).
LDAP - Synchron. par app. - Identifiant auto NON Renseigne le sAMAccountName manquant (20 caractères au plus).
LDAP+ - Actif OUI Recherche d’utilisateurs dans l’annuaire par le compte de service.
LDAP+ - Création automatique OUI Création du compte applicatif à la première connexion.
LDAP+ - Création automatique - Nom de profil (vide) Profil des comptes créés automatiquement.
Interface entrante - Rôle par défaut — Rôle des comptes créés automatiquement.
LDAP+ - SECURITY_PRINCIPAL cn=Manager Compte de service.
LDAP+ - SECURITY_CREDENTIALS (à renseigner) Mot de passe du compte de service, chiffrable.
LDAP+ - Classe des Utilisateurs person Filtre objectClass de toutes les recherches.
LDAP+ - Attribut : IDENTIFIANT sAMAccountName Attribut portant l’identifiant de connexion.
LDAP+ - Attribut : SUFFIX IDENTIFIANT (vide) Suffixe ajouté à l’identifiant pour la recherche (ex. @domaine.fr avec userPrincipalName).
LDAP+ - Attribut : SUFFIX CREATION (vide) Suffixe proposé à la création d’un agent.
LDAP+ - Attribut : CN - Source Nom_Prenom Nom commun : « NOM Prénom » ou sAMAccountName.
LDAP+ - OU pour création OU=Utilisateurs Complément d’OU sous l’OU du service.
LDAP+ - Attribut : GROUPE memberOf Groupes lus pour les profils LDAP.
LDAP+ - Photo : CLE / BYTE_ARRAY / CONTENT_TYPE employeeID / jpegPhoto / image/jpeg Clé agent et photo.
LDAP+ - Attribut : … voir tableau Correspondance des attributs (Champs et attributs AD).
Interface entrante - XML - Courriel par LDAP OUI Courriel lu dans l’AD par l’interface entrante (OUI / FORCE / NON).
Interface entrante - XML - Téléphone par LDAP (+ Contact) NON Téléphone lu dans l’AD, et type de contact alimenté.

This site uses Just the Docs, a documentation theme for Jekyll.