L'annuaire devient une des pièces centrales d'un système d'information, il convient donc de veiller à ce que celui soit réglementé au niveau de sa structure, de son fonctionnement et de sa sécurité.Ces règles doivent être convenablement définies et respectées.

L'objet de cette présentation est de définir les spécifications pour la mise en place d'une base d'annuaire agrémenté des fonctionnalités standards LDAP pour la conception et la réalisation.

1. Généralités sur les annuaires

       1.1 Qu'est-ce qu'un annuaire ?

Un annuaire se présente comme une base de données, c’est à dire qu’on peut y mettre des informations et les consulter. Ses principales caractéristiques sont d’accéder à des données par des recherches multi-critères.

Des données de natures très diverses peuvent figurer dans un annuaire électronique :

Tout l'intérêt de l'annuaire apparaît lorsqu'on lui sont reliées d'autres applications telles que des applications de messagerie, de travail de groupe et des services applicatifs Web en Intranet.

Le développement de ces trois activités (messagerie, groupware et Intranet car l'annuaire est utilisé aussi pour la gestion de la relation client par exemple) est consubstantiel du développement des annuaires d'entreprises.

        1.2. A quoi sert un annuaire ?

Le besoin d’une base annuaire central découle de deux problèmes majeures :

Quel que soit le type de données, l'annuaire a pour objectif d'une part de les rendre accessible aux personnes concernées (ayant le droit de les consulter), d'autre part de permettre à ces mêmes personnes de mettre à jour certaines de ces données.

Un annuaire imparfaitement à jour, contenant des informations non fiables ou même redondantes (ce qui pose problème lorsqu'un utilisateur met à jour une information en ignorant qu'il en existe un doublon qui lui, ne sera donc pas mis à jour), ne remplira pas correctement sa mission.   

       1.3. Introduction à LDAP

Les annuaires LDAP (Lightweight Directory Access Protocol) se situent au cœur des fonctions de communication et de collaboration de l'entreprise à travers son Intranet car ils en simplifient la gestion et l'administration. La mise en œuvre d'un annuaire LDAP au sein d'un Intranet apporte donc une gestion optimale des utilisateurs et de leurs profils, des ressources, et la possibilité de partager ce référentiel avec l'ensemble.

LDAP est un standard destiné à normaliser l'interface d'accès aux annuaires.

 



2. Le standard LDAP

LDAP simplifie la gestion des profils de personnes et de ressources, favorise l'interopérabilité des systèmes d'informations à travers le partage de ces profils, et améliore la sécurité d'accès aux applications.

Ce standard se représente par 3 notions importantes :

Exemple : Format du standard LDAP

Ce schéma présente succintement le cheminement d'une communication entre un serveur et un client LDAP, et l'échange de données au moyen du format LDIF

 

LDIF : LDAP Data Interchange Format (LDIF) permet de représenter les données LDAP sous format texte standardisé, il est utilisé pour afficher ou modifier les données de la base. Il a vocation à donner une lisibilité des données pour le commun des mortels.

LDIF est utilisé dans deux optiques :

        2.1. Le modèle client/serveur

Ce modèle transpose simplement le principe d'une communication entre un client susceptible d'utiliser l'annuaire et le serveur contenant les données sécurisées.Ce modèle est basé sur le protocole réseau TCP/IP et fonctionne comme un mécanisme de message client-serveur

Le protocole définit comment s'établit la communication client-serveur. Un client transmet une requête au serveur à l'aide des éléments de protocole LDAP. Le serveur est alors responsable de l'exécution de la requête. Lorsque celle-ci est terminée, le serveur renvoie une réponse contenant les résultats de la requête ou les erreurs éventuelles.

Chaque requête émise par le client peut être exécutée en mode asynchrone ou en mode synchrone.

Exemple : Modèle de client/serveur

Ce mécanisme fonctionne comme un modèle normal de client/serveur avec des échanges de packet pour initialiser la connexion et après échanger des informations.

 

Le protocole d'échange LDAP comprend neuf opérations élémentaires :

 


 

3. Les modèles de LDAP

       3.1. Le modèle d'information

Ce modèle définit le type de données pouvant être stockées dans l'annuaire.

                 3.1.1 Etape de cadrage

Il s'agit d'identifier les besoins prioritaires des utilisateurs nécessitant la mise en œuvre d'un annuaire, ainsi que les applications associées.

A cette identification de besoins, nous constatons que plusieurs sections, comme la gestion du personnel, les utilisateurs mais aussi le service informatique, sont désireux de voir apparaître un annuaire centrale. Mais ce sont également des applications qui utilisent quotidiennement des données concernant les employés,…

A ce jour, la priorité est de pouvoir permettre aux employés de rechercher le numéro de téléphone ou le mail de quiconque à partir de l'annuaire. Cette démarche n'est pas encore accessible de tous à ce jour…

                       - Les objectifs

Dans un premier temps, il s'agira de mettre en place un annuaire accessible à tous en y répertoriant les données basiques concernant les employés (Tel, mail, fax,…). Il est recommander de préconiser la limite des champs visibles de l'annuaire afin de mettre en oeuvre une première version. Par la suite, nous pourrons étendre les possibilités et les fonctionnalités de l'annuaire.

                        - Maîtrise d'oeuvre et d'ouvrage

La mise en place d'un annuaire interne à l'entreprise peut poser des problèmes de responsabilités et d'obtention du budget requis. Le maître d'ouvrage représente les utilisateurs et il est responsable de l'expression de besoins et de la réception de l'application.

Qui représente les acteurs de la maîtrise d'œuvre et d'ouvrage ?

La maîtrise d'ouvrage n'est autre que l'ensemble des " clients " désireux de voir apparaître l'annuaire centrale sur le site. La maîtrise d'œuvre constitue l'ensemble des personnes en charge du développement de l'application de l'annuaire.

                 3.1.2 Elaboration du contenu

Cette étape consiste à définir des données qui seront gérées par l'annuaire. Ces données doivent répondre aux besoins exprimés lors de l'étape précédente.
Une entrée de l 'annuaire contient des 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.
Il s'agit donc de décrire l'ensemble des classes d'objets, des attributs à gérer et la hiérarchie entre ces classes, c'est à dire leur lien d'héritage.

                           - Les objectifs

Il s'agit de définir la liste des attributs indépendamment des classes d'objets. Ce n'est qu'une fois le liste des attributs écrites que nous créerons les classes d'objets pour y ranger les attributs.

                           - Les défnition des classes et des attributs

L' inventaire des attributs a été réalisée en fonction des besoins des acteurs de la maîtrise d'ouvrage. Ces informations brutes, une fois traitées, nous ont permis de créer les classes d'objets contenant les attributs voulus.

Exemple : la classe d'objet Personne

Cette classe d'objet apparaît comprenant les attributs tels qu'ils ont été requis que ce soit par le responsable informatique ou le responsable du service de la documentation. Ainsi, l'objet personne représente la fiche d'un individu qui est caractérisé pas différents attributs tels que :


 

Tous les attributs suivants permettront de caractériser une personne toutefois ils ne seront pas visibles de tout le monde. Il est primordial de tous les représenter c'est, ensuite la gestion des ACLs, qui limitera les niveaux de visibilités.

 

      3.2. Le modèle de désignation

Ce modèle définit comment sont organisées les entrées de l'annuaire et comment elles sont référencées. Les entrées représentent des objets.

L'organisation de ces objets se fait suivant une structure logique hiérarchique : le Directory Information Tree (DIT). Au sein de ce DIT, l'identification d'une entrée se fait à l'aide d'un nom, le Distinguish Name (DN).

Il s'agit de définir les nœuds de l'arbre et leur hiérarchie. Cette étape est l'une des plus importantes de la conception, car elle conditionne les performances, l'évolutivité et la modularité de l'annuaire.

Exemple :

La structure de l'arbre est une phase importante représentant la structure hiérarchique de l'entreprise, comme sur le schéma suivant. On s'aperçoit alors que l'individu Steve HERVE est représenté par un DN qui s'étend du point d'entrée de l'arbre jusqu"à l'objet personne Steve HERVE

 

 

      3.3. Le modèle des services

                 3.3.1 Les fonctionnalités de l'annuaire

L'application ANNUAIRE peut être décomposé en deux modules :

 

Exemple :

Le module de consultation permet à un utilisateur de rechercher des informations sur un individu ou sur une société. Les schémas suivants permettent de voir qu'il est important de spécifier à quel niveau limite-t-on les consultations.

                 

 

                 3.3.2 Identification des acteurs

Les personnes et les applications qui sont amenées à consulter ou à utiliser l'annuaire, ainsi qu'à le gérer et l'administrer. Il s'agit de les identifier afin de leur attribuer des droits d'accès aux données, et de décrire les processus de mise à jour associés.

On distingue généralement trois types d'acteurs :

· Les utilisateurs : ce sont des personnes ou des applications qui utilisent régulièrement l'annuaire pour y lire ou pour mettre à jour des informations les concernant
· Les gestionnaires : ce sont ceux qui sont chargé de gérer l'annuaire, c'est à dire maintenir son contenu.
· Les administrateurs : ce sont ceux qui sont chargé d'administrer l'annuaire

                           - Les utilisateurs

Il est conseillé de différencier les utilisateurs anonymes et les utilisateurs identifiés.

Les utilisateurs anonymes ne doivent avoir accès qu'à des informations non sensibles. Les utilisateurs identifiés peuvent avoir accès en lecture à toutes informations et en écriture pour des infos les concernant.

Il est aussi possible de différencier les utilisateurs internes et les utilisateurs externes de l'entreprise.

D'autre part si l'annuaire contient des informations sur les utilisateurs, il est préférable de les protéger par la mise en place de mécanismes de chiffrement protégés par des firewalls.

                           - Les gestionnaires

Ce sont des utilisateurs identifiés qui peuvent lire certaines informations sensibles concernant un ensemble d'utilisateurs ou mettre à jour certains de leurs attributs. Ce ne sont pas nécessairement des informaticiens. Les gestionnaires peuvent être :

                           - Les administrateurs

Il existe en général deux catégories d'administrateurs : ceux qui vont se charger de gérer le contenu de l'annuaire, et notamment les gestionnaires de celui-ci, et ceux qui vont l'administrer techniquement.

· L'administrateur fonctionnel : ils sont chargés de créer, modifier, supprimer les gestionnaires de l'annuaire et de leur attribuer des droits d'accès. Ils peuvent aussi agir sur les données de l'annuaire, au même titre que les gestionnaires, mais avec des pouvoirs plus larges. Ils n'ont pas une connaissance pointue de LDAP, mais ils doivent en connaître les notions de base.

· L'administrateur technique : exploitant informatique qui agira sur l'annuaire en cas de panne ou d'évolution du modèle de données. Le cas échéant, l'administrateur technique se verra attribuer l'accès à l'annuaire par l'administrateur fonctionnel.

                 3.3.3 Identification des process métiers

Les process métiers permettent d'analyser précisément à quel moment interviennent les acteurs (définies précédemment) au travers des différentes actions interagissant sur l'annuaire. Ces process métiers ne sont en fait que les algorithmes des actions possibles sur l'annuaire. Ils tracent les étapes successives que requiert, par exemple, la création d'une fiche.

       3.4. Le modèle de sécurité

La base doit pouvoir être protéger contre des intrusions intempestives, et ce, de manière efficace. De plus, chaque acteur, suivant ses droits ne doit pouvoir effectuer que certaines actions. Nous aurons trois groupes différents de droits d'accès pour identifier les trois types d'acteurs.

Les aspects de sécurité et confidentialité doivent être pris en compte dès la phase de conception. Quels sont les aspects à étudier ?

La tâche primordiale réside dans l'établissement des règles d'accès aux données. Il faut déterminer pour chaque attribut quel est son niveau de confidentialité et quel utilisateur ou quelle application pourra y accéder en lecture ou en écriture.

Les mécanismes qui peuvent être mis en œuvre :

Les ACL permettent de décrire les habilitations de tout utilisateur référencé dans l'annuaire sur les autres objets de l'annuaire.

Exemple :

Sur l'exemple suivant, l'utilisation d'ACL va permettre de limiter la visibilité des informations. En effet, l'individu Steve HERVE ne pourra pas voir les informations concernant l'entreprise. Les ACLs limiterons les requêtes à partir de l'ou personnes.

Il est possible d'appliquer des ACLs à tout type de niveau dans l'arbre.

                

                  3.4.1 Authentification

LDAP propose plusieurs choix d'authentification :

                 3.4.2 Définition des droits d'accès

Il s'agit de définir les droits d'accès des utilisateurs sur les ressources de l'annuaire (objets et attributs).
Préciser à qui appartiennent chaque attribut et chaque classe d'objet, ainsi que les droits d'accès des acteurs spécifiés. Ces droits comprennent essentiellement la lecture, la modification, la création, la suppression et la recherche.

Pour définir ces droits il faut commencer par lister les actions possibles :

                 3.4.3 Protection réseau

Toute la panoplie d'outils de sécurité est à la disposition de l'administrateur pour sécuriser les accès réseau au service et la confidentialité des transactions. LDAP supporte les protocoles SSL et TLS pour chiffrer les données qui transitent sur le réseau.

    3.5. Le modèle de réplication

La réplication est très importante pour plusieurs raisons. La première est la volonté d'assurer une disponibilité maximale des données gérées par l'annuaire. La seconde est l'optimisation des performances.

Cette optimisation d'accès à l'annuaire peut se faire de la façon suivante se fera de la façon suivante : plusieurs serveurs dédiés à la lecture et un seul dédié à la lecture.

De plus, la réplication d'un serveur sur plusieurs serveurs peut pallier à :

Une stratégie consiste à avoir un seul serveur maître sur le centre principal qui centralise toutes les mises à jour. Cette stratégie est simple de mise en place. Le serveur maître va se charger des répliquer ses informations de manière régulière sur les serveurs dédiés à la lecture.

Toutefois si ce type de stratégie est simple à mettre en œuvre, il y a deux inconvénients :

1. Si le serveur maître tombe en panne, les mises à jour ne peuvent plus s'effectuer.


2. Si le serveur maître est situé sur un site distant qui n'est pas relié en permanence avec les postes clients, la mise à jour ne pourra pas se faire à tout moment

Les possibilités de réplication :

La synchronisation des serveurs peut se faire de façon totale ou incrémentale. La réplication se fait en temps réel ou à heure fixe.

 



4. Les applications de LDAP

 


 

5. Les outils

Ci-dessous sont listés les logiciels clients et serveurs les plus connus et les plus utilisés pour l'intéraction avec le protocle LDAP

    5.1. Les logiciels serveurs

    5.2. Les logiciels clients

 


 

6. Guide technique

    6.1. Configuration OpenLDAP

Ce document a pour intérêt de décrire les étapes de l'installation et de la configuration de l'outil OpenLDAP sous l'OS FreeBSD 4.8

                 Installation et configuration de OpenLDAP(195Ko)


    6.2. Configuration LDAPBrowser

Ce document a pour intérêt de décrire les étapes de l'installation et de la configuration de LDAPBrowser, client permettant de se connecter à un annuaire LDAP

LDAP Browser est un logiciel permettant la gestion graphique d'une base LDAP. Le grand intérêt de ce logiciel est la fait qu'il ait été totalement programmé en java ce qui le rend adaptable à la fois à Unix et à Windows.

                 Installation et Configuration de LDAPBrowser (285Ko)


    6.3. Configuration Service d'annuaire

Cet document explique comment configurer Outlook Express pour pouvoir consulter l'annuaire et ainsi rechercher des informations concernant une personne.

                 Configuration service annuaire (240Ko)


 

7. Références

                 http://www.openldap.org/

                 LDAPBrowser : http://www.iit.edu/~gawojar/ldap/download.html

                 Service Annuaire LDAP - Laurent Mirtain

                 "Construire un annuaire d'entreprise avec LDAP" - Marcel Rizcallah




Pour tout problème : Steve HERVE