- Notion d'annuaire : base de données de configuration, architecture client/serveur.
- Principe de répertoire distribué ; sécurisation du répertoire.
- Infrastructure liée au répertoire : accessibilité du répertoire par les applications, approche de répertoire commun et global.
- Standard lié à LDAP : historique, OSI, structure X.500.
- Principe des répertoires dans X.500, approche allégée pour l'accès dans LDAP.
- Présentation des principales versions de LDAP et différences. Niveau de version de OpenLDAP.
- Annuaires avec OpenLDAP : utilisation en tant qu'annuaire système et annuaire applicatif.
- Installation de OpenLDAP sous Linux. Analyse des diverses versions de OpenLDAP et respect des normes LDAP en fonction des versions. Présentation des fichiers de configuration de OpenLDAP. Stockage de l'annuaire dans des bases de données de formats différents.
- Les modèles de LDAP : modèle d'information, modèle de désignation, modèle de service, modèle de sécurité.
- Modèle d'information : structuration du stockage de l'information, gestion des données, organisation de l'annuaire en classes, relations entre classes.
- Gestion des données : structure de codification ASN.1 (Abstract Syntax Notation 1), gestion des informations et des attributs attachés aux objets.
- Gestion du schéma : principe du schéma, contrôle de l'intégrité référentielle. Différence de mise en oeuvre du schéma en fonction du niveau de LDAP. Edition du schéma dans OpenLDAP.
- Le modèle de désignation dans LDAP : structure arborescente de l'espace des noms dans LDAP, définition du dn (distinguished name).
- Modèle de service : protocole client-serveur de recherche, gestion des requêtes LDAP, notion de bind et authentification, recherche d'information et principes des filtres LDAP.
- Accès à LDAP : utilisation de la dénomination sous forme d'URL, principe des requêtes LDAP, recherche dans le répertoire, interface d'échange d'information LDIF.
- Modèle de distribution : approche dans la distribution des annuaires, utilisation des referal.
Travaux pratiques
Définition d'un modèle d'annuaire dans OpenLDAP. Extension du schéma pour définir dans l'annuaire des informations applicatives (exemple de définition d'une CD-thèque). Utilisation de l'annuaire pour sous-tendre l'authentification du système. Soumission de requêtes LDAP. Utilisation des filtres d'interrogation LDAP. Mise en place d'un annuaire distribué avec SLURP. Utilisation des referal vers d'autres annuaires.
- Principe de l'authentification : LDAP sans authentification, authentification de base, authentification et sécurisation de la communication (Simple Authentication and Security Layer : SASL).
- Support de l'authentification en fonction du niveau de version de LDAP.
- Protocoles de sécurisation sur les communications réseau : authentification et sécurisation de la communication, protocoles importants (RSA, DES, ...), intégration dans LDAP.
Travaux pratiques
Mise en place du module SSL dans OpenLDAP. Sécurisation de l'accès aux données. Authentification des utilisateurs.
- Interfaces de développement LDAP : outils de développement pour LDAP (Software Development Kit). Interface de programmation LDAP (API) accessible en C/C++ : principe de fonctionnement, exemple d'une recherche de base écrit dans un programme C.
- Utilisation des annuaires dans des scripts : exemple de l'interface Perl-LDAP.
- Accessibilité via le Web : URL d'accès à LDAP. Interface entre LDAP et Java (Java Naming and Directory Interface : JNDI).
- Utilisation d'applications sur des clients non Unix : possibilité d'utilisation des interfaces autres (exemple : ADSI de microsoft sous Windows).
Travaux pratiques
Exemple de programme interrogeant l'annuaire OpenLDAP. Exemple en C utilisant les API LDAP. Exemple de clients sous Windows utilisant des requêtes sur un annuaire OpenLDAP/Unix.
- Autres solutions d'annuaires du marché sous Unix : Netscape (Netscape Directory Server), Netware Directory Services, solutions Sun (iPlanet).
- Outils nécessaires pour la mise en oeuvre des annuaires, modèles des méta-annuaires.
- Approche de conception d'un annuaire d'entreprise : étapes de la conception fonctionnelle et technique.