web-dev-qa-db-fra.com

Quelqu'un pourrait-il expliquer LDAP?

J'entends souvent des choses comme "Pouvons-nous charger les informations de nos employés en utilisant LDAP?" Pourtant, le titre "Lightweight Directory Access Protocol" me fait penser à un protocole plutôt qu'à un système de gestion de base de données physique comme Oracle ou MSSQL.

Alors, quelqu'un pourrait-il m'expliquer ce qu'est LDAP, comment il est utilisé et comment cela fonctionne? LDAP est-il simplement un protocole standard pour extraire des données d'une variété de SGBD? Dans un diagramme d'architecture, LDAP serait-il simplement une flèche tracée entre la base de données et le serveur d'applications?

50
Cuga

LDAP est un protocole d'interrogation des répertoires d'utilisateurs. Par exemple, Active Directory ou Novell eDirectory prennent tous les deux en charge LDAP. C'est aussi, dans une certaine mesure, une syntaxe pour effectuer de telles requêtes, comme la façon dont SQL est un langage de requête pour interroger des bases de données.

Une commande LDAP pourrait ressembler à

(givenName = Mike)

Et cela retournerait tous les micros dans le répertoire.

35
Serapth

LDAP est généralement utilisé comme base de données d'authentification. Disons que vous avez un produit CMS que vous vendez en tant que logiciel en tant que service. Ainsi, l'utilisateur obtient le CMS et vous le maintenez, etc.

Vous l'installez donc sur examplecustomer1.com, examplecustomer2.org, examplecustomer3.net (un logiciel par domaine). Vous avez maintenant TROIS bases de données d'utilisateurs à gérer. Vous vous ajoutez donc à tous les systèmes en tant que comptes administrateur et clients.

Ensuite, vous découvrez LDAP. Vous ajoutez la prise en charge LDAP à votre produit et vous disposez désormais d'une base de données centrale d'utilisateurs. Vous pouvez vous connecter en tant qu'administrateur à tous les systèmes avec votre propre nom d'utilisateur et mot de passe. Le système CMS contient toujours une base de données utilisateur et des droits pour chaque utilisateur, mais le nom d'utilisateur est désormais utilisé comme référence à la base de données LDAP et le champ de mot de passe est supprimé du schéma de la base de données CMS.

21
raspi

Oui, LDAP (Lightweight Directory Access Protocol) est un protocole qui s'exécute sur TCP/IP.

Il est utilisé pour accéder aux services d'annuaire, comme Active Directory de Microsoft ou Sun ONE Directory Server.

Un service d'annuaire est une sorte de base de données ou de stockage de données, mais pas nécessairement une base de données relationnelle. La structure est généralement beaucoup plus simple, stockant des collections hiérarchiques de paires nom-valeur, par ex. lastName = Smith, firstName = John.

15
wire science

LDAP IS un protocole, mais beaucoup de gens que je connais aiment surcharger sa signification pour inclure "tout magasin capable de répondre aux requêtes LDAP." Active Directory est un tel magasin, et il y en a beaucoup d'autres. Il est utilisé lorsque les architectes ne se soucient pas vraiment de ce qu'est le magasin. Il est utilisé de la même manière que si vous deviez dire "Stockez-le dans le SQL" lorsque vous ne vous souciez pas de savoir si c'est MySql ou Oracle ou SQL Server.

6

LDAP signifie Lightweight Directory Access Protocol. Il s'agit d'une norme de protocole de réseau ouvert extensible qui donne accès aux services d'annuaire distribués. LDAP est une norme Internet pour les services d'annuaire qui s'exécutent sur TCP/IP. Sous OpenLDAP et les serveurs associés, il y a deux serveurs - slapd, le démon LDAP où les requêtes sont envoyées et slurpd, le démon de réplication où les données d'un serveur sont poussées vers un ou plusieurs serveurs esclaves. En ayant plusieurs serveurs hébergeant les mêmes données, vous pouvez augmenter la fiabilité, l'évolutivité et la disponibilité.

Il définit les opérations que l'on peut effectuer comme rechercher, ajouter, supprimer, modifier, changer de nom. Il définit comment les opérations et les données sont transmises.

LDAP a le potentiel de consolider toutes les informations spécifiques aux applications existantes telles que les listes d'utilisateurs, de téléphones d'entreprise et de courriers électroniques. Cela signifie que la modification effectuée sur un serveur LDAP prendra effet sur chaque application basée sur un service d'annuaire qui utilise cette information utilisateur. La variété des informations sur un nouvel utilisateur peut être ajoutée via une interface unique qui sera mise à la disposition du compte Unix, du compte NT, du serveur de messagerie, du serveur Web, des groupes de discussion spécifiques à un travail, etc. Lorsque l'utilisateur quitte son compte, il peut être désactivé à tous les services en une seule opération.

