Aller au contenu principal

RFC 4512 - Lightweight Directory Access Protocol (LDAP) : Modèles d'information d'annuaire

  • Statut: Proposed Standard
  • Publié: June 2006
  • Stream: IETF
  • Remplace: RFC2251, RFC2252, RFC2256, RFC3674
  • Errata: Pas d'errata

Résumé

Le protocole LDAP (Lightweight Directory Access Protocol) est un protocole Internet permettant d'accéder à des services d'annuaire distribués qui agissent conformément aux modèles de données et de services X.500. Ce document décrit les modèles d'information d'annuaire X.500, tels qu'utilisés dans LDAP.

1. Introduction

Ce document décrit les modèles d'information d'annuaire LDAP. Ces modèles sont basés sur les modèles d'information d'annuaire X.500 [X.501], mais sont adaptés à certains égards pour répondre aux besoins de LDAP.

1.1 Relation avec d'autres spécifications LDAP

Ce document fait partie de la spécification technique LDAP [RFC4510]. Il fournit le modèle de base pour [RFC4511] (le protocole LDAP) et d'autres documents connexes.

2. Modèle d'information utilisateur d'annuaire

Un annuaire est une collection contenant des informations sur des objets. Ces informations sont organisées dans un arbre d'informations d'annuaire (DIT - Directory Information Tree).

2.1 L'arbre d'informations d'annuaire (DIT)

Le DIT est une structure arborescente où chaque nœud est une entrée (Entry). Les entrées représentent des objets du monde réel (tels que des personnes, des organisations, des appareils, etc.).

2.2 Structure d'une entrée

Chaque entrée est composée d'un ensemble d'attributs (Attribute).

  • Chaque attribut a un type (Attribute Type) et une ou plusieurs valeurs (Attribute Value).
  • Les types d'attributs sont identifiés de manière unique par des identifiants d'objet (OID) et ont généralement un nom court (par exemple, cn pour commonName).

2.3 Nommage des entrées

Chaque entrée a un nom unique dans le DIT, appelé nom distinctif relatif (RDN - Relative Distinguished Name).

  • Un RDN est composé d'une ou plusieurs paires valeur-attribut dans l'entrée (par exemple cn=John Doe).
  • Le nom complet d'une entrée est le nom distinctif (DN - Distinguished Name), qui est la séquence de tous les RDN de la racine à cette entrée (par exemple cn=John Doe,ou=People,dc=example,dc=com).

2.4 Classes d'objets (Object Classes)

Chaque entrée possède un attribut spécial appelé objectClass.

  • La valeur de l'attribut objectClass détermine quels attributs l'entrée doit contenir (MANDATORY) et quels attributs elle est autorisée à contenir (OPTIONAL).
  • Les classes d'objets définissent le type d'entrée (par exemple person, organization, device).
  • Il existe trois types de classes d'objets :
    • ABSTRACT : Classe abstraite, ne peut pas être utilisée directement pour créer des entrées, peut seulement être héritée.
    • STRUCTURAL : Classe structurelle, définit le type principal de l'entrée. Chaque entrée doit appartenir à et seulement à une chaîne de classe structurelle.
    • AUXILIARY : Classe auxiliaire, utilisée pour ajouter des attributs supplémentaires aux entrées.

2.5 Descriptions d'attributs (Attribute Descriptions)

Les descriptions d'attributs identifient le type d'attribut et peuvent inclure des options (Options).

  • Format : attributetype;option;option
  • Les options courantes incluent les balises de langue (par exemple cn;lang-en).

3. Informations administratives et opérationnelles de l'annuaire

En plus des informations utilisateur, l'annuaire contient également des informations administratives et opérationnelles.

3.2 Sous-entrées (Subentries)

Les sous-entrées sont des entrées spéciales utilisées pour stocker des informations administratives (telles que le contrôle d'accès, les définitions de schéma). Les sous-entrées ne sont généralement pas visibles à moins d'être explicitement demandées dans une opération de recherche.

3.4 Attributs opérationnels (Operational Attributes)

Les attributs opérationnels sont maintenus par le serveur et utilisés pour gérer les opérations d'annuaire (tels que createTimestamp, creatorsName). Ils ne sont généralement pas renvoyés avec les attributs utilisateur normaux, sauf demande explicite.

4. Schéma d'annuaire (Directory Schema)

Le schéma définit les classes d'objets, les types d'attributs, les règles de correspondance et les syntaxes autorisés dans l'annuaire.

4.1 Définitions de schéma

LDAP permet la découverte et la lecture des informations de schéma via le protocole LDAP lui-même. Les informations de schéma sont stockées dans une sous-entrée spéciale appelée sous-entrée de sous-schéma (Subschema Subentry).

Les principales définitions d'éléments de schéma comprennent :

  • Object Class Definitions : Définit les classes d'objets.
  • Attribute Type Definitions : Définit les types d'attributs.
  • Matching Rule Definitions : Définit comment comparer les valeurs d'attributs.
  • Attribute Syntax Definitions : Définit le format de données des valeurs d'attributs.

4.2 Sous-entrée de sous-schéma

Les clients peuvent trouver la sous-entrée de sous-schéma contrôlant une entrée spécifique en interrogeant l'attribut subschemaSubentry du Root DSE.

5. Modèle d'information DSA (Serveur)

Un serveur LDAP (également appelé DSA - Directory System Agent) stocke non seulement les données d'annuaire, mais maintient également des informations sur son propre état et sa configuration. Ces informations sont généralement stockées dans le Root DSE.

5.1 Exigences de données spécifiques au serveur

Le Root DSE contient des attributs tels que supportedLDAPVersion, supportedSASLMechanisms, supportedExtension, etc., informant le client des capacités du serveur.

8. Considérations de sécurité

Ce document décrit le modèle d'information et n'implique pas directement de protocoles de sécurité, mais les définitions de schéma et le contrôle d'accès (via les sous-entrées) sont étroitement liés à la sécurité.


Note: Cette traduction est fournie à titre de référence. Veuillez consulter le RFC 4512 original pour les détails officiels.