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