L'arborescence de l'annuaire

SupAnn normalise les nœuds suivants de l'arborescence de l'annuaire (Directory Information Tree, DIT), ainsi que les caractéristiques principales des objets qu'ils contiennent:

Cette organisation constitue une base non limitative. L'établissement est libre d'ajouter, selon ses besoins techniques ou organisationnels:

  • d'autre branche en plus de celles définies par SupAnn;
  • d'autres classes sur les objets définis par SupAnn;
  • d'autres attributs, non référencés par SupAnn, sur ces mêmes objets.

Il n'y a pas d'impératif d'exhaustivité : selon ses besoins et les données à sa disposition, chaque établissement est libre d'implémenter ou non les branches préconisées par SupAnn. Néanmoins:

  • la branche ou=people peut être considérée comme requise pour une inter-opérabilité SupAnn minimale, notamment dans le cadre de la fédération d'identités ;
  • l'usage des branches ou=applications et ou=applicationGroups ne constitue qu'une bonne pratique en vue de standardiser le code et les configurations des applications. Il n'y a aucun impératif à remettre en question un modèle de gestion préexistant.

Par ailleurs la notion de classe structurelle est indicative et peut être amenée à différer selon les impératifs de l'implémentation LDAP retenue.

En revanche, l'établissement DEVRAIT :

  • respecter l'arborescence des objets définie par SupAnn à l'intérieur des branche normalisées;
  • ne pas placer dans les branches normalisées des objets (ou sous-arborescences) non conformes aux préconisations SupAnn.

Origine : SupAnn v1

La racine de l'arborescence est nommée d'après le domaine DNS de l'établissement conformément aux recommandations de l'IETF (voir Références, RFC 2377, “Domain components”). Ceci permet d'adresser de manière fiable les informations de tout établissement puisque l'unicité d'un domaine est assurée au sein d'Internet.

Son RDN est constitué de l'attribut dc de la classe auxiliaire dcObject. Sa classe structurelle est organization.

Sa visibilité est publique.

Exemple:

dn: dc=univ-exemple,dc=fr
objectClass: organization
objectClass: dcObject
dc: univ-exemple
o: Université Exemple

Cette entrée constitue par ailleurs une description de l'établissement lui-même. A cet effet, elle est enrichie des classes eduOrg et supannOrg. Voir: Représentation des établissements.

NB: Outre le suffixe “dc=fr”, on trouvera aussi :

  • dc=pf pour la Polynésie Française ;
  • dc=nc pour la Nouvelle Calédonie.

Origine : SupAnn v1

Situé un niveau sous la racine, cet objet de classe organizationalUnit est le conteneur de l'ensemble des informations concernant les personnes référencées dans l'annuaire. Son RDN est ou=people.

Sa visibilité est publique. En revanche, les objets qu'il contient PEUVENT être soumis à des restrictions de visibilité en fonction de la politique de l'établissement et des niveaux de visibilité préconisés par SupAnn pour chacun de leurs attributs (cf: Visibilité des attributs).

Exemple:

dn: ou=people,dc=univ-exemple,dc=fr
objectClass: organizationalUnit
ou: people
description: Les personnes de l'annuaire

Tous les objets contenus dans cette branche sont au même niveau (pas de sous-arborescence).

Ces objets représentent des personnes et obéissent au modèle suivant:

RDN uid
Classe structurelle inetOrgPerson
Classes auxiliaires eduPerson, supannPerson
Classes optionnelles supannFCPerson, supannCMS
Description détaillée voir: Représentation des personnes

Exemple:

dn: uid=jdupont,ou=people,dc=univ-exemple,dc=fr
objectClass: inetOrgPerson
objectClass: eduPerson
objectClass: supannPerson
uid: jdupont
cn: Dupont Jean

Origine : SupAnn v1

Situé un niveau sous la racine, cet objet de classe organizationalUnit est le conteneur de l'ensemble des groupes de personnes définis dans l'annuaire. Son RDN est ou=groups.

Sa visibilité est publique. En revanche, les objets qu'il contient PEUVENT être soumis à des restrictions de visibilité en fonction de la politique de l'établissement.

Exemple:

dn: ou=groups,dc=univ-exemple,dc=fr
objectClass: organizationalUnit
ou: groups
description: Les groupes de personnes de l'annuaire

SupAnn préconise que tous les objets contenus dans cette branche soient au même niveau (pas de sous-arborescence). Cependant d'autres organisations sont tolérées selon les contraintes techniques de l'infrastructure utilisée.

Ces objets représentent des groupes et obéissent au modèle suivant:

RDN cn
Classe structurelle groupOfNames
Classes auxiliaires supannGroupe
Classes optionnelles supannCMS, supannRessource
Description détaillée voir: Représentation des groupes

Exemple:

dn: cn=applications.apogee.users,ou=groups,dc=univ-exemple,dc=fr
objectClass: groupOfNames
objectClass: supannGroupe
cn: applications.apogee.users
member: uid=jdupont,ou=people,dc=univ-exemple,dc=fr

Origine : SupAnn 2008

Situé un niveau sous la racine, cet objet de classe organizationalUnit est le conteneur de l'ensemble des entités définies dans l'annuaire. Son RDN est ou=structures.

Sa visibilité est publique, de même que celle des objets qu'il contient.

Exemple:

dn: ou=structures,dc=univ-exemple,dc=fr
objectClass: organizationalUnit
ou: structures
description: Les entités référencées dans l'annuaire

