Lightweight Directory Access Protocol LDAP Lightweight Directory Access Protocol
Ce que pensent 100 directeurs informatique de LDAP :
Sommaire Définitions et Concepts Historique Modèles Applications concrètes Conclusion
Sommaire Définitions et Concepts Historique Modèles Applications concrètes Conclusion
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 il est distribué entre des serveurs coopérants
Définitions et concepts Un annuaire est une base de données, mais une 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 Définitions et Concepts Historique Modèles Applications concrètes Conclusion
Historique – X.500 (1) Standard conçu par les opérateurs télécom pour interconnecter leurs annuaires téléphoniques. Destiné à devenir LE service d’annuaire GLOBAL distribué, normalisé et fédérateur. Mais conçu aussi pour répondre à tout type de besoin d’annuaire grâce à un modèle de données de type objet et extensible.
Historique – X.500 (2) X.500 définit : les règles pour nommer les objets et les entités les protocoles pour fournir le service d’annuaire un mécanisme d’authentification.
Historique – X.500 (3) Le DUA (Directory User Agent) : client interrogant l'annuaire. Demande ou mise à jour d'informations sous forme de requêtes. Le DSA (Directory System Agent) : système comprenant la base de données (DIB : Directory Information Base). C'est le serveur d'annuaire. Le protocole DAP (Directory Access Protocol) : protocole de communication entre un client et un serveur X500 décrivant la façon dont les requêtes, les résultats et les erreurs sont échangés entre eux. DAP s'appuie sur ROSE (Remote Operations Service) et sur ACSE (Association Control Service). Ces deux derniers standards sont complexes, et c'est la raison pour laquelle ils ont été simplifiés pour fonctionner sur TPC/IP, donnant tout d'abord lieu à des implémentations de DAP sur IP puis LDAP (Lightweight DAP). Le protocole DSP (Directory System Protocol) : protocole de communication entre deux serveurs X500. Le protocole DISP (Directory Information Shadowing Protocol) : protocole permettant la réplication entre un DSA maître (supplier) et un DSA esclave (consumer).
Historique – X.500 (4) Atouts d’X.500 : scalability, fonctions de recherche évoluées, distribué (données et administration),ouvert Défauts d’X.500 : implémentations très lourdes, buggées et difficilement interopérables, basé sur les protocoles ISO, contraire à la culture internet Echec : les ambitions d’X.500 n’ont pas été atteintes
Historique – LDAP (1) LDAP né en 1993 de l’adaptation du protocole DAP au protocole TCP/IP RFC en pagaille LDAPv1 : RFC 1487 LDAPv2 : RFC 1777 LDAPv3 : de RFC 2251 à 2256 (1997) LDAP garde beaucoup d’aspects de X.500, mais va dans le sens de la simplification et de la performance. Derniere RFC ldap v3 est RFC3377 datant de septembre 2002 mais qui revoit sur les 2251 à 2256 + les RFC sécuité 2830 2829
Historique – LDAP (2)
Sommaire Définitions et Concepts Historique Modèles Applications concrètes Conclusion
Concepts de LDAP Le standard LDAP définit : Un protocole, cad comment accéder à l’information stockée. 4 modèles : information désignation = nommage. services = fonctionnel. sécurité
Le protocole Le fonctionnement Client-Serveur URL : ldap://… RFC 2255 BER commandes pour se connecter ou se déconnecter, pour rechercher, comparer, créer, modifier ou effacer des entrées. Le fonctionnement Serveur-Serveur LDUP (LD Update P) Les dialogues n'utilisent pas le code ASCII mais le BER (Basic Encoding Rule). Au sein de l'IETF, un groupe de travail se réunit pour définir le format d'échange entre serveurs LDAP. Ce groupe est composé, entre autres, de l'Alliance Sun/Netscape, d'IBM et de Novell. Le format d'échange est appelé LDUP (LDAP Directory Update Protocol). Il définit les mécanismes de synchronisation des données entre serveurs ainsi que la gestion des conflits. Actuellement, le travail n'est pas finalisé mais permettra, à terme, aux serveurs LDAP, quels qu'ils soient, de répliquer tout ou partie de leurs données vers un serveur d'un autre éditeur.
Le modèle d’information (1) modèle objet Objets = ensemble de valeurs A une valeur est associé un type d’ attribut : définit la syntaxe. Classe d’objets (notion d’héritage) OID identifient les attributs, syntaxes et classes d’objets. Liste des attributs = RFC2252 & RFC2256
Le modèle d’information (2) l unité d'information stockée de base est une entrée. une entrée sont composées d attributs qui contiennent des info sur les objets. chaque attribut a un type et une ou plusieurs valeurs
Le modèle de désignation (1) Arborescence hiérarchique (DIT) définit comment sont organisées les entrées de l’annuaire et comment elles sont référencées. l’identification d’une entrée se fait à l’aide d’un nom absolu, le Distinguish Name (DN) unique. DN divisé en Noms relatifs (RDN) Le Distinguished name (DN) Référence de manière unique une entrée du DIT Chaque composant du DN est appelé Relative Distinguished Name (RDN).
Le modèle de désignation (2) chaque cadre reprensente une entrée dans l annuaire les attributs sont listés dans chaque entrée on voit que c est hierarchique : en haut le pays en bas, un utilisateur, une imprimante... Exemple de DIT
Modèle des services (1) Définit les fonctions offertes : la connexion, déconnexion la notification (de déconnexion) la mise à jour les services annexes (abandon d'une opération en cours, extensions) Offre des fonctions de recherche avancée
Modèle des services (2) Exemple de recherche… On définit une profondeur pour délimiter la recherche On définit un point de départ cad le nœud a partir duquel on veut chercher On spécifie des criteres de recherche On spécifie aussi les attributs à retourner…
Modèle de sécurité Le modèle définit les méthodes : d'authentification d'intégrité des informations échangées de confidentialité d'habilitations (accès lecture/écriture). L'authentification permet à l'utilisateur (personne ou application) de se présenter au serveur. Il s'agit d'un couple (login/mot de passe) qui correspond à une personne/application de l'annuaire. Les habilitations gèrent les droits (lecture/écriture) des données par les utilisateurs connectés. La confidentialité concerne le cryptage des données et des transferts afin qu'aucune personne ne puisse y accéder sans y avoir été autorisée. Le modèle de sécurité décrit aussi la méthode d'échange des données afin que les données reçues soient identiques à celles envoyées.
Sommaire Définitions et Concepts Historique Modèles Applications concrètes Conclusion
DEN : Directory Enabled Networking Initiative de Microsoft et Cisco en 1997 Partage d’informations dans un annuaire entre éléments réseaux Permet QoS et facilité d’administration du réseau
Intelligent Infrastructure Central Policy Repository DEN Server Cache LDAP Policy Engine Security Addresses RADIUS DNS/DHCP Distributed Policy Enforcement Intelligent Infrastructure Central Policy Repository Services and SLAs User and Devices Profiles and Policies QoS
Microsoft Active Directory LDAP propriétaire mais : Lisible par tout client LDAP Par contre la création d’objets doit passer par les interfaces fournies (LDIFDE) Nécessite connaissance de l’arborescence propriétaire (attributs obligatoires non normalisés).
Novell NDS NDS est un annuaire généraliste décliné en deux versions : NDS eDirectory dédié aux applications Internet et aux extranets NDS Corporate Edition dédié aux intranet. Particularité de NDS : il fonctionne en environnement Netware ou windwsNT ou Solaris il supporte LDAP v.3 il offre un outil permettant d'importer et d'exporter des données au format LDIF
Commerce électronique Partage des profils utilisateurs grâce à LDAP Une base pour plusieurs sites Différents logiciels : SUN : iPlanet E-Commerce Solutions Microsoft : SiteServer Commerce Edition IBM : WebSphere Commerce Suite Oblix : Oblix E-Business BroadVision : BroadVision One-to-On Ex site web vendant des billets d avion, reservation de chambre d hotel, location de voiture necessite des sites Internet et des systèmes d informations différents. Connection à des systemes d information de compagnies aériennes, consultation des hotels pour chambre dispo Tout ca necessite de se baser sur un standard assurant l interopérabilité des différents systemes.
Certificats X509 Infrastructure à clés publiques (PKI) authentifier des utilisateurs et des services gérer des habilitations Certificats : authentification, signature et chiffrement des données outil basé sur un standard accessible de différentes plateformes et permettant de stocker ces certificats, de rechercher… iPlanet de Sun, NDS de Novell, SecureWay Directory d'IBM
SSO : Single Sign On Une seule authentification permet l’accès à différentes applications. Nécessite un Policy Server. SiteMinder de Netegrity, getAccess de enCommerce.
Meta-annuaire Référentiel unique de plusieurs applications hétérogènes basé soit sur la réplication des données soit sur un annuaire virtuel Referentiel unique grace à une synchronisation de plusieurs applications hétérogènes provenant de systemes hétérogènes (UNIX, Windows, Linux…..) Chaque application ayant son propre fonctionnement et sa propre façon de gérer les données. le méta annuaire basé sur la réplication des données grâce à un système de synchronisation bidirectionnel et permanent le méta annuaire basé sur un annuaire virtuel stocké dans une base centrale. Les informations sources sont lues là où elles se trouvent à chaque requête.
API disponibles API C : #include <ldap.h> API Java : import javax.naming.*; Netscape JNDI (Java Naming and Directory Interfaces) ADSI (Active Directory Service Interface) C, C++, VB, VBScript, JavaScript, VBA, ASP API C : Une norme d'API C existe pour LDAP v2. Pour LDAP v3, la norme est en cours. Les différents kits de développement disponibles sur le marché sont inspirés de la norme. Il s'agit des kits fournis par Netscape, IBM et Microsoft (visual C++). API Java : JNDI (Java Naming and Directory Interfaces), édité par Sun. Cette API permet la recherche de fichiers sur 1 disque, la recherche de serveurs par leur nom. Chaque fonction est appelée par l'intermédiaire de connecteurs. ADSI (Active Directory Service Interface), fourni par Microsoft. Cette interface gère des objets COM qui s'utilise via des connecteurs. Il existe 3 types de connecteurs : LDAP v3, base de registre Windows et annuaire Novell.
LDIF LDAP Data Interchange Format Permet l'ajout, la suppression et la modification des données de l'annuaire LDIF (LDAP Data Interchange Format) définit une norme d'échange entre un serveur LDAP et un fichier texte ASCII.
Conclusion Futur == Meta-annuaires Un lien très intéressant (JRES 2003)
Place aux questions…