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,
cnpourcommonName).
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
objectClassdé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.