Tous les objets contenus dans cette branche sont au même niveau (pas de sous-arborescence).

Ces objets représentent des entités internes (structures organisationnelles, instances électives, etc) ou des établissements.

Les relations de dépendance entre entités, au lieu d'être représentées hiérarchiquement dans le DIT, sont représentés à l'aide d'un attribut faisant référence aux entités parentes (voir: supannCodeEntiteParent).

Ce choix offre les avantages:

  • de s'affranchir des problèmes de réorganisation : le DN des objets reste inchangé;
  • de pouvoir définir plusieurs entités parentes pour une entité;
  • d'éviter de gérer les entités électives à part;
  • d'adopter une organisation semblable aux branches voisines ou=people et ou=groups.

Les objets représentant des entités internes à l'établissement se basent sur le modèle suivant:

RDN supannCodeEntite
Classe structurelle organizationalUnit
Classes auxiliaires supannEntite
Classes optionnelles supannCMS, supannRessource
Description détaillée voir: Représentation des structures et instances internes

Exemple:

dn: supannCodeEntite=U03,ou=structures,dc=univ-exemple,dc=fr
objectClass: organizationalUnit
objectClass: supannEntite
supannCodeEntite: U03
ou: UFR 03

Les objets représentant des établissements se basent sur le modèle suivant:

RDN supannCodeEntite
Classe structurelle organization
Classes auxiliaires supannEntite, supannOrg, eduOrg
Classes optionnelles supannCMS, supannRessource
Description détaillée voir: Représentation des établissements

Exemple:

dn: supannCodeEntite=UX,ou=structures,dc=univ-exemple,dc=fr
objectClass: organization
objectClass: supannEntite
objectClass: supannOrg
objectClass: eduOrg
supannCodeEntite: UX
o: Université Exemple
eduOrgLegalName: Université de l'exemple didactique Jacques de la Palice
supannEtablissement: {UAI}012345678

Origine : SupAnn 2021

Situé un niveau sous la racine, cet objet de classe organizationalUnit est le conteneur de l'ensemble des applications dont les besoins techniques, notamment leurs accès aux données de l'annuaire, nécessitent la déclaration. Son RDN est ou=applications.

SupAnn n'impose pas de directives de visibilité pour cet objet : celle-ci peut être publique au même titre que les autres conteneurs de premier niveau, ou limitée.

En revanche, les objet qu'il contient, dont l'usage est en général purement technique, auront en général une visibilité limitée, privée, voire cachée. Voir notamment les bonnes pratiques : Gestion des droits d'accès à l'annuaire.

Exemple:

dn: ou=applications,dc=univ-exemple,dc=fr
objectClass: organizationalUnit
ou: applications
description: Les applications référencées dans l'annuaire

Tous les objets contenus dans cette branche sont au même niveau (pas de sous-arborescence).

Ces objets représentent des applications et obéissent au modèle suivant:

RDN cn
Classe structurelle supannApplication
Classes optionnelles supannRessource, pkiUser
Description détaillée voir: Représentation des applications

Exemple:

dn: cn=snw,ou=applications,dc=univ-exemple,dc=fr
objectClass: supannApplication
objectClass: supannRessource
cn: snw
displayName: Saisie des Notes par le Web
description: Application Saisie des Notes par le Web (SCOL)
owner: supannCodeEntite=DGFI,ou=structures,dc=univ-exemple,dc=fr
manager: cn=applications.snw.managers,ou=groups,dc=univ-exemple,dc=fr
supannMailContact: support-snw@listes.univ-exemple.fr
userPassword: {SSHA}xxxxxx
supannRessourceEtatDate: {COMPTE}A:::20250901
labeledURI: https://support.univ-exemple.fr/tickets?id=97932 {DEMANDE}

Origine : SupAnn 2021

Situé un niveau sous la racine, cet objet de classe organizationalUnit est le conteneur de l'ensemble des groupes d'applications définis dans l'annuaire. Son RDN est ou=applicationGroups.

SupAnn n'impose pas de directives de visibilité pour cet objet : celle-ci peut être publique au même titre que les autres conteneurs de premier niveau, ou limitée.

En revanche, les objets qu'il contient, dont l'usage est en général purement technique, auront en général une visibilité limitée, privée, voire cachée. Voir notamment les bonnes pratiques : Gestion des droits d'accès à l'annuaire.

Exemple:

dn: ou=applicationGroups,dc=univ-exemple,dc=fr
objectClass: organizationalUnit
ou: applicationGroups
description: Les groupes d'applications référencées dans l'annuaire

SupAnn préconise que tous les objets contenus dans cette branche soient au même niveau (pas de sous-arborescence). Cependant d'autres organisations sont tolérées selon les contraintes techniques de l'infrastructure utilisée.

Ces objets représentent des groupes et obéissent au modèle suivant:

RDN cn
Classe structurelle groupOfNames
Classes optionnelles supannGroupe, supannRessource
Description détaillée voir: Représentation des groupes

Exemple:

dn: cn=acl.attr.supannEtuId.read,ou=applicationGroups,dc=univ-exemple,dc=fr
objectClass: groupOfNames
cn: acl.attr.supannEtuId.read
description: ACL LDAP: lecture de l'attribut supannEtuId
member: cn=snw,ou=applications,dc=univ-exemple,dc=fr

Cet exemple définit un groupe d'application dont le nom montre que ce regroupement servira à contrôler l'accès à l'attribut “supannEtuId” des apprenants par l'application “snw”.

  • Dernière modification : 2021/12/07 12:21