[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] LDAP, pourquoi ?



philippe L a écrit :
Bonjour,

Je me pause une question, pourquoi tout le monde utilise LDAP, pour
des portails, webmails, etc ... pour l'authentification des users ?
(pourquoi pas une BDD genre mysql, posgresql , etc ...)
Quels sont les avantages ?

LDAP est avant-tout un protocole d'accès aux données.
Grâce aux schémas, on définit des classes d'objets standarts contenant des attributs. On peut donc, via une requête LDAP, si les ACLs nous le permettent, accéder à un ou plusieurs attributs d'un objet. Un objet peut appartenir à plusieurs classes, certaines dépendant d'autres. Tout comme en Base de Données relationnelle, il existe des attributs obligatoires et d'autres optionnels mais ça s'arrête là. La grande différence avec des bases de données type SQL est donc la normalisation qui est faite autour de schémas communs.

LDAP ne se préoccupe pas du stockage des données. Il appartient à chaque serveur LDAP de gérer ou déléguer cette tâche. Par exemple, OpenLDAP dispose de plusieurs "backends" dont notamment une version SQL. On peut donc très bien stocker les données dans une base de type SQL, sous postgres ou mysql (les serveurs LDAP propriétaires en font autant). Ainsi, peut importe comment sont stockées les données des utilisateurs, pourvu qu'on puisse y accéder via LDAP (à condition d'adapter les accès via le "backend"). Je ne sais pas si tu as déjà vu divers projets utilisant des bases d'utilisateurs sur SQL mais il est très difficile d'avoir une base unique: ça fait beaucoup de doublons, de redondance d'informations et donc, d'erreurs d'incohérence.

Le principal intérêt d'une base d'utilisateurs LDAP (c'est un amalgame) est donc de permettre la centralisation normalisé d'informations communes à plusieurs services, notamment dans le cadre d'une gestion d'utilisateurs et de leurs droits d'accès et toutes informations les concernant (adresses email, numéro de téléphone, etc.). Le support LDAP est d'ailleurs largement implémenté dans divers logiciels du marché, qu'ils soient libres ou propriétaires (Microsoft Active Directory se base notamment sur LDAP)

Un autre point de LDAP est que son arbre peut être décentralisé.
On peut lier plusieurs serveurs LDAP comme on le ferait avec des serveurs DNS: un serveur qui gère la racine de l'organisation et des serveurs ci-et-là qui gèrent des branches particulières.

Pour finir, LDAP a été conçu pour être léger (par rapport à son ancêtre, le protocole X.500, hein) et surtout, beaucoup plus rapide en lecture qu'en écriture. Ce cahier des charges correspond très bien à la gestion d'une base commune d'utilisateurs. Mais il y a d'autres emplois (par exemple, il existe un schéma pour les questions/réponses de debconf)...

--
Raphaël 'SurcouF' Bordet
http://debianfr.net/ | surcouf at debianfr dot net



Reply to: