Lightweight Directory Access Protocol (LDAP)

Origines et Objectifs

  1. Les services d'annuaires électroniques
  2. Problématique Historique
  3. Une standardisation unanime : LDAP
  4. LDAP en quelques faits

Les services d'annuaires électroniques

Un annuaire électronique est comparable à un annuaire papier : il s'agit d'un système conçu pour le stockage hiérarchique d'informations de types variables, et offrant un accès rapide aux informations qu'il contient.

Ces informations concernent typiquement plusieurs catégories d'éléments ayant trait à la gestion interne de l'entreprise :

Pour chacune de ces catégories, l'annuaire peut stocker plusieurs types d'informations différentes. Par exemple pour chaque personnel, on stockera le login d'accès aux ressources du SI, tandis que pour un ordinateur, on stockera par exemple son adresse MAC et/ou son adresse IP.

Les principales caractéristiques d'un annuaire électronique sont :

Problématique historique

La problématique de la conception d'un annuaire informatique est apparue dans les années 70 avec la création de systèmes d'exploitation multi-utilisateurs (comme Unix) et la création de réseaux de communication entre machines (comme ArpaNet).

Dès lors, de nombreuses solutions ont été développées, parmi lesquelles on peut citer :

On remarque dès lors deux principaux problèmes à ces solutions :

Par conséquent, pour les applications souhaitant communiquer avec un des annuaires cités ci-avant, il fallait une couche de communication spécifique, liée à une technologie propriétaire. Les applications exploitant des annuaires étaient, dès lors, peu nombreuses et coûteuses à développer.

Avec le développement de l'informatique en entreprise, le besoin de stocker hiérarchiquement des informations sur les ressources des SI et les personnes y accédant s'est accru dans un environnement communicant. Afin de simplifier l'accès aux informations de ces annuaires, un effort de standardisation d'un protocole d'accès a été réalisé par la communauté informatique et télécoms.

De ces efforts est née, en 1990, la norme X.500 de l'ITU-T, également référencée par l'ISO sous la référence ISO/IEC 9594 en Janvier 1991.

Le principe de X.500 est de définir un ensemble de normes complet permettant de définir un annuaire électronique hiérarchique, parmi lesquels un protocole nommé DAP permettant l'accès aux informations d'un annuaire. Cependant, X.500 était conçu pour s'intégrer dans les protocoles OSI, au niveau de la couche application, et non dans les protocoles fonctionnant au dessus de TCP/IP.

Une standardisation unanime : LDAP

De nombreuses critiques ont été adressées au protocole de communication DAP de la norme X.500, dont la lourdeur du protocole, et son incapacité à fonctionner au dessus de TCP/IP.

L'IETF a alors travaillé, dès le début des années 1990, à la création d'un protocole d'accès léger pour les annuaires électroniques stockant des informations sur le modèle des annuaires X.500, ce qui a donné abouti par la RFC 1487 - X.500 Lightweight Directory Access Protocol.

LDAP a ensuite été mis à jour en 1995 (RFC 1777 - LDAP v2) puis en 1997 avec la version 3 du protocole (RFC 2251). Il a également été complété par des spécifications pour l'utilisation sur TLS (sécurité des communications entre l'annuaire et le client) et des spécifications sur les réponses multiples à une requête unique (IntermediateResponse).

En 2006, un ensemble complet de RFC a été créé pour décrire en détail tous les aspects de LDAP :

Ainsi que plusieurs RFC définissant des modèles d'import/export de données et les algorithmes de synchronisation d'annuaires LDAP :

Aujourd'hui, LDAP est, de facto, le protocole le plus utilisé en entreprise pour les annuaires électroniques. Il en existe de nombreuses implémentations, et tous les langages proposent des bibliothèques permettant d'en simplifier l'accès au développeur.

LDAP en quelques faits

Cet exposé ne rentrera pas dans le détail du formatage des messages LDAP au niveau protocolaire, dans la mesure où de nombreuses bibliothèques de codes et API existent déjà pour simplifier l'accès à un annuaire utilisant LDAP.

Cependant, il aborde plutôt les aspects théoriques concernant la structuration d'un annuaire, et présente les technologies susceptibles d'intéresser à la fois les Administrateurs Systèmes et les développeurs.

Suite [Protocole et modèle de communication] >>>