Arborescence des pages

Outil de synchronisation de la base Grouper vers un annuaire LDAP

A partir de la version 1.6 de Grouper, deux outils de synchro : ldappc et ldappc-ng, à télécharger indépendamment de grouper-api (package ldappc-ng)

  • déployer le répertoire lib de ldappc-ng dans le répertoire lib/custom de grouper-api
  • déployer le répertoire conf de ldappc-ng dans le répertoire conf de grouper-api

Ldappc

Initialiser des groupes et appartenances dans un annuaire Ldap

  • Annuaire type openldap :
./gsh.sh  -ldappc -groups -memberships -configManager ldappc.openldap.xml -properties ldappc.openldap.properties
  • -groups : initialise les groupes
  • -memberships : initialise les appartenances des individus aux groupes dans la branche des individus (people par exemple)
  • -properties : paramètres d'accès à l'annuaire
  • -configManager : définitions des groupes créés et des membres
Exemple de ldappc.properties
edu.vt.middleware.ldap.ldapUrl=ldap://ldap.mon-univ.fr:389
edu.vt.middleware.ldap.base=dc=mon-univ,dc=fr
edu.vt.middleware.ldap.authtype=simple
edu.vt.middleware.ldap.serviceUser=cn=grouper,ou=special users,dc=mon-univ,dc=fr
edu.vt.middleware.ldap.serviceCredential=******
edu.vt.middleware.ldap.ssl=false
edu.vt.middleware.ldap.tls=false
Exemple de ldappc.xml
 <ldappc>
  <grouper>
    <group-queries>
      <subordinate-stem-queries>
        <stem-list>
          <stem>groupes</stem>
        </stem-list>
      </subordinate-stem-queries>
    </group-queries>

group-queries filtre les groupes à exporter de la base grouper.

Ici, tous les groupes dans le dossier groupes et les sous-dossiers

    <groups structure="flat" root-dn="ou=Groups,${edu.vt.middleware.ldap.base}" ldap-object-class="groupOfNames"
            ldap-rdn-attribute="cn" grouper-attribute="name" provision-member-groups="false" >

groups indique où les groupes seront exportés dans l'annuaire (ici ou=Groups), la classe d'objet utilisée (groupOfNames), l'attribut ldap servant d'identifiant (cn) et l'attribut grouper correspondant (name)

      <group-members-dn-list list-object-class="groupOfNames" list-attribute="member" />

      <group-attribute-mapping ldap-object-class="groupOfNames">
        <group-attribute-map group-attribute="displayExtension" ldap-attribute="description" />
      </group-attribute-mapping>

group-attribute-mapping permet d'établir des correspondances supplémentaires entre attributs grouper et attributs ldap à alimenter

    </groups>

    <memberships>
      <member-groups-list
        list-object-class="inetuser"
        list-attribute="memberOf"
        naming-attribute="name"
        temporary-directory="" />
    </memberships>

memberships permet de renseigner les groupes auquel appartient chaque individu dans un attribut multivalué (ici memberOf, dans lequel on renseigne les valeurs de l'attribut name de grouper)

  </grouper>

  <source-subject-identifiers>
    <source-subject-identifier source="mon-univ:ldap" subject-attribute="id">
      <ldap-search base="ou=people,${edu.vt.middleware.ldap.base}"
        scope="subtree_scope"
        filter="(uid={0})"
        on-not-found="warn" />
    </source-subject-identifier>
  </source-subject-identifiers>

source-subject-identifier indique où trouver les individus à placer dans des groupes

</ldappc>

Synchroniser un annuaire ldap à partir d'une base grouper

./gsh.sh  -ldappc -groups -memberships -configManager ldappc.openldap.xml -properties ldappc.openldap.properties -interval 60

Lance en tâche de fond une instance de gsh qui effectue une synchronisation toutes les 60 secondes

  • Aucune étiquette