2A-SI 5 – Services et Applications 5.1 – Annuaires LDAP

Transcription

2A-SI 5 – Services et Applications 5.1 – Annuaires LDAP
2A-SI
5 – Services et Applications
5.1 – Annuaires LDAP
Stéphane Vialle
[email protected]
http://www.metz.supelec.fr/~vialle
Support de cours élaboré avec l’aide de l’équipe pédagogique du cours de SI
Services et Applications Internet
Annuaires : définitions (1)
• Un annuaire électronique est :
– une base de donnée spécialisée,
– dont la fonction première est de
retourner un ou plusieurs attributs
d'un objet grâce à des fonctions
de recherche multi-critères,
– qui stocke des informations sous une forme hiérarchique/arborescente
liée à la sémantique des données (et non pas relationnelle).
• Contrairement à un SGBD :
– un annuaire est très performant en lecture,
– mais l'est beaucoup moins en écriture.
• Sa fonction peut être (du point de vue utilisateur) :
– de servir d'entrepôt pour centraliser des informations et les rendre
disponibles, via le réseau à des applications, des systèmes
d'exploitation ou des utilisateurs.
– mais sa réalisation peut être distribuée/répartie/répliquée (voir + loin).
1
Services et Applications Internet
Annuaires : définitions (2)
Accès unifié à des données variées :
Utilisateurs
• Comptes
• Privilèges
• Profils
• Stratégies
Applications
• Configuration
• Sécurité
• Paramètres
• Stratégies
• Données
Messagerie
• Boîtes aux lettres
• Stratégies
• Carnets d’adresses
Postes
• Profils
• Réseau
• Stratégies
Accès à l’information ?
Administration ?
Annuaires
• Utilisateurs
• Postes
• Serveurs
Serveurs
• Profils
• Réseau
• Services
• Imprimantes
• Partages
• Stratégies
Réseau
• Téléphonie
• Configuration
• QoS
• Sécurité
Firewall
• Configuration
• Sécurité
Internet • Stratégie VPN
Tout ce qui peut entrer dans la spécification d’un SI à intérêt à se
retrouver dans l’annuaire, pour être facilement accessible
Services et Applications Internet
Annuaires : définitions (3)
Rôle :
• « Référentiel distribué offrant une vision consolidée des
informations de l’Entreprise »
• Joue un rôle pour les applications aussi important que
celui de DNS pour un réseau TCP/IP.
Evolution :
1988 : annuaire X500 (DAP : Directory Access Protocol)
développé pour l’OSI
1993 : LDAP (Lightweight Directory Access Protocol)
annuaire natif allégé
 LDAP tend à devenir la brique de base des futurs bus
