Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
27 octobre 2013

LDAP Lightweight Directory Access Protocol           Standards LDAP


draft-zeilenga-ldap-relax-03

draft-zeilenga-ldap-relax-03

Contrôle relax

   Le contrôle de règle relax permet à un DUA de demander au service d'annuaire un relâchement temporaire de diverses données et règles de modèle de service. Un serveur LDAP empêche la modification de la classe d'objet structurelle d'un objet. Les modèles x.500 ne permettent pas à un objet person d'être transformés en un objet organizationalPerson. Cette approche est problématique pour plusieurs raisons. D'abord, vu que LDAP n'a pas de méthode standardisé pour effectuer 2 opérations en une seule transaction, l'état intermédiaire de l'annuaire (après le delete, avant le add) est visible aux autres clients. Ensuite, les attributs tels que entryUUID vont refléter que l'objet a été remplacé, pas transformé.

   Un serveur LDAP empêche les clients de modifier les valeurs des attributs NO-USER-MODIFICATION. Cependant, quand un administrateur restaure un objet, en repartitionnant les données entre des serveurs d'annuaire, ou en migrant d'un serveur à un autre, il peut être désirable de permettre au client d'assigner ou modifier la valeur de entryUUID.

   Ce contrôle peut être attaché aux requêtes LDAP pour mettre à jours le DIT pour demander à divers règles de données et services d'être relaxé durant l'exécution de la mise à jours. Le serveur s'assure que l'état de l'annuaire résultant reste valide.

   L'utilisation de cette extension est restreinte par acl et est principalement utilisé pour les administrateurs de l'annuaire.

Pour changer un objet organization en organizationalUnit, un client pourrait utiliser la requête suivante:
dn: o=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: modify
delete: objectClass
objectClass: organization
-
add: objectClass
objectClass: organizationalUnit
-

   Le contrôle relax permet d'ajouter ou modifier des valeurs d'attributs marqué inactifs.

Ajouter un entryUUID:
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: add
objectClass: organizationalUnit
ou: Unit
entryUUID: 597ae2f6-16a6-1027-98f4-d28b5365dc14

Modifier l'entryUUID:
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: modify
replace: entryUUID
entryUUID: 597ae2f6-16a6-1027-98f4-d28b5365dc14
-

createTimestamp
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: add
objectClass: organizationalUnit
ou: Unit
createTimestamp: 20060101000000Z
    
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: modify
replace: createTimestamp
createTimestamp: 20060101000000Z
-

modifyTimestamp
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: add
objectClass: organizationalUnit
ou: Unit
modifyTimestamp: 20060101000000Z
    
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: modify
replace: modifyTimestamp
modifyTimestamp: 20060101000000Z
-

creatorsName et modifiersName
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: add
objectClass: organizationalUnit
ou: Unit
creatorsName: cn=Jane Doe,dc=example,net
modifiersName: cn=Jane Doe,dc=example,net
    
dn: ou=Unit,dc=example,dc=net
control: IANA-ASSIGNED-OID
changetype: modify
replace: creatorsName
creatorsName: cn=Jane Doe,dc=example,net
-
replace: modifiersName
modifiersName: cn=Jane Doe,dc=example,net
-