LDAP est donc très utile pour fournir des "pages blanches" (par exemple, noms, numéros de téléphone, rôles, etc.) et des "pages jaunes" (par exemple, emplacement des imprimantes, serveurs d'applications, etc.) comme des services. Généralement, dans un environnement d'application J2EE, il sera utilisé pour authentifier et autoriser les utilisateurs.

5
Toumi

LDAP est un protocole créé en réponse à la complexité de la famille de protocoles X.500. Il est destiné à représenter une structure de répertoires hiérarchique. La norme X.500 était à l'origine destinée à être utilisée sur une pile de couches OSI complète et a été créée pour répondre aux exigences de l'industrie des télécommunications. LDAP a été conçu pour utiliser TCP/IP pour fournir des fonctionnalités similaires sans surcharge supplémentaire. Vous pouvez trouver des informations sur X.500, OSI et LDAP sur wikipedia. X.500 et OSI sont également couverts dans la plupart des manuels de communication de données.

4
Kenneth Cochran

Qu'est-ce que LDAP:

Tout LDAP est un protocole de communication que Microsoft a implémenté pour le service d'annuaire Active Directory et est utilisé pour d'autres fichiers NTDS.DIT. Permet d'éliminer la confusion. NTDS.DIT ​​contient la base de données Active Directory. Pour ACCÉDER à la base de données, vous avez besoin du protocole de communication LDAP. C'est ça. Encore une fois, NTDS.DIT ​​est une simple base de données, c'est-à-dire la base de données ADDS (Active Director Directory Services). Comment pouvons-nous y accéder?

Nous y accédons en utilisant LDAP.

permet d'utiliser un exemple rapide LDAP.
C: /users/data.doc

ou

Syntaxe LDAP

CN = Bob, OU = Users, DC = Youtube, DC = Com

CN = nom canonique (objet ou nom)

OU = Unité d'organisation (dossier dans Active Directory)

DC = contrôleur de domaine (où il se trouve)

Autres informations: Active Directory est une base de données basée sur la norme X.500 qui contient tous les objets AD qui sont le fichier NTDS.DIT.

3
LivCool

LDAP est essentiellement un protocole d'accès à un répertoire. L'annuaire désigne ici essentiellement un annuaire contenant des informations sur les utilisateurs présents dans l'organisation. Les exemples d'annuaire incluent Active Directory (AD) de Microsoft et l'annuaire Internet (OID) d'Oracle. L'annuaire est essentiellement utilisé pour implémenter la fonctionnalité de connexion unique pour l'organisation en centralisant l'authentification et l'autorisation des utilisateurs. Pour plus de détails, reportez-vous aux liens ci-dessous:

  1. http://searchmobilecomputing.techtarget.com/definition/LDAP
  2. https://eagledatagistics.com/what-is-enterprise-user-security-eus/
1
Shekhar Kanodia

LDAP est un protocole Internet, qui est utilisé pour rechercher des données à partir d'un serveur, ce protocole est utilisé pour stocker ainsi que récupérer les informations de la structure de répertoire hiérarchique. LDAP suit également un modèle de données de type hiérarchique. En termes simples, nous pouvons dire que c'est une base de données hiérarchique où les données sont stockées dans une structure arborescente où le nœud feuille contient les données réelles.

LDAP ne définit jamais le fonctionnement du programme sur le client ou le serveur, mais il explique davantage le type de messages qui seront utilisés pour communiquer entre le client et le serveur. Le message peut être l'information demandée par le client, la réponse du serveur et le format des données. Ces messages sont passés sur le protocole TCP/IP. Il doit donc exister une opération qui établira une connexion de session et la déconnectera une fois l'opération terminée entre le client et le serveur. LDAP peut également être utilisé dans le boîtier où un grand nombre d'opérations de lecture et moins d'opérations d'écriture sont nécessaires. Par exemple, l'authentification des utilisateurs car nous savons que le nom d'utilisateur et le mot de passe ne changent pas si souvent.

Processus d'opérations LDAP

Pour démarrer la communication, le client doit créer une session avec un serveur. Ce processus est appelé contraignant. Pour se lier au serveur, le client doit spécifier l'adresse IP ou le nom d'hôte et le numéro de port TCP/IP, où le serveur est présent. Le client peut également fournir des informations d'identification comme un nom d'utilisateur et un mot de passe pour garantir une authentification correcte avec le serveur. Alternativement, le client peut également créer une session anonyme en utilisant les droits d'accès par défaut. Ou les deux parties peuvent établir une session qui utilise des processus de sécurité plus solides comme le cryptage des données. Une fois la session établie, le client effectue ensuite son opération prévue sur les données d'annuaire. Dans LDAP, les informations d'annuaire peuvent être gérées et interrogées car elles fournissent des capacités de lecture et de mise à jour. Le client ferme la session lorsqu'il a terminé de faire une demande. Ce processus est appelé non contraignant. Modes LDAP LDAP s'appuie principalement sur les modèles de données comme

Modèle d'information Le répertoire comprend l'unité d'information de base et il est appelé entrée, qui représente un objet du monde réel comme des serveurs, des personnes, etc. Les entrées incluent une collection d'attributs qui définissent des informations sur l'objet. Chaque attribut comprend un type associé à la syntaxe et une ou plusieurs valeurs. Le diagramme suivant illustre la relation entre l'entrée et ses attributs et leur type et valeur:

Modèle de dénomination Le modèle de dénomination de LDAP indique comment les entrées sont reconnues et organisées. Dans LDAP, les entrées sont organisées selon une structure hiérarchique ou arborescente appelée DIT (Directory Information Tree). Les entrées sont classées dans le DIT selon leur DN (nom distinctif), un nom unique qui identifie clairement une seule entrée.

Modèle fonctionnel
LDAP définit les opérations demandées par un client et peut être divisé en trois catégories. Elles sont:

   1.  Query which is used to fetch information from a directory. Include operations like search and                   compare.

   2. Update which is used to update the information stored in the directory. Include operations like                add, modify and delete.

   3. Authentication which is  used to connect and disconnect with a server, create access rights and                preserve information. Include operations like bind, unbind and abandon.

Modèle de sécurité

In LDAP, the security model relies on the bind operation. Three different bind operations are                possible according to the security mechanisms applied. They are:
  1. Pas d'authentification

    La méthode la plus simple, mais ne peut être appliquée que lorsque la sécurité des données n'est pas un problème et qu'aucune autorisation de contrôle d'accès n'est enchevêtrée. Par exemple, le répertoire comprend le carnet d'adresses qui peut être parcouru par n'importe qui. Si l'utilisateur laisse le champ DN et mot de passe vide lors de l'appel de l'API de liaison, le serveur adoptera automatiquement une session utilisateur anonyme et accordera l'accès ainsi que les contrôles d'accès correspondants décrits pour ce type d'accès.

  2. Authentification de base

    L'authentification de base est le mécanisme de sécurité simple alternatif utilisé dans LDAP et il est utilisé dans plusieurs autres protocoles orientés Web, comme HTTP. Dans cette approche, le client doit s'authentifier auprès du serveur LDAP en saisissant un mot de passe et un DN qui sont transférés en texte clair sur le réseau. À l'autre extrémité, le serveur compare le DN et le mot de passe avec les entrées du répertoire. Et accorde l'accès si le mot de passe correspond. De plus, les mots de passe au format texte clair ne peuvent garantir la confidentialité; par conséquent, cela peut entraîner la divulgation d'un mot de passe à des parties non autorisées.

  3. SASL (Authentification simple et couche de sécurité)

    Ce cadre a été ajouté à LDAP V3 qui ajoute une méthode d'authentification supplémentaire aux protocoles orientés connexion. Ce mécanisme spécifie un protocole de défi et de réponse où le client et le serveur échangent des données pour assurer l'authentification et établir la couche de sécurité sur laquelle la communication suivante sera effectuée. Avec SASL, le protocole LDAP peut prendre en charge toute sorte d'authentification approuvée par un client LDAP et un serveur LDAP.

0
Mukesh

Oui, LDAP lui-même nécessite généralement un magasin de base de données de niveau inférieur. Je vous suggère de vous salir les mains ici:

Si vous installez juste OpenLDAP et jouez avec lui ... http://www.openldap.org/doc/admin22/install.html

... vous serez obligé de considérer les dépendances.

L'un d'eux est, dans ce cas, SleepyCat.

S'amuser.

Pour plus de plaisir, voici une bonne discussion philosophique sur la taxonomie: http://archive.oreilly.com/pub/post/ldap_is_not_a_database.html

0
Jonathan Scott