ADMINISTRATION DES SYSTÈMES ET DES RÉSEAUX
Partie 6 - LDAP
Formateur : Bertrand Copin
Qu’est ce que LDAP
• Définition :
Lightweight Directory Access
Protocol (LDAP) est à l'origine
un protocole permettant l'interrogation
et la modification des services
d'annuaire (il est une évolution du
protocole DAP). Ce protocole repose
sur TCP/IP
Concept d’annuaire
Un annuaire est comme une base de données. On peut y mettre des informations et
les consulter Cependant un annuaire est spécialisé :
→ Dédié à la lecture plus qu’à l’écriture
→ L’accès aux données se fait par des recherches multi-critères.
Son objectif est de maintenir de façon cohérente et contrôlée une grande quantité de
données.
Exemples d’annuaire :
• carnet d’adresses
• annuaire téléphonique
• répertoire des rues • . . .
Concept d’annuaire
LDAP → Lightweight Directory Access Protocol Héritier de l’annuaire X500 (proposé
par l’ISO)
• standard conçu par les opérateurs télécom pour interconnecter leurs annuaires
téléphoniques
• X500 adapté à l’internet
→ LDAP (même modèle de schéma, . . . )
Concept d’annuaire
LDAP a été proposé en 1995 :
• Standard d’annuaire au dessus de TCP/IP
◦ Le protocole ne concerne pas le contrôle d’accès aux données de l’annuaire •
version 3 actuellement (RFC 2251)
• aussi RFC 2252 à 2256, RFC 2829 à 2830, RFC 2849
Objectif
LDAP définit : un protocole. accéder à l’information contenue dans l’annuaire, un
modèle d’information.
le type des informations contenues dans l’annuaire,
un modèle de nommage. comment l’information est organisée et référencée,
un modèle fonctionnel. comment accéder à l’information (syntaxe des requêtes,etc. .
. ), un modèle de sécurité.
comment données et accès sont protégés, un modèle de duplication. comment la
base est répartie entre serveurs, des API.
pour développer des applications clientes, LDIF. un format d’échange de données.
Protocole LDAP
Le protocole définit :
• Comment s’établit la communication client-serveur : → commandes pour se
connecter ou se déconnecter, pour rechercher, comparer, créer, modifier ou effacer
des entrées.
• Comment s’établit la communication serveur-serveur : → échanger leur contenu et
le synchroniser (réplication service) → créer des liens permettant de relier des
annuaires les uns aux autres (referral service).
• Le format de transport de données : → pas l’ASCII (comme pour HTTP, SMTP. . . )
mais le Basic Encoding Rules (BER), sous une forme allégée (appelée LBER :
Lightweight BER)
Protocole LDAP
Le protocole définit (suite) :
• Les mécanismes de sécurité : →
méthodes de chiffrement et
d’authentification → mécanismes de
règles d’accès aux données.
• Les opérations de base : interrogation :
search, compare mise à jour : add, delete,
modify, rename connexion au service :
bind, unbind, abandon
Protocole LDAP
Il décrit le moyen d’accéder aux données (syntaxe des requêtes) et les
requêtes que l’on peut leur appliquer. Rappel des opérations de
consultation/mise-à-jour
• opérations d’interrogation : recherche (search) et comparaison (compare)
d’entrées
• opérations de mise-à-jour des entrées de l’annuaire : add, delete, modify,
rename Il n’y a pas d’opération de lecture d’une entrée
→ pour connaître le contenu d’une entrée, il est nécessaire d’écrire une
requête qui pointe sur cette entrée.
Protocole LDAP
Il définit comment dupliquer l’annuaire sur plusieurs serveurs.
• améliorer le temps de réponse
• être tolérant aux pannes Deux types de serveurs LDAP supplier server:
fournit les données consumer server: reçoit les données du maître Possibilité
de partitionner l’annuaire (éclatement sur plusieurs serveurs)
• liens virtuels entre les différentes partitions (referral service)
Protocole LDAP
Il faut bien choisir les schémas
• Quelles informations veut-on stocker dans l’annuaire?
• Quelles sont les applications qui vont utiliser l’annuaire? Il faut réfléchir a
l’organisation du DIT
• impact sur la performance, les droits d’accès, . . . Puis dans un deuxième
temps
• gestion centralisée sur un seul serveur?
• nombre de serveurs redondants? Emplacement?
Questions ?
Formateur : Bertrand Copin
Linkedin : [Link]