de données applicatifs (« on l’utilise de partout »).
2
Services et Applications Internet
Annuaires : définitions (4)
Principales caractéristiques des annuaires :
• Optimisés pour répondre à des recherches multi-critères
(requêtes complexes sur des attributs variés)
• Hiérarchisation des informations stockées
• Plus sollicités en lecture qu’en écriture
• Peuvent monter en charge tout en gardant un haut niveau
de performance en lecture
• Peuvent être sollicités à distance par tous et à travers des
débits réseau faibles
• Doivent pouvoir communiquer/être liés entre eux
5
Services et Applications Internet
LDAP : concepts (1)
application
LDAP est un protocole d'annuaire standard et
extensible qui comprend :
application programming
interface (API)
LDAP client
LDAP protocol
LDAP server
information
model
functional
model
naming model
security model
data exchange
model
data
duplication
model
data
3
Services et Applications Internet
LDAP : concepts (2)
application
application programming
interface (API)
LDAP client
LDAP est un protocole d'annuaire standard et
extensible qui comprend :
LDAP protocol
• le protocole réseau permettant d'accéder à
l'information contenue dans l'annuaire,
• un modèle d'information définissant le type
de données contenues dans l'annuaire,
• un modèle de nommage définissant
comment l'information est organisée et
référencée,
• un modèle fonctionnel qui définit comment
on accède à l'information,
LDAP server
information
model
functional
model
naming model
data exchange
model
data
duplication
model
data
security model
Services et Applications Internet
LDAP : concepts (3)
application
application programming
interface (API)
LDAP client
LDAP est un protocole d'annuaire standard et
extensible qui comprend :
LDAP protocol
• un modèle de sécurité qui définit comment
données et accès sont protégés,
• un modèle de duplication qui définit
comment la base est répartie entre serveurs,
• des APIs pour développer des applications
clientes,
• LDIF et XDML, des formats d'échange de
données.
LDAP server
information
model
functional
model
naming model
security model
data exchange
model
data
duplication
model
data
4
Services et Applications Internet
LDAP : modèle d’information (1)
Exemple de modélisation hiérarchique
• La structure de l’annuaire LDAP
est appelée « DIT » (Directory
Information Tree).
• La racine de l’arbre (BaseDN ou
suffix) est utilisé comme nom
pour désigner l’annuaire.
• Chaque nœud du DIT
correspond à une entrée (entry)
de l’annuaire.
• Le DIT peut être monolithique ou
réparti sur plusieurs annuaires :
• grand nombre d’entrées,
• gestion des entrées faite sur
différents sites,
• organisation du SI et de
l’entreprise, …
Services et Applications Internet
LDAP : modèle d’information (2)
• L’annuaire est un arbre d’entrées (directory = tree of entries)
• Une entrée/un objet possède :
– un distinguished name (DN) : concaténation du DN du
noeud parent + l’ID de l’entrée (construction récursive),
– un ensemble d’attributs appartenant à la classe de l’objet/de
l’entrée.
DN de deux
entrées situées
dans des
branches
différentes
Voir le « modèle
de nommage »
+ loin
5
Services et Applications Internet
LDAP : modèle d’information (3)
• Le schéma (directory schema) : représente la liste des classes
utilisables :
– Une classe se définit par : son nom, un ensemble d’attributs
obligatoires et un ensemble d’attributs optionnels.
– Un attribut se définit par : un nom, un type, une valeur
simple ou multiple, une syntaxe et des règles de
comparaison (case sensitive…), le format et la limite des
valeurs.
– L’ensemble des classes forme une hiérarchie, et un objet
hérite des attributs de ses parents.
– Une certaine standardisation dans la définition des classes
et des attributs mènent à une interopérabilité des logiciels
Services et Applications Internet
LDAP : modèle d’information (4)
Résumé du modèle d’information :
– Il définit les types de données pouvant être stockées dans
l’annuaire : les classes des objets/entrées de l’annuaire.
– Les informations de chaque objet/nœud sont représentées
sous la forme d’attributs décrivant les caractéristiques de
l’objet (attributs obligatoires et optionnels).
– Chaque objet de l’annuaire est associé à une entrée (il est
une « entry »).
– Toutes sortes de classes d’objets (réelles ou abstraites)
peuvent être représentées, et forme une hiérarchie.
– Le schéma de l’annuaire définit l’ensemble des classes
d’objets qu’il connaît.
6
Services et Applications Internet
LDAP : modèle de nommage (1)
Le modèle de nommage définit
comment les entrées sont organisées
et référencées.
Services et Applications Internet
LDAP : modèle de nommage (2)
Le modèle de nommage définit
comment les entrées sont organisées
et référencées.
Une entrée est définie par son
“Distinguish Name” (DN) :
• Il est composé de la séquence des
noms d’entrées depuis l’entrée
considérée jusqu’à la racine,
séparés par des “,”.
Ex : cn=Jane Doe,ou=marketing,
dc=example,dc=com
• Un DN référence une entrée
unique dans le DIT.
L’attribut utilisé à chaque niveau pour
participer au DN doit garantir l’unicité
du DN pour chaque entrée.
7
Services et Applications Internet
LDAP : modèle de nommage (3)
Le modèle de nommage définit
comment les entrées sont organisées
et référencées.
Une entrée peut faire référence à une
autre, dans le même répertoire ou
dans un autre.
Services et Applications Internet
LDAP : modèle fonctionnel
d’Interrogation-Recherche (1)
Opérations possibles sur le DIT :
• utilisation de protocoles sécurisés au niveau des sessions d’utilisation
• bond ("bind") et disconnect : démarre/termine une session en vérifiant
l’identité du client.
• consultation de l’annuaire
– research and reading: sélectionne les entrées qui vérifient certains
critères et retourne les valeurs de certains attributs, précise le
"scope" à utiliser (base, one (level), subtree), on peut aussi préciser
de suivre les liens vers d’autres répertoires, ou limiter le temps de la
recherche…
– compare: teste si une entrée contient un attribut avec une valeur
donnée.
• change : modifie une entrée (ajout/suppression d’attributs ou de valeurs),
ajoute ou supprime une entrée, et renomme ou déplace une entrée.
• undo : annule la dernière opération
8
Services et Applications Internet
LDAP : modèle fonctionnel
d’Interrogation-Recherche (2)
Consultation par search : arguments de la commande
•
•
•
•
•
•
•
base : où démarrer la recherche dans le DIT (on fournit un DN)
scope : on précise la “profondeur” de la recherche
suivi des liens rencontrés, ou non (follow links (or not))
nombre maximum de réponses à retourner
temps maximum alloué à la recherche
retour demandé des types des attributs ou aussi de leurs valeurs
filtre de recherche : conditions sur les attributs
Ex : (&(objectclass=inetOrgPerson)(!(mail=*)))
 returns all entries for objects of class ‘inetOrgPerson’
(the user type) with a void email
• liste des attributs intéressants (que l’on veut dans la réponse)
Services et Applications Internet
LDAP : modèle fonctionnel
d’Interrogation-Recherche (3)
En ciblant l’entrée de départ dans le DIT et la profondeur de recherche
(le scope)  on fouille différemment le DIT (différentes parties du DIT)
dc=supelec,dc=fr
dc=metz
dc=supelec,dc=fr
dc=metz
dc=supelec,dc=fr
dc=metz
« Pratique ! »
Mécanismes
de recherche
bien adaptés
aux besoin de
gestion des SI
Scope = Base
Scope = OneLevel
Scope = Subtree
9
Services et Applications Internet
LDAP : modèle fonctionnel
d’Interrogation-Recherche (4)
Opérateurs possibles pour exprimer la condition de filtrage :
&
|
!
~=
>=
<=
*
=
=
=
=
=
=
=
and
or
not
approx equal
greater than or equal
less than or equal
any
Exemples de filtrages :
•
•
•
•
(objectclass=posixAccount)
(cn=Mickey M*)
(|(uid=fred)(uid=bill))
(&(|(uid=jack)(uid=jill))(objectclass=posixAccount))
Services et Applications Internet
LDAP : modèle fonctionnel
d’Interrogation-Recherche (5)
Consultation: compare
• équivalent à search
• mais retourne true/false, selon que l’attribut testé existe ou non, ou
contient la bonne valeur ou non
10
Services et Applications Internet
LDAP : ex. de déploiement
Comptes
Unix
Comptes
Windows
WWW
Auth Auth
SMTP
Synchro
Internet
LDAP
Alias
POP
Auth
Règles ACL
Annuaires
Directory
Database
rcisco
Si
Auth
PABX
IP
BAL
MAIL
EAP
Rmq : l’annuaire se retrouve
au cœur du SI (s’il tombe en
panne plus rien ne marche!)
PPP
3640 RAS
CHAP Modems
RADIUS
WIFI
REZ
21
11

Documents pareils