LDAP (Lightweight Directory Access Protocol) est un protocole qui permet aux applications de rechercher rapidement des informations utilisateurs.
Imaginons qu’un de vos collègues de bureau souhaite envoyer un e-mail à une nouvelle recrue et imprimer une copie du message sur une nouvelle imprimante. Ces deux étapes sont possibles grâce au protocole LDAP.
S’il est correctement configuré, ce collaborateur n’aura pas besoin de faire appel à l’IT pour réaliser ces tâches.
Qu’est-ce que LDAP ?
Les entreprises enregistrent les noms d’utilisateur, les mots de passe, les adresses e-mail, les connexions des imprimantes et d’autres données statiques dans des annuaires. LDAP est un protocole d’application ouvert et indépendant, utilisé pour l’accès et la gestion de ces données. LDAP peut également prendre en charge l’authentification, de sorte que les utilisateurs ne doivent se connecter qu’une seule fois pour accéder à de nombreux fichiers différents sur le serveur.
Comme LDAP est un protocole, il ne spécifie pas comment fonctionnent les applications d’annuaire. Il s’agit plutôt d’une forme de langage qui permet aux utilisateurs de trouver très rapidement l’information dont ils ont besoin.
Puisqu’il est ouvert et indépendant, il est possible de l’utiliser avec toute une série d’annuaires différents. En règle générale, un annuaire contient des données :
- Descriptives. Plusieurs données, telles que le nom et l’emplacement, sont combinées pour définir une ressource.
- Statiques. Les informations varient peu et lorsque c’est le cas, ces modifications sont mineures.
- Utiles. Les données stockées dans l’annuaire ont une grande importance pour les fonctions métier essentielles, et sont régulièrement utilisées.
Il arrive que LDAP soit utilisé conjointement avec d’autres systèmes tout au long de la journée de travail. Ainsi, vos collaborateurs peuvent utiliser LDAP pour se connecter à des imprimantes ou vérifier des mots de passe. Ces collaborateurs peuvent ensuite basculer vers Google pour la messagerie, qui n’utilise pas du tout LDAP.
Ce protocole n’est pas nouveau. Le livre blanc officiel décrivant le fonctionnement des services d’annuaire et leurs interactions avec LDAP a été publié en 2003. Bien qu’il ne date pas d’hier, son utilisation reste très répandue.
Le processus LDAP en quelques mots
Un collaborateur type se connecte à LDAP des dizaines, voire des centaines de fois chaque jour. Si ce processus est généralement transparent pour l’utilisateur, les étapes nécessaires à l’exécution d’une requête sont complexes.
Elle se déroule généralement comme suit :
- Connexion de la session. L’utilisateur se connecte au serveur via un port LDAP.
- Requête. L’utilisateur envoie une requête, par exemple la recherche d’une adresse e-mail, au serveur.
- Réponse. Le protocole LDAP interroge l’annuaire, localise les informations et les envoie à l’utilisateur.
- Clôture. L’utilisateur se déconnecte du port LDAP.
La recherche a l’air simple, mais l’exécution de la fonction nécessite une programmation importante. Les développeurs doivent déterminer la taille limite de la recherche, le temps imparti au serveur pour son traitement, le nombre de variables à inclure dans une recherche, etc.
Une personne qui passe d’une entreprise à l’autre peut exécuter des recherches avec LDAP dans chaque site. Cependant, le fonctionnement de ces recherches peut varier fortement, selon la manière dont LDAP est configuré.
Avant de lancer une recherche, LDAP doit authentifier l’utilisateur. Deux méthodes sont possibles :
- Simple. La saisie du nom et du mot de passe corrects connecte l’utilisateur au serveur.
- Simple Authentication and Security Layer (SASL). Un service secondaire, par exemple Kerberos, procède à l’authentification avant que l’utilisateur puisse se connecter. Pour les entreprises qui ont besoin d’une sécurité avancée, la seconde option peut être intéressante.
Certaines requêtes sont exécutées à partir du réseau interne de l’entreprise, mais d’autres peuvent émaner de terminaux mobiles ou d’ordinateurs personnels. Comme la plupart des communications LDAP sont envoyées sans chiffrement ni brouillage, cela peut entraîner des problèmes de sécurité. La plupart des entreprises utilisent le protocole TLS (Transport Layer Security) pour sécuriser les messages LDAP.
Le protocole LDAP permet d’effectuer diverses opérations, dont les suivantes :
- Ajout. Permet d’ajouter un nouveau fichier dans la base de données.
- Suppression. Permet de supprimer un fichier de la base de données.
- Recherche. Permet d’exécuter une requête pour localiser une entrée dans la base de données.
- Comparaison. Examine deux fichiers pour identifier les similitudes ou les différences.
- Modification. Permet de modifier une entrée existante.
Petit glossaire LDAP
L’utilisateur lambda n’a pas besoin de connaître tous les tenants et aboutissants de LDAP. En revanche, les administrateurs de l’accès et de la sécurité réseau doivent bien maîtriser les concepts élémentaires du protocole et sa structure. La terminologie utilisée pour décrire ce protocole peut être incompréhensible pour les novices.
Voici quelques termes couramment utilisés concernant LDAP :
- Modèles de données. Ils représentent les types d’informations présentes dans votre annuaire. Les modèles vous aident à comprendre les différentes facettes de votre annuaire LDAP. Il peut contenir des informations générales (par exemple une classe d’objets), des noms (référence unique de chaque élément), des fonctions (modes d’accès aux données) et des mécanismes de sécurité (procédure d’authentification des utilisateurs).
- Nom unique (DN, Distinguished Name). Identifiant unique de chaque entrée qui décrit également l’emplacement dans l’arborescence d’informations.
- Modifications. Demandes envoyées par les utilisateurs LDAP pour modifier les données associées à une entrée. Types de modification définis. Par exemple, l’ajout, la suppression, le remplacement et l’incrémentation.
- Nom unique relatif (RDN, Distinguished Name). Offre un moyen d’associer des noms uniques en spécifiant un emplacement relatif.
- Schéma. Codage sous-jacent de votre annuaire LDAP. Il permet de décrire le format et les attributs de chaque élément hébergé sur le serveur.
- URL. Chaîne incluant l’adresse et le port d’un serveur, ainsi que d’autres données qui peuvent définir un groupe, fournir un emplacement ou rediriger une opération vers un autre serveur.
- URI (Uniform Resource Identifier). Chaîne de caractères définissant une ressource.
Ce ne sont là que quelques exemples de termes qu’il vous faudra maîtriser pour implémenter correctement un protocole LDAP. Mais comme il s’agit d’un protocole open source, il existe de nombreux documents qui peuvent vous aider à vous lancer et vous apprendre à programmer rapidement comme un professionnel.
LDAP vs Active Directory
Certains utilisent les termes LDAP et Active Directory de manière interchangeable, mais cela peut prêter à confusion. Si les deux outils peuvent fonctionner ensemble, ils sont néanmoins différents.
Active Directory est un outil d’annuaire propriétaire qui permet d’organiser des ressources IT, par exemple des utilisateurs, des ordinateurs et des imprimantes. Comme il s’agit d’un produit Microsoft, il est généralement utilisé dans l’environnement Windows. Si vous avez déjà utilisé Windows sur un réseau, ce système sous-tend certaines des données.
LDAP est un protocole capable de lire Active Directory, mais que vous pouvez également utiliser avec d’autres programmes, notamment ceux fonctionnant sous Linux. Comme il s’agit d’un protocole indépendant, vous pouvez l’utiliser avec un large éventail de produits sans rapport avec Windows.
En résumé, LDAP et Active Directory fonctionnent conjointement pour aider les utilisateurs, mais ils ne se font pas concurrence car leur emploi diffère quelque peu.
LDAP + Okta
LDAP aide les utilisateurs à accéder à des fichiers critiques. Toutefois, comme il s’agit de données sensibles, il est impératif de protéger ces informations contre les acteurs malveillants. Si vous possédez un environnement hybride et qu’une partie de vos données est hébergée dans le cloud, vous courez des risques encore plus importants.
Okta peut vous aider à protéger ces informations critiques. Découvrez comment.
Références
What’s LDAP? LDAP Linux How To.
A History and Technical Overview of LDAP. LDAP.com.
The LDAP Search Operation. LDAP.com.
Configuring Active Directory for LDAP Authentication. IBM.
Basic LDAP Concepts. LDAP.com.
LDAP URLs. LDAP.com.
Understanding LDAP Schema. LDAP.com.
How to Make Your Company’s Single Sign-On Implementation as Smooth as Possible. Juillet 2016. Forbes.
Présentation des services de domaine Active Directory. Mai 2017. Microsoft.
Understanding Active Directory. Mars 2018. Medium.
What Is LDAP Authentication ? Juillet 2018. Houston Chronicle.
Identity Awareness Works Hand In Glove With Digital Transformation. Avril 2020. Forbes.