Il est courant que les organisations s’appuient sur le protocole LDAP (Lightweight Directory Access Protocol) pour assurer la gestion, le stockage et l’authentification des utilisateurs.
Cependant, les utilisateurs peuvent confondre LDAP avec Active Directory.
Dans cet article, nous examinerons LDAP, sa raison d’être et son fonctionnement. Nous passerons ensuite en revue ses principales caractéristiques, sa structure d’annuaire et ses capacités d’organisation des données. Enfin, nous aborderons l’importance de LDAP dans la gestion des services d’annuaire et de l’authentification des utilisateurs.
Qu’est-ce que LDAP ?
LDAP est l’abréviation de Lightweight Directory Access Protocol (protocole d’accès aux annuaires légers). Il s’agit d’un protocole ouvert qui régit l’authentification sécurisée des utilisateurs pour les annuaires sur site. En outre, il s’agit d’un protocole d’application indépendant des fournisseurs, ce qui le rend polyvalent et omniprésent, en particulier dans les services d’information d’annuaire distribués sur l’internet.
LDAP est efficace pour permettre aux applications d’interroger les informations sur les utilisateurs. Cela signifie qu’il peut fonctionner de diverses manières dans les services d’infrastructure informatique, notamment les services de courrier électronique, l’autorisation, la gestion des licences et la gestion des utilisateurs.
Cependant, il ne faut pas le confondre avec les services d’annuaire actif, un ensemble de services/bases de données que les entreprises utilisent pour organiser, accéder et sécuriser les actifs informatiques. Fondamentalement, les services d’annuaire permettent aux organisations de stocker des données descriptives, statiques et précieuses.
Techniquement, LDAP est attribué au processus complet de représentation des données au sein d’un service d’annuaire. Il garantit que les utilisateurs peuvent obtenir des données d’une manière prédéfinie. En d’autres termes, LDAP permet aux organisations de créer des entrées de données au sein des services d’annuaire grâce à ses outils.
Ainsi, au sein d’un Active Directory, LDAP garantit également la composition des entrées sur la base des différents éléments primitifs décrits.
En résumé, LDAP est un :
- Un protocole de communication
- Il s’agit d’un protocole d’application ouvert et indépendant des fournisseurs
- Le protocole logiciel stocke et organise les données pour faciliter les recherches.
- Fonctionne avec des annuaires sur site
- Il fonctionne avec Active Directory qui contient des données statiques, descriptives et précieuses
- Il ne s’agit pas d’un nouveau protocole et il a été publié en 2003
Quel est son objectif ?
L’objectif de LDAP est double :
- Il stocke les données dans un répertoire LDAP/Active
- Authentifier l’accès de l’utilisateur à cet annuaire
- Permettre aux applications d’utiliser le langage de communication approprié pour envoyer et recevoir des données des services d’annuaire.
En d’autres termes, il s’agit d’un protocole de communication qui est non seulement capable d’authentifier et d’autoriser, mais aussi d’organiser les données de manière à pouvoir effectuer des recherches. Grâce à LDAP, les organisations peuvent stocker des informations critiques sur les utilisateurs et les actifs informatiques, y compris les informations d’identification des utilisateurs. En outre, il peut garantir un accès sécurisé en permettant aux administrateurs de définir activement des règles d’accès.
Comment fonctionne LDAP ?
L’architecture client-serveur est au cœur de LDAP.
Ainsi, lorsque l’authentification LDAP a lieu, elle suit un modèle client-serveur. Les principaux acteurs de ce modèle sont les suivants :
- Agent du système d’annuaire (DSA): Un serveur exécutant LDAP sur un réseau spécifique.
- Le nom distinctif (DN) contient le chemin pour naviguer dans l’arborescence des informations de l’annuaire (DIT).
- Agent utilisateur d’annuaire (DUA) : Le DUA est utilisé pour accéder aux DSA en tant que client.
- Nom distinctif relatif (RDN) : Le RDN spécifie chaque composant dans le chemin du DN.
- Interface de programmation d’applications (API) : Nous avons des API qui communiquent entre les services et les produits.
Dans le processus d’authentification LDAP, lorsqu’un utilisateur démarre un programme client LDAP tel qu’une application de messagerie électronique, l’administrateur peut configurer la manière dont le client LDAP interagit avec les services d’annuaire pour l’authentification. Par exemple, il peut utiliser l’une des deux méthodes d’authentification disponibles :
- Authentification SASL avec Kerberos
- Authentification SSO simple avec identifiants de connexion
Lors de la tentative de connexion, l’authentification DN est demandée. Une fois le processus lancé, LDAP assigne le client à l’agent du système d’annuaire (DSA), qui utilise le DN pour rechercher les enregistrements correspondants dans la base de données.
Le nom distinctif relatif (RDN) contenu dans le DN est un élément essentiel de la recherche LDAP, car il est utilisé à chaque étape du processus de recherche par l’intermédiaire de l’arbre d’information de l’annuaire (DIT).
Si la recherche aboutit, l’UID et le mot de passe de l’utilisateur sont comparés pour valider l’utilisateur. Dans le cas contraire, le système renvoie des résultats non valides.
Enfin, le client se détache du serveur LDAP. Une fois cette étape franchie, l’utilisateur authentifié peut communiquer avec les services par l’intermédiaire des API. Cela signifie qu’il peut consulter toutes les informations stockées, la seule limite étant les autorisations accordées.
Si vous souhaitez en savoir plus sur le fonctionnement de LDAP, consultez l’article publié en 2003 par Greg Vaneder et Mark Wahl. Et si vous voulez en savoir plus sur les opérations de recherche LDAP, lisez L’opération de recherche LDAP.
Principales caractéristiques de LDAP
Les principales fonctionnalités de LDAP peuvent être résumées ci-dessous :
- Authentification des sessions utilisateur : Il peut être utilisé pour authentifier les sessions des utilisateurs auprès d’un service de base de données tel qu’Active Directory.
- Différents types d’opérations : Il peut également effectuer des opérations sur la base de données d’un serveur d’annuaire, notamment
- lier des sessions
- supprimer des entrées LDAP
- Modifier des entrées existantes
- Rechercher et comparer des entrées.
- Abandonner des demandes
- Opérations de déliaison
- Léger : LDAP est léger, ce qui garantit une faible surcharge pour le réseau et les ressources du système.
- Indépendant des fournisseurs et des protocoles : LDAP est également indépendant des fournisseurs et des protocoles. Cela signifie qu’il fonctionne avec n’importe quel fournisseur/solution/protocole. Par exemple, vous pouvez utiliser LDAP sur TCP/IP ou X.25. Toutefois, la dernière version de LDAP, LDAPv3, utilise TCP/IP.
- Structure de l’annuaire : LDAP utilise une structure en arborescence pour stocker et accéder aux ressources dans une base de données d’annuaire. La relation parent-enfant permet une recherche et une récupération plus rapides.
- Normalisation : LDAP est normalisé par l’IETF (Internet Engineering Task Force). La normalisation garantit que LDAP fonctionne avec différents fournisseurs.
- Sécurité : LDAP est sécurisé. La sécurité est assurée par l’utilisation du protocole TLS sécurisé sur la couche TCP/IP. Il peut également utiliser Secure Socket (SSL) pour crypter, décrypter et transférer des informations à distance avec une intégrité et une confidentialité totales.
- Réplication : LDAP prend également en charge la réplication sur plusieurs serveurs. Cela garantit la redondance des données et leur disponibilité en cas de défaillance. Il utilise Syncrepl – un moteur de réplication Sync.
Structure de l’annuaire LDAP
L’annuaire LDAP a une structure propre et définie. Cela permet d’accéder facilement aux données et de faciliter les recherches dans le contenu de l’annuaire LDAP.
Comme LDAP suit une structure arborescente, il est hiérarchique. C’est la raison pour laquelle on l’appelle aussi Directory Information Tree (DIT).
Les différents niveaux de la structure de l’annuaire LDAP sont les suivants :
- Répertoire racine
- Pays
- Organisation
- Unité d’organisation
- Individus
- Unité d’organisation
Comme vous pouvez le constater, l’annuaire LDAP présente une structure arborescente. L’annuaire “racine” est une entrée de premier niveau qui comprend toutes les autres entrées du niveau de l’annuaire. En dessous, vous obtenez le pays (countries ) qui se ramifie ensuite en organisation (s ).
Ensuite, il y a les unités organisationnelles (OU) et, enfin, les individus et les groupes.
Pour comprendre la structure de l’annuaire LDAP, examinons l’exemple ci-dessous.
- Racine (entrée de premier niveau)
|
-- Pays : "dc=com" (par exemple, dc=example,dc=com)
|
-- Organisation : "dc=example" (par exemple, dc=example)
|
-- Unité organisationnelle (OU) : "ou=Users"
| |
| Utilisateur : "cn=Nitish Singh"
| |
utilisateur : "cn=Nitish Singh" | | -- Utilisateur : "cn= Oliver Green"
|
-- Unité d'organisation (OU) : "ou=Groups"
|
-- Groupe : "cn=Admins"
|
-- Groupe : "cn=Admins" | Groupe : "cn=Users "cn=Users"
|
-- Groupe : "cn=Admins" | Groupe : "cn=Users "cn=Superusers"
L’entité racine est identifiée par DC, qui signifie Domain Component attribute (attribut de composant de domaine ). Ainsi, si “dc=com“, l’entrée racine est identifiée comme le domaine “com”.
Sous l’entité racine, vous pouvez avoir plusieurs organisations ou domaines. Cela est représenté par “dc=organisation” sous le domaine “com”.
De même, chaque organisation peut avoir une ou plusieurs unités organisationnelles (OU). L’administrateur peut les organiser logiquement en subdivisions. Par exemple, vous pouvez définir des OU pour les “utilisateurs”, les “groupes” ou les “superutilisateurs”
Enfin, sous chaque OU, vous pouvez répertorier différentes entrées, notamment des groupes, des appareils, des utilisateurs, etc. Dans notre exemple, deux valeurs de OU users incluent “Nitish Singh” et “Oliver Green” De même, sous OU Groups, nous avons “Admins”, “Users” et “Superusers”
La structure du répertoire LDA dépend fortement du Distinguished Name (DN), qui est utilisé pour identifier chaque entrée. En effet, il contient un nom unique et est utilisé pour récupérer le nom distinctif relatif (RDN).
Éléments communs de LDAP
Pour comprendre l’organisation des données LDAP, nous devons comprendre les éléments communs de LDAP, qui conduisent à la construction des entrées du système LDAP.
Les composants de base des données LDAP sont les suivants
- Attributs :
- Les entrées :
- Arbres d’information sur les données
Attributs
Dans LDAP, les attributs sont des paires clé-valeur. Ils permettent de stocker des données dans le système LDAP. Par exemple, l’attribut mail doit être utilisé pour stocker le courrier dans le système LDAP.
mail : nitish@geekflare.com/fr
Entrées
Les entrées du système LDAP s’associent aux attributs pour leur donner une signification. Vous pouvez considérer les entrées comme une collection d’attributs liés.
Par exemple, les données au format LDIF (LDAP Data Interchange Format) se présentent comme suit :
dn : sn=Hogwarts, ou=wizards, dc=WizardingWorld, dc=fiction
objectclass : wizard
sn : Poudlard
cn : Harry Potter
Arbres d’informations sur les données
Les arbres d’informations sur les données (Data Information Trees ou DIT) représentent et permettent d’accéder aux données dans un système LDAP. Comme la plupart des données sont ramifiées, il est logique de les représenter par des arbres. Ils sont analogues à un système de fichiers avec une association parents-enfants.
Organisation des données LDAP
Maintenant que nous avons assimilé l’idée de base des entités, nous pouvons explorer l’organisation des données au sein du système LDAP.
Ici, LDAP utilise le DIT pour organiser et structurer les données. Mais comment y parvient-il ? Nous allons le voir ci-dessous.
Placer des entrées dans un DIT qui sont liées les unes aux autres de manière hiérarchique. Ainsi, lorsqu’une nouvelle entrée est créée, elle est ajoutée à la structure arborescente en tant qu’enfant d’une entrée existante.
Tout commence au sommet de l’arbre hiérarchique de la DIT. Comme il couvre toutes les entrées enfants, il est principalement étiqueté comme une organisation telle que “dc=com ou exemple”. Pour faciliter la gestion, on utilise des composants de domaine.
Ainsi, l’administrateur peut définir l’emplacement à l’aide de l=nom_de_lieu ou de segments d’organisation, tels que ou=tech, marketing, etc.
Les entrées utilisent la classe d’objets Unité d’organisation (OU). En effet, les entrées peuvent utiliser l’étiquette d’attribut ou=. Elles sont simples et constituent un excellent moyen de catégoriser et de trouver des informations dans la DIT.
Vient ensuite un autre concept important, le nom distinctif relatif (Relative Distinguished Name ). Il s’agit du nom relatif d’un élément en fonction de son niveau hiérarchique dans le DIT. Ainsi, pour accéder à une entrée, vous devez saisir les valeurs RDN de l’entité ainsi que la valeur RDN du parent.
Cela crée une chaîne de valeurs RDN, qui va de bas en haut, créant un chemin vers cette entrée. Cette chaîne de valeurs RDN est connue sous le nom de “Distinguished Name ou DN“
En d’autres termes, vous devez mentionner le DN lors de la création de l’entrée afin que LDAP sache précisément où vous devez placer le nouveau bien ou la nouvelle information. Le RDN est donc une valeur relative, tandis que le DN est plutôt un chemin absolu.
Importance de LDAP
Dans cette section, nous allons examiner l’importance de LDAP sous deux angles :
- Gestion du service d’annuaire : Le protocole LDAP permet de stocker et d’accéder aux données de l’annuaire LDAP. LDAP est un moyen de gérer, de stocker, d’accéder et de sécuriser les données. Il garantit également une recherche efficace des informations. De plus, il offre également une évolutivité et une réplication.
- Authentification des utilisateurs : Outre la gestion des services d’annuaire, LDAP excelle dans l’authentification et l’autorisation des utilisateurs. Une fois la connexion créée, l’utilisateur peut accéder aux ressources stockées en fonction des règles d’accès définies par l’administrateur.
LDAP et Active Directory
Il est fréquent de confondre LDAP et Active Directory. LDAP et Active Directory de Microsoft travaillent en étroite collaboration pour fournir aux organisations un moyen de stocker et d’accéder en toute sécurité aux données de l’organisation au sein des différents services.
LDAP est donc un protocole, tandis qu’Active Directory est un service d’annuaire qui stocke les données de l’organisation dans une structure arborescente.
LDAP sert de protocole de communication pour accéder aux serveurs d’annuaire tels qu’Active Directory.
Conclusion
LDAP est un protocole clé pour travailler avec les services d’annuaire actif. Il s’agit d’un protocole léger qui ne crée pas de surcharge pour les services et les serveurs avec lesquels il fonctionne. De plus, sa nature open-source, neutre et standardisée signifie qu’il peut facilement être intégré dans des solutions existantes.
Vous pouvez également explorer l’authentification multifactorielle (MFA).