Cours 6
Cours 6
Cours 6
ANNUAIRE LDAP
A. Guermouche
0
Plan
Introduction
Annuaire LDAP
Protocole LDAP
LDAP en pratique
1
Plan
Introduction
Annuaire LDAP
Protocole LDAP
LDAP en pratique
2
Objectifs
3
Le concept d’annuaire
Un annuaire est comme une base de données. . .
→ on peut y mettre des information 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
• ...
4
Le concept d’annuaire
Un annuaire est comme une base de données. . .
→ on peut y mettre des information 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.
Différences annuaires/SGBD : Dans un annuaire :
• pas de dépendances entre les objets stockés
• les objets peuvent être distribués sur plusieurs annuaires pour
assurer une meilleure disponibilité
• les applications de l’annuaire n’ont pas besoin de connaître la
structure interne des données stockées
4
Plan
Introduction
Annuaire LDAP
Protocole LDAP
LDAP en pratique
5
L’annuaire LDAP
6
Objectifs
7
Concepts
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.
8
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)
9
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
connexion et authentification
résultat authentification
recherche
message de résultat
Client abandon de session Serveur LDAP
déconnexion
9
Plan
Introduction
Annuaire LDAP
Protocole LDAP
LDAP en pratique
10
Le modèle d’information
Le modèle d’information définit le type des données pouvant être
stockées dans l’annuaire
• L’entrée (Entry) = élément de base de l’annuaire. Elle contient
les informations sur un objet de l’annuaire.
• Ces informations sont représentées sous la forme d’attributs
décrivant les caractéristiques de l’objet.
• Toute sorte de classe d’objet (réel ou abstrait) peut être
représentée.
• Le schéma de l’annuaire définit la liste des classes d’objets
qu’il connaît. Le Directory schema est la « charte » qui donne,
pour le serveur, l’ensemble des définitions relatives aux objets
qu’il sait gérer.
◦ Le schéma décrit les classes d’objets, leurs types d’attribut et leur
syntaxe.
◦ Chaque entrée de l’annuaire fait obligatoirement référence à une
classe d’objet du schéma et ne doit contenir que des attributs qui
sont rattachés au type d’objet en question.
11
Le modèle d’information
12
Le modèle d’information
top
person organisationalUnit
organisationalPerson
inetOrgPerson
15
Le modèle de nommage
Il définit comment les entrées de l’annuaire sont organisées et
comment elles sont référencées.
Structure arborescente contenant deux catégories d’objets :
• Structure logique hiérarchique : le DIT (Directory Information
Tree)
• Une entrée est identifiée par un nom unique : le DN
(Distinguish Name)
• RDN(Relative Distinguish Name)
root entry ou base DN
dc=labri,dc=fr
uid=toto
15
ou=People,dc=labri,dc=fr
Le format LDIF
LDIF → LDAP Interchange Format
• Standard de représentation des entrées sous format texte.
• Permet de :
◦ faire des imports/exports de la base ou d’une partie de la base
◦ créer, ajouter, modifier, . . . un grand nombre d’entrées de manière
automatisée
dn: uid=toto, ou=People, dc=labri, dc=fr
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
uid: toto
uidNumber: 44321
gidNumber: 200
homeDirectory: /home/toto
cn: toto titi
loginShell: /bin/bash
16
Le modèle fonctionnel
17
Le modèle de réplication
18
Le modèle de sécurité
19
Plan
Introduction
Annuaire LDAP
Protocole LDAP
LDAP en pratique
20
Mettre en place un annuaire LDAP
21
OpenLDAP
22
Configuration du serveur ldap(1/2)
23
Configuration du serveur ldap(1/2)
# par défaut
access to attrs=userPassword
by dn="cn=admin,dc=com" write # l’admin
by anonymous auth # droit de lecture lors du
bind
by self write # le propriétaire
by * none
access to dn.base="" by * read
# L’administrateur a un accès total en écriture, tous
# les autres utilisateurs peuvent tout lire.
access to *
by dn="cn=admin,dc=com" write
by * read
24
configuration du client LDAP
25
Authentification Unix via LDAP
26