La synchronisation des groupes peut se faire au même titre que les utilisateurs sur plusieurs annuaires LDAP, vous avez donc la possibilité de créer plusieurs configurations pour la récupération des groupes, en utilisant le même mécanisme d'alias : "ldapPers", "ldapEtu"...
Il existe deux façons de faire des regroupements de personnes dans un annuaire LDAP :
- soit en utilisant des groupes : ces groupes contiennent la liste de leurs membres. Les membres des groupes peuvent être des sous-groupes ou bien des personnes, elles-mêmes des entrées de l'annnuaire;
- soit en utilisant les organisations de la hiérarchie : chaque personne possède un ou plusieurs attributs qui contiennent les DN des organisations auxquelles elle appartient.
Le connecteur LDAP offre la possibilité de synchroniser les deux types de groupes que nous appellerons
GON (GroupOfNames) pour les groupes et
OU (OrganizationalUnit) pour les regroupements issus de la hiérarchie.
Types de synchronisation
Il est tout d'abord indispensable de pouvoir identifier le paramétrage propre à chacune des synchronisations. Pour cela, si vous avez plusieurs synchronisations de groupes à créer sur le même alias LDAP, renseignez le paramètre ldap.groupe.alias, en séparant les configurations par une virgule :
ldap.groupe.alias=synchro-gon,synchro-ou
Ainsi, votre configuration pour les groupes GON sera toujours préfixée de la façon suivante :
ldap.synchro-gon.parametre1=...
Et pour les groupes de type OU :
ldap.synchro-ou.parametre1=...
Si un seul type de groupe est synchronisé, ce paramètre peut être occulté et l'alias par défaut sera "groupe" :
ldap.groupe.parametre1=
Et si vous avez plusieurs alias LDAP (plusieurs annuaires), pensez à remplacer "ldap" par cet alias, par exemple :
ldapEtu.synchro-gon.parametre1=...
ldapEtu.synchro-ou.parametre1=...
Paramètre à positionner pour une synchronisation de type GON : ldap.synchro-gon.typesynchro=GON | Paramètre à positionner pour une synchronisation de type OU : ldap.synchro-ou.typesynchro=OU |
Sélection des groupes
Pour la synchronisation des groupes, il est indispensable de connaître quels sont les groupes de l'annuaire que l'on souhaite importer. Ainsi, il faut définir :
- la classe d'objet i.e. le type d'objet LDAP définissant un groupe
- le domaine de recherche i.e. le domaine de la hiérarchie où sont situés les groupes à synchroniser
- pour affiner la séléction des groupes, il est également possible de définir une requête LDAP comportant des critères supplémentaires
- pour des raisons de performance, il est possible d'utiliser la pagination des résultats
Exemple pour les groupes de type GON | Exemple pour les groupes de type OU |
ldap.synchro-gon.searchdn=ou=GroupOfName,dc=marmotte,dc=fr ldap.synchro-gon.objectsearchdn=GroupOfNames ldap.synchro-gon.searchcritere= ldap.synchro-gon.resultatparpage=500 | ldap.synchro-ou.searchdn=ou=structures,o=orga,dc=marmotte,dc=fr ldap.synchro-ou.objectsearchdn=organizationalUnit ldap.synchro-ou.searchcritere= ldap.synchro-ou.resultatparpage=500 |
Pour plus de détails sur ces options, reportez-vous à la page
Paramétrage de la synchronisation des utilisateurs, qui utilise les mêmes paramètres.
Affectation des attributs
Un groupe K-Portal / K-Sup est décrit par les champs suivants :
- son libellé
- son type
- sa structure de rattachement
- le code de sa page d'accueil
- ses rôles
Ainsi, il suffit d'associer à chaque paramètre décrivant un champ K-Portal, l'attribut LDAP correspondant :
ldap.groupe.libelle=cn
ldap.groupe.type=
# pour définir une valeur par défaut pour le type, ajouter le paramètre suivant :
ldap.groupe.type.defaut=
ldap.groupe.code_page_tete=
ldap.groupe.roles=
ldap.groupe.code_structure=
Le code du groupe sera alimenté automatiquement à partir de son
DN.
Définition de la hiérarchie
Dans K-Portal, les groupes peuvent être hiérarchisés. Ainsi, chaque groupe dispose d'un champ qui renseigne son unique groupe père.
Cas des groupes GON | Cas des groupes OU |
Dans l'annuaire LDAP, à l'inverse de K-Portal, chaque groupe dispose de la liste des ses membres : personnes et groupes fils. Ainsi, le connecteur a besoin de connaître : - l'attribut LDAP des groupes qui renseigne les membres d'un groupe
- l'attribut LDAP des groupes qui renseigne les sous-groupes d'un groupe
- la classe d'objet définissant une personne
- l'identifiant d'un utilisateur
ldap.synchro-gon.membreUtilisateur=member ldap.synchro-gon.membreGroupe=member ldap.synchro-gon.personnclass=person ldap.synchro-gon.userid=employeeNumber | Dans l'annuaire LDAP, les organisations sont également hiérarchisées. Afin de générer les rattachements entre les utilisateurs et les organisations, le connecteur a besoin de connaître la liste des attributs d'un utilisateur LDAP qui renseigne le DN des organisations auxquelles appartient la personne. ldap.synchro-ou.attributsutilisateur=eduPersoOrgUnitDn |
Autres options
Il est possible de spécifier un groupe de rattachement par défaut pour les groupes générés n'ayant pas de groupe parent.Il suffit de spécifier le code du groupe dans le paramètre suivant :
ldap.groupe.code_racine=
Options spécifiques aux synchronisations de type GON
À partir de la version 5.1, il est possible de spécifier un attribut du LDAP pour remplacer le DN comme identifiant du groupe :
ldap.synchro-gon.groupeuid=attributid
Il est possible de synchroniser uniquement le premier niveau de groupe ( i.e. uniquement ceux répondant à la requête de recherche), tout en collectant récursivement les membres dans l'ensemble des sous-groupes. Pour cela, ajouter le paramètre suivant :
ldap.synchro-gon.recursiveMember=1
Dans le cas d'un annuaire
Active Directory et de groupe ayant un nombre de membres très important, Active Directory utilise un type d'attribut «
range ». Cet attribut permet de renvoyer les membres d'un groupe par paquet de 1000 membres. Ceci permet de ne pas surcharger le serveur. Pour activer ce paramètre, il suffit de positionner le paramètre suivant :
ldap.synchro-gon.rangeMember=1