les annuaires ldap
qu'est-ce qu'un annuaire électronique
C'est un catalogue, dans lequel on peut mettre ce que l'on veut (téléphone, adresses, photos, …), pour le partager. En fait, ça ressemble beaucoup a une base de données, avec quelques différences notables :
il est conçu pour avoir beaucoup de requêtes en lecture, peu en écriture
pas de requêtes compliquées (comme les jointures en sql)
serveur réseau
protocole simple, léger et standardise : ldap ( lightweight directory access protocol), dérivé de X500
à quoi ça sert
à chercher des informations
pour des humains ou des applications
à gérer une base de données simple
historique
base de compte multi-utilisateurs : /etc/passwd /etc/hosts (1970-1980)
NIS (1980 ?) : pour de petites configurations
DNS (1984) : spécifique aux nommage ip
X500 (1988) : très lourd, clients bugués, basé sur l'ISO (et non pas TCP/IP)
ldap (1993)
concepts
ldap définit :
-
-
-
-
-
-
une
API : pour développer des applications clientes
-
implémentation
il y a des solutions commerciales :
et une solution libre :
protocole
ldap v3
port 389 ou 636 (ldap sur ssl)
connexion, commandes, déconnexion
conçu pour être extensible
définit le type des données stockées
élément de base : objet
les informations sont représentées sous forme d'attributs
ldap propose un certain nombre de classes prédéfinies
les classes sont facilement extensibles par héritage
le schéma décrit les classes d'objets, les types des attributs et leur caractéristiques
modéle de nommage
définit comment sont organisée les entrées, et comment elles sont référencées
les entrées représentent des objets
l'organisation est hiérarchique, mais libre (a plat, par localisation, par service, par type …)
une entrée est identifiée par un “dn” (distinguish name), qui doit être unique, et qui est formé de la suite des noeuds traversés
recommandation : coller a la structure du
DNS, avec l'attribut “dc”
les alias et les referral : permet de pointer vers une autre entrée d'annuaire (délégation)
modèle fonctionnel
décrit le moyen d'accéder aux données et les opérations qu'on peut leur appliquer
modèle de sécurité
modèle de duplication
permet de dupliquer un dupliquer un annuaire sur plusieurs serveurs :
garantit la qualité de service : temps de réponse et sûreté de fonctionnement
répartition de charge
un maître, des esclaves
synchronisation totale/incrémentale, temps réel/différé
programmation
il y a des api pour les langages :
C
perl (package perl_ldap ou perl-
URI)
python
java
php
…
permet :
en format ASCII/base 64, maintenant en UTF8
interface graphiques
via un navigateur :
via un client spécialisé
applications
windows 2000 et suivants (XP, vista, 2003 …) : active directory
mozilla/outlook : carnet d'adresse centralise
gestion centralisée de l'authentification et des droits d'accès (mot de passe unique UNIX/Windows) : pam_ldap
gestion de parc informatique
serveurs de mail (sendmail, postfix ) et de mailing listes (sympa)
annuaire du personnel, téléphonique
stockage de clef publiques
DNS : remplacement de bind, ou redirection (v9) vers un ldap
services divers : samba, squid (squid_pam_auth), dhcp, pppd, horde
clients divers : pine, evolution, openoffice, ils (telephone sur ip) …
documentation
cru : une présentation trés complète
ldapv3 : un bon panorama des utilisations
-
-
-
-
-
— eric gerbier 2009/09/16 16:14