795 Words Cours

Objectifs du chapitre

  • Comprendre le principe d’un annuaire.
  • Distinguer la différence entre un système de gestion de base de données et un annuaire.
  • Mettre en place un serveur annuaire en utilisant la solution OpenLDAP.
  • Établir l’intégration avec le service de messagerie et/ou le service de transfert de fichier.

1. Introduction

Un service annuaire est un système utilisé pour stocker et gérer des informations sur les utilisateurs, les ordinateurs et d’autres ressources réseau, capable de gérer un grand nombre d’utilisateurs. Il est important car il centralise les données pour une gestion simplifiée, et sert à l’authentification et à l’autorisation dans les systèmes d’information.

Exemples d’annuaires : annuaire téléphonique (les pages jaunes), carnet d’adresses, catalogue de vente.

2. Comparaison entre annuaire et base de données

AnnuaireBase de données
DéfinitionBase de données spécialisée, optimisée pour la lecture, utilisée pour stocker des informations sur des objets (utilisateurs, ressources réseau…).Système général de gestion des données, conçu pour un large éventail d’opérations (lecture, écriture, mise à jour, suppression).
Structure des donnéesHiérarchique (arbre LDAP).Relationnelle (tables, lignes et colonnes).
Optimisation des performancesMoins performant pour des écritures massives ou des requêtes complexes.Performante pour un équilibre entre lecture, écriture et modification.

3. Fonctionnement d’un service d’annuaire

Modèle client-serveur : le client effectue des requêtes pour rechercher, ajouter, modifier ou supprimer des données ; le serveur répond en fonction des données disponibles et des permissions.

4. Architecture de l’annuaire LDAP

L’architecture d’un annuaire LDAP comprend généralement :

ÉlémentRôle
ClientEnvoie des requêtes pour interagir avec le serveur LDAP.
Protocole LDAPProtocole de communication standard utilisé pour accéder et gérer les données dans un service d’annuaire LDAP.
Serveur LDAPHéberge l’annuaire et répond aux requêtes des clients.
Fichier LDIF (LDAP Data Interchange Format)Format standard pour l’importation et l’exportation de données LDAP.

5. Protocole LDAP

LDAP (Lightweight Directory Access Protocol) est un protocole standard utilisé pour accéder et gérer des services d’annuaire. Il fonctionne sur une architecture client-serveur, est léger et basé sur TCP/IP, et utilise le port standard 389 pour établir des communications en clair entre les clients et le serveur d’annuaire. Il supporte les opérations de recherche, ajout, modification et suppression.

Commandes courantes : ldapsearch, ldapadd, ldapmodify.

6. Modèles fondamentaux de LDAP

Le protocole LDAP définit, pour son fonctionnement, 5 modèles : un modèle d’information, un modèle de nommage, un modèle fonctionnel, un modèle de sécurité et un modèle de duplication.

Modèle d’information

Définit la structure et la représentation des données dans LDAP. Les données sont stockées sous forme d’objets organisés dans une hiérarchie (arbre) :

  • Objet : une entrée dans l’annuaire (utilisateur, groupe, ressource).
  • Attributs : propriétés d’un objet, chaque objet étant décrit par des attributs.

Attributs courants :

AttributFonction
dc (domain component)Une partie d’un nom DNS. Pour une entreprise mon-entreprise.com, la racine du DIT s’appelle couramment dc=mon-entreprise,dc=com.
cn (common name)Le nom commun. Pour une personne, en général le prénom + le nom de famille.
gn (given name)Le prénom.
sn (surname)Le nom de famille.
o (organization name)Pour une entreprise, le nom de l’entreprise ou de la filiale.
ou (organisational unit)L’unité d’organisation. Pour une entreprise, le département (commercial, comptabilité, etc.).

L’arbre LDAP organise les données en branches (structure hiérarchique), appelé DIT (Directory Information Tree) :

dc=Esprit,dc=tn
├── ou=Personnes
│   ├── ou=Enseignants
│   └── ou=Etudiants
│       ├── cn=Etudiant1
│       └── cn=Etudiant2
├── ou=Machines
└── ou=Filiale

Modèle de nommage

Définit la manière d’identifier les objets dans l’annuaire. Chaque objet est identifié par un DN (Distinguished Name), unique dans l’arbre :

  • DN : chemin complet pour identifier un objet.
  • RDN (Relative Distinguished Name) : nom relatif à une branche.

Exemple, pour cn=Etudiant1 sous ou=Etudiants,ou=Personnes,dc=Esprit,dc=tn :

DN  : cn=Etudiant1,ou=Etudiants,ou=Personnes,dc=Esprit,dc=tn
RDN : cn=Etudiant1

Attributs de l'entrée :
cn: Etudiant1
sn: Cherif
gn: Wael
telephone: 0123456789
email: wael.cherif@Esprit.tn

Modèle fonctionnel

Décrit les opérations possibles sur l’annuaire LDAP :

OpérationCommande
Recherche : localiser des objets ou des informations.ldapsearch
Ajout : ajouter une nouvelle entrée dans l’annuaire.ldapadd
Modification : modifier un objet ou ses attributs.ldapmodify
Suppression : supprimer une entrée.ldapdelete

Modèle de sécurité

Définit comment les accès aux données sont contrôlés et sécurisés :

  • Authentification : vérifie l’identité des utilisateurs via un mot de passe.
  • Contrôle d’accès (ACL) : définit les permissions (lecture, écriture, modification). Par exemple, l’utilisateur A peut lire les données, l’utilisateur B peut modifier certains attributs.
  • Confidentialité : protocole sécurisé (LDAPS) pour chiffrer les données en transit.

Modèle de duplication

Définit la manière dont les données sont réparties sur plusieurs serveurs LDAP :

  • Répartition : certaines branches de l’arbre sont gérées par des serveurs différents.
  • Réplication : synchronisation entre plusieurs serveurs pour assurer la disponibilité.
  • Modèles de réplication : maître/esclave (un serveur principal et plusieurs secondaires) ou maître/maître (plusieurs serveurs principaux synchronisés).

Objectif : haute disponibilité et tolérance aux pannes.