LDAP LDAP
Lightweight Directory Access Protocol Lightweight Directory Access Protocol
Ce que pensent 100 directeurs Ce que pensent 100 directeurs
informatique de LDAP :
informatique de LDAP :
Sommaire Sommaire
Définitions et ConceptsDéfinitions et Concepts
HistoriqueHistorique
ModèlesModèles
Applications concrètesApplications concrètes
ConclusionConclusion
Sommaire Sommaire
Définitions et ConceptsDéfinitions et Concepts
HistoriqueHistorique
ModèlesModèles
Applications concrètesApplications concrètes
ConclusionConclusion
Définitions et concepts Définitions et concepts
► Un annuaire est un conteneur d’informations organisées.
► Exemples d’annuaires courants
annuaire téléphonique : Les Pages Jaunes
carnet d’adresses
catalogue de vente
► Un annuaire global célèbre très utilisé : DNS
il a un espace de nommage uniforme
Définitions et concepts Définitions et concepts
► Un annuaire est une base de données, mais une Un annuaire base de données n’est pas un annuaire
Lecture
Performance
Extensibilité
Communication entre serveurs
► Un annuaire n’est pas :
approprié à de fréquentes écritures
destiné à manipuler des données volumineuses
un substitut à un serveur FTP, un système de fichiers,...
Sommaire Sommaire
Définitions et ConceptsDéfinitions et Concepts
HistoriqueHistorique
ModèlesModèles
Applications concrètesApplications concrètes
ConclusionConclusion
Historique – X.500 (1) Historique – X.500 (1)
► Standard conçu par les opérateurs télécom pour Standard conçu par les opérateurs télécom pour interconnecter leurs annuaires téléphoniques.
interconnecter leurs annuaires téléphoniques.
► Destiné à devenir LE service d’annuaire GLOBAL Destiné à devenir LE service d’annuaire GLOBAL distribué, normalisé et fédérateur.
distribué, normalisé et fédérateur.
► Mais conçu aussi pour répondre à tout type de Mais conçu aussi pour répondre à tout type de besoin d’annuaire grâce à un modèle de données besoin d’annuaire grâce à un modèle de données
de type objet et extensible.
de type objet et extensible.
Historique – X.500 (2) Historique – X.500 (2)
►X.500 définit :X.500 définit :
►les règles pour nommer les objets et les les règles pour nommer les objets et les entités
entités
►les protocoles pour fournir le service les protocoles pour fournir le service d’annuaire
d’annuaire
►un mécanisme d’authentification.un mécanisme d’authentification.
Historique – X.500 (3)
Historique – X.500 (3)
Historique – X.500 (4) Historique – X.500 (4)
Atouts d’X.500Atouts d’X.500 : :
► scalability, fonctions de recherche évoluées, scalability, fonctions de recherche évoluées, distribué (données et administration),ouvert distribué (données et administration),ouvert
Défauts d’X.500Défauts d’X.500 : :
► implémentations très lourdes, buggées et implémentations très lourdes, buggées et difficilement interopérables, basé sur les difficilement interopérables, basé sur les
protocoles ISO, contraire à la culture internet protocoles ISO, contraire à la culture internet
EchecEchec : les ambitions d’X.500 n’ont pas été : les ambitions d’X.500 n’ont pas été atteintes
atteintes
Historique – LDAP (1) Historique – LDAP (1)
LDAP né en 1993 de l’adaptation du LDAP né en 1993 de l’adaptation du protocole DAP au protocole TCP/IP protocole DAP au protocole TCP/IP
RFC en pagailleRFC en pagaille
►LDAPv1 : RFC 1487LDAPv1 : RFC 1487
►LDAPv2 : RFC 1777LDAPv2 : RFC 1777
►LDAPv3 : de RFC 2251 à 2256 (1997)LDAPv3 : de RFC 2251 à 2256 (1997)
LDAP garde beaucoup d’aspects de X.500, LDAP garde beaucoup d’aspects de X.500, mais va dans le sens de la simplification et mais va dans le sens de la simplification et
de la performance.
de la performance.
Historique – LDAP (2)
Historique – LDAP (2)
Sommaire Sommaire
Définitions et ConceptsDéfinitions et Concepts
HistoriqueHistorique
ModèlesModèles
Applications concrètesApplications concrètes
ConclusionConclusion
Concepts de LDAP Concepts de LDAP
Le standard LDAP définit : Le standard LDAP définit :
Un protocole, cad comment accéder à Un protocole, cad comment accéder à l’information stockée.
l’information stockée.
4 modèles :4 modèles :
►information information
►désignation = nommage.désignation = nommage.
►services = fonctionnel.services = fonctionnel.
►sécuritésécurité
Le protocole Le protocole
Le fonctionnement Client-ServeurLe fonctionnement Client-Serveur
►URL : ldap://… RFC 2255URL : ldap://… RFC 2255
►BERBER
commandes pour se connecter ou se commandes pour se connecter ou se
déconnecter, pour rechercher, comparer, déconnecter, pour rechercher, comparer,
créer, modifier ou effacer des entrées.
créer, modifier ou effacer des entrées.
Le fonctionnement Serveur-ServeurLe fonctionnement Serveur-Serveur LDUP (LD Update P)
LDUP (LD Update P)
Le modèle d’information (1) Le modèle d’information (1)
►modèle objetmodèle objet
►Objets = ensemble de valeursObjets = ensemble de valeurs
►A une valeur est associé un type d’ attribut : A une valeur est associé un type d’ attribut : définit la syntaxe.
définit la syntaxe.
►Classe d’objets (notion d’héritage)Classe d’objets (notion d’héritage)
►OID identifient les attributs, syntaxes et OID identifient les attributs, syntaxes et classes d’objets.
classes d’objets.
Liste des attributs = RFC2252 & RFC2256 Liste des attributs = RFC2252 & RFC2256
Le modèle d’information (2)
Le modèle d’information (2)
Le modèle de désignation (1) Le modèle de désignation (1)
►Arborescence hiérarchique (DIT)Arborescence hiérarchique (DIT)
►définit comment sont organisées les entrées définit comment sont organisées les entrées de l’annuaire et comment elles sont
de l’annuaire et comment elles sont référencées.
référencées.
►l’identification d’une entrée se fait à l’aide l’identification d’une entrée se fait à l’aide d’un nom absolu, le Distinguish Name (DN) d’un nom absolu, le Distinguish Name (DN)
unique.
unique.
►DN divisé en Noms relatifs (RDN)DN divisé en Noms relatifs (RDN)
Le modèle de désignation (2)
Le modèle de désignation (2)
Modèle des services (1) Modèle des services (1)
Définit les fonctions offertes :Définit les fonctions offertes :
►la connexion, déconnexionla connexion, déconnexion
►la notification (de déconnexion)la notification (de déconnexion)
►la mise à jourla mise à jour
►les services annexes (abandon d'une les services annexes (abandon d'une opération en cours, extensions)
opération en cours, extensions)
Offre des fonctions de recherche avancéeOffre des fonctions de recherche avancée
Modèle des services (2)
Modèle des services (2)
Modèle de sécurité Modèle de sécurité
Le modèle définit les méthodes :Le modèle définit les méthodes :
►d'authentificationd'authentification
►d'intégrité des informations échangéesd'intégrité des informations échangées
►de confidentialitéde confidentialité
►d'habilitations (accès lecture/écriture).d'habilitations (accès lecture/écriture).
Sommaire Sommaire
Définitions et ConceptsDéfinitions et Concepts
HistoriqueHistorique
ModèlesModèles
Applications concrètesApplications concrètes
ConclusionConclusion
DEN : Directory Enabled Networking DEN : Directory Enabled Networking
►Initiative de Microsoft et Cisco en 1997Initiative de Microsoft et Cisco en 1997
►Partage d’informations dans un annuaire Partage d’informations dans un annuaire entre éléments réseaux
entre éléments réseaux
►Permet QoS et facilité d’administration du Permet QoS et facilité d’administration du réseau
réseau
DEN DEN
Server Cache LDAPLDAP
Policy Engine
Policy Engine
Security
Addresses
RADIUS
DNS/DHCP
LDAPLDAP
Distributed
Policy Enforcement Intelligent Infrastructure Central Policy
Repository
Services and SLAs User and Devices Profiles and Policies
Policy Engine
QoS
LDAPLDAP
Microsoft Active Directory Microsoft Active Directory
►LDAP propriétaire mais :LDAP propriétaire mais :
►Lisible par tout client LDAPLisible par tout client LDAP
►Par contre la création d’objets doit passer Par contre la création d’objets doit passer par les interfaces fournies (LDIFDE)
par les interfaces fournies (LDIFDE)
►Nécessite connaissance de l’arborescence Nécessite connaissance de l’arborescence propriétaire (attributs obligatoires non
propriétaire (attributs obligatoires non normalisés).
normalisés).
Novell NDS Novell NDS
NDS est un annuaire généraliste décliné en deux NDS est un annuaire généraliste décliné en deux versions :
versions :
► NDS eDirectory dédié aux applications Internet NDS eDirectory dédié aux applications Internet et aux extranets
et aux extranets
► NDS Corporate Edition dédié aux intranet.NDS Corporate Edition dédié aux intranet.
Particularité de NDS :Particularité de NDS :
► il fonctionne en environnement Netware ou il fonctionne en environnement Netware ou windwsNT ou Solaris
windwsNT ou Solaris
► il supporte LDAP v.3il supporte LDAP v.3
► il offre un outil permettant d'importer et il offre un outil permettant d'importer et d'exporter des données au format LDIF d'exporter des données au format LDIF
Commerce électronique Commerce électronique
►Partage des profils utilisateurs grâce à LDAPPartage des profils utilisateurs grâce à LDAP
►Une base pour plusieurs sitesUne base pour plusieurs sites
►Différents logiciels :Différents logiciels :
SUN : iPlanet E-Commerce SolutionsSUN : iPlanet E-Commerce Solutions
Microsoft : SiteServer Commerce EditionMicrosoft : SiteServer Commerce Edition
IBM : WebSphere Commerce SuiteIBM : WebSphere Commerce Suite
Oblix : Oblix E-BusinessOblix : Oblix E-Business
BroadVision : BroadVision One-to-OnBroadVision : BroadVision One-to-On
Certificats X509 Certificats X509
Infrastructure à clés publiques (PKI)Infrastructure à clés publiques (PKI)
► authentifier des utilisateurs et des services authentifier des utilisateurs et des services
► gérer des habilitationsgérer des habilitations
Certificats :Certificats :
► authentification, authentification,
► signature et chiffrement des données signature et chiffrement des données
outil basé sur un standard accessible de outil basé sur un standard accessible de
différentes plateformes et permettant de stocker différentes plateformes et permettant de stocker
ces certificats, de rechercher…
ces certificats, de rechercher…
iPlanet de Sun, NDS de Novell, SecureWay iPlanet de Sun, NDS de Novell, SecureWay Directory d'IBM
Directory d'IBM
SSO : Single Sign On SSO : Single Sign On
►Une seule authentification permet l’accès à Une seule authentification permet l’accès à différentes applications.
différentes applications.
►Nécessite un Policy Server.Nécessite un Policy Server.
►SiteMinder de Netegrity, getAccess de SiteMinder de Netegrity, getAccess de enCommerce.
enCommerce.
Meta-annuaire Meta-annuaire
►Référentiel unique de plusieurs applications Référentiel unique de plusieurs applications hétérogènes
hétérogènes
►basé soit sur la réplication des donnéesbasé soit sur la réplication des données
►soit sur un annuaire virtuel soit sur un annuaire virtuel
API disponibles API disponibles
►API C : API C : #include <ldap.h>#include <ldap.h>
►API Java : API Java : import javax.naming.*;import javax.naming.*;
NetscapeNetscape
JNDI (Java Naming and Directory Interfaces)JNDI (Java Naming and Directory Interfaces)
►ADSI (Active Directory Service Interface)ADSI (Active Directory Service Interface)
C, C++, VB, VBScript, JavaScript, VBA, ASPC, C++, VB, VBScript, JavaScript, VBA, ASP
LDIF LDIF
►LDAP Data Interchange FormatLDAP Data Interchange Format
►Permet l'ajout, la suppression et la Permet l'ajout, la suppression et la
modification des données de l'annuaire modification des données de l'annuaire
Conclusion Conclusion
►Futur == Meta-annuairesFutur == Meta-annuaires
►Un lien très intéressant (JRES 2003)Un lien très intéressant (JRES 2003)