B) La délégation

Un annuaire LDAP est défini par un arbre. OpenLDAP permet de poser des ACLs soit sur une branche ( càd au niveau d’un nœud ) soit sur des attributs ( à l’intérieur d’une entrée )

dc=mathrice,dc=fr
|                          \ 
|                            \ umr=5465, dc=mathrice,dc=fr
|                                 |
|                                 uid=georges,ou=login,umr5465,dc=mathrice,dc=fr
|
umr5467,dc=mathrice,dc=fr
   |
   uid=alfred,ou=login,umr5467,dc=mathrice,dc=fr

Le mécanisme d’expressions régulières permet d’écrire une seule ACL pour dans le fichier de configuration qui autorise un ou plusieurs utilisateurs à créer/modifier des entrées ou attributs.

On peut alors associer un groupe à une branche, un utilisateur appartenant à ce groupe a le droit de modifier sa branche et uniquement sa branche :

alfred va appartenir au groupe cn=umr5467,dc=mathrice,dc=fr et
georges au groupe cn=umr5465,dc=mathrice,dc=fr

access to dn="uid=.*,ou=login,o=([^\,]+),dc=mathrice,dc=fr" attrs=cn,uid,uidNumber, gidNumber,homeDirectory,userPassword,loginShell,gecos,description,mail
       by group/groupOfUniqueNames/uniqueMember="cn=ldap,o=admin,dc=mathrice,dc=fr" write
       by group/groupOfUniqueNames/uniqueMember="cn=$1,o=admin,dc=mathrice,dc=fr" write
       by * read

On défini des "super admin", c'est à dire des utilisateurs quelconques appartenant au groupe cn=ldap. Ceux-ci ont le droit de modifier (créer de nouvelles branches) la totalité de l'arbre.

De cette façon, alfred va pouvoir entrer/modifier/supprimer des utilisateurs pour sa branche et georges pour la sienne et ce, de façon exclusive.

SUITE