Может кто-нибудь объяснить, пожалуйста, LDAP? - PullRequest
50 голосов
/ 08 мая 2009

Я часто слышу такие вещи, как «Можем ли мы загрузить информацию о наших сотрудниках с помощью LDAP?» Тем не менее, название «Облегченный протокол доступа к каталогам» заставляет меня думать о нем как о протоколе, а не физической системе управления базами данных, такой как Oracle или MSSQL.

Так может кто-нибудь объяснить мне, что такое LDAP, как он используется и как он в основном работает? Является ли LDAP просто стандартным протоколом для извлечения данных из различных СУБД? На диаграмме архитектуры LDAP будет просто стрелкой, нарисованной между БД и сервером приложений?

Ответы [ 10 ]

35 голосов
/ 08 мая 2009

LDAP - это протокол для запроса пользовательских каталогов. Например, Active Directory или Novell eDirectory поддерживают LDAP. Это также, в некоторой степени, синтаксис для выполнения таких запросов, например, то, как SQL является языком запросов для запросов к базам данных.

Команда LDAP может выглядеть как

(GivenName = Mike)

И он вернул бы все Майки в каталоге.

21 голосов
/ 08 мая 2009

LDAP обычно используется в качестве базы данных аутентификации. Допустим, у вас есть продукт CMS, который вы продаете как программное обеспечение как услуга. Таким образом, пользователь получает CMS, и вы поддерживаете его и т. Д.

Итак, вы устанавливаете его на examplecustomer1.com, examplecustomer2.org, examplecustomer3.net (одно программное обеспечение на домен). Теперь у вас есть три пользовательские базы данных для обслуживания. Таким образом, вы добавляете себя во все системы в качестве учетных записей администратора и клиентов.

Тогда вы обнаружите LDAP. Вы добавили поддержку LDAP в свой продукт, и теперь у вас есть одна центральная база данных пользователей. Вы можете войти в систему с правами администратора для всех систем под своим ОДНЫМ именем пользователя и паролем. Система CMS по-прежнему содержит базу данных пользователей и права для каждого пользователя, но теперь имя пользователя используется в качестве ссылки на базу данных LDAP, а поле пароля удаляется из схемы базы данных CMS.

15 голосов
/ 08 мая 2009

Да, LDAP (облегченный протокол доступа к каталогам) - это протокол, работающий по протоколу TCP / IP.

Он используется для доступа к службам каталогов, таким как Microsoft Active Directory или Sun ONE Directory Server.

Служба каталогов - это своего рода база данных или хранилище данных, но не обязательно реляционная база данных. Структура обычно намного проще, хранит иерархические коллекции пар имя-значение, например, lastName = Смит, firstName = Джон.

6 голосов
/ 08 мая 2009

LDAP - это протокол, но многие люди, которых я знаю, любят перегружать его значение, добавляя «любое хранилище, способное отвечать на запросы LDAP». Active Directory - это такой магазин, и есть много других. Он используется, когда архитекторам все равно, что это за магазин. Он используется так же, как если бы вы сказали «Сохранить его в SQL», когда вам все равно, MySql, Oracle или SQL Server.

5 голосов
/ 10 октября 2014

LDAP означает облегченный протокол доступа к каталогам. Это расширяемый стандарт открытого сетевого протокола, который обеспечивает доступ к службам распределенных каталогов. LDAP - это интернет-стандарт для служб каталогов, работающих на TCP / IP. Под OpenLDAP и связанными серверами есть два сервера - slapd, демон LDAP, где запросы отправляются и slurpd, демону репликации, где данные с одного сервера отправляются на один или несколько подчиненных серверов. Имея несколько серверов, на которых размещены одни и те же данные, вы можете повысить надежность, масштабируемость и наличие.

Определяет операции, которые можно выполнять, такие как поиск, добавление, удаление, изменение, изменение имени. Он определяет, как передаются операции и данные.

У LDAP есть потенциал для консолидации всей существующей информации о конкретном приложении, такой как пользователь, телефон компании и списки адресов электронной почты. Это означает, что изменения, внесенные на сервере LDAP, вступят в силу для каждой службы каталогов. на основе приложения, которое использует эту часть пользовательской информации. Разнообразие информации о новом пользователе может быть добавлено через единый интерфейс, который будет доступен для учетной записи Unix, учетной записи NT, сервера электронной почты, Web Сервер, Задание конкретных групп новостей и т. Д. Когда пользователь покидает свою учетную запись, он может быть отключен для всех служб в одна операция.

Таким образом, LDAP наиболее полезен для предоставления «белых страниц» (например, имен, телефонных номеров, ролей и т. Д.) И «желтых страниц» (например, расположение принтеров, серверов приложений и т. д.). Обычно в среде приложений J2EE это будет используется для аутентификации и авторизации пользователей.

4 голосов
/ 08 мая 2009

LDAP - это протокол, созданный в ответ на сложность семейства протоколов X.500. Он предназначен для представления иерархической структуры каталогов. Изначально стандарт X.500 предназначался для использования над полным стеком уровней OSI и был создан для удовлетворения требований телекоммуникационной отрасли. LDAP был разработан для использования TCP / IP для обеспечения аналогичной функциональности без дополнительных затрат. Вы можете найти информацию о X.500, OSI и LDAP в Википедии. X.500 и OSI также рассматриваются в большинстве учебников по передаче данных.

3 голосов
/ 15 сентября 2015

Что такое LDAP:

Все LDAP - это протокол связи, который Microsoft реализовала для службы каталогов Active Directory и используется для других файлов NTDS.DIT. Давайте избавимся от путаницы. NTDS.DIT ​​содержит базу данных Active Directory. Для доступа к базе данных вам необходим протокол связи LDAP. Это оно. Итак, снова NTDS.DIT ​​- это простая база данных, т.е. база данных ADDS (службы каталогов Active Director). Как мы к ней получаем доступ?

Мы обращаемся к нему с помощью LDAP.

позволяет использовать быстрый пример LDAP.
C: /users/data.doc

или

Синтаксис LDAP

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

CN = каноническое имя (объект или имя)

OU = организационная единица (папка в активном каталоге)

DC = контроллер домена (где он находится)

Другая информация: Active directory - это база данных, основанная на стандарте X.500, которая содержит весь объект AD, который является файлом NTDS.DIT.

1 голос
/ 28 июля 2017

LDAP - это протокол доступа к каталогу. Каталог здесь в основном относится к каталогу, имеющему информацию о пользователях, присутствующих в организации. Примеры каталога включают Microsoft Active Directory (AD) и Oracle Internet Directory (OID). Каталог в основном используется для реализации функции единого входа для организации путем централизации аутентификации и авторизации пользователей. Для более подробной информации см. Ссылки ниже:

  1. http://searchmobilecomputing.techtarget.com/definition/LDAP
  2. https://eagledatagistics.com/what-is-enterprise-user-security-eus/
0 голосов
/ 09 июня 2019

LDAP - это интернет-протокол, который используется для поиска данных с сервера, этот протокол используется для хранения, а также для извлечения информации из иерархической структуры каталогов. LDAP также следует модели данных, которая имеет иерархический тип. Говоря простым языком, мы можем сказать, что это иерархическая база данных, в которой данные хранятся в древовидной структуре, где конечный узел содержит фактические данные.

LDAP никогда не определяет, как программа функционирует ни на клиенте, ни на сервере, но объясняет больше о типе сообщений, которые будут использоваться для связи между клиентом и сервером. Сообщение может быть запрошенной клиентом информацией, ответом сервера и форматом данных. Эти сообщения передаются по протоколу TCP / IP. Таким образом, должна существовать некоторая операция, которая установит соединение сеанса и отключит его после завершения операции между клиентом и сервером. LDAP может использоваться в случае, когда требуется большое количество операций чтения и меньшее количество операций записи. Например, аутентификация пользователя, поскольку мы знаем, что имя пользователя и пароль меняются не так часто.

Процесс работы с LDAP

Чтобы начать связь, клиент должен создать сеанс с сервером. Этот процесс называется обязательным. Чтобы привязаться к серверу, клиент должен указать IP-адрес или имя хоста и номер порта TCP / IP, на котором находится сервер. Клиент также может предоставить учетные данные, такие как имя пользователя и пароль, чтобы обеспечить правильную аутентификацию на сервере. В качестве альтернативы клиент также может создать анонимный сеанс с использованием прав доступа по умолчанию. Или обе стороны могут установить сеанс, который использует более строгие процессы безопасности, такие как шифрование данных. Как только сеанс установлен, клиент затем выполняет свою предполагаемую операцию над данными каталога. В LDAP информация о каталогах может управляться и запрашиваться, поскольку она обеспечивает возможности чтения и обновления. Клиент закрывает сессию, когда он закончил делать запрос. Этот процесс называется unbinding. Режимы LDAP LDAP в основном опирается на модели данных, такие как

Информационная модель Каталог включает в себя базовую единицу информации и называется записью, которая представляет собой объект реального мира, такой как серверы, люди и так далее. Записи включают в себя набор атрибутов, которые определяют информацию об объекте. Каждый атрибут включает тип, связанный с синтаксисом, и одно или несколько значений. Следующая диаграмма иллюстрирует взаимосвязь между записью и ее атрибутами, а также их типом и значением:

Наименование модели Модель именования LDAP обозначает, как записи распознаются и организуются. В LDAP записи организованы в иерархическую или древовидную структуру, называемую DIT (информационное дерево каталога). Записи упорядочены в DIT в соответствии с их DN (различимым именем), уникальным именем, которое четко идентифицирует одну запись.

Функциональная модель
LDAP определяет операции, запрошенные клиентом, и может быть разделен на три категории. Это:

   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.

Модель безопасности

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. Без аутентификации

    Самый простой метод, но его можно применять только в том случае, если безопасность данных не является проблемой и не запутаны права доступа. Например, каталог включает в себя адресную книгу, которая может быть просмотрена кем угодно. Если пользователь оставил поле DN и пароль пустым во время вызова API связывания, сервер автоматически примет сеанс анонимного пользователя и предоставит доступ вместе с соответствующими элементами управления доступом, описанными для этого типа доступа.

  2. Базовая аутентификация

    Базовая аутентификация - это альтернативный простой механизм безопасности, используемый в LDAP, и он применяется в нескольких других веб-ориентированных протоколах, например HTTP. При таком подходе клиент должен аутентифицировать себя на сервере LDAP путем ввода пароля и DN, которые передаются в виде открытого текста по сети. С другой стороны, сервер сравнивает DN и пароль с записями в каталоге. И предоставляет доступ, если пароль совпадает. Кроме того, пароли в текстовом формате не могут гарантировать конфиденциальность; следовательно, может привести к разглашению пароля посторонним лицам.

  3. SASL (простой уровень аутентификации и безопасности)

    Эта структура была добавлена ​​в LDAP V3, которая добавляет дополнительный метод аутентификации в протоколы с установлением соединения. Этот механизм определяет протокол запроса и ответа, где клиент и сервер обмениваются некоторыми данными, чтобы обеспечить аутентификацию и установить уровень безопасности, на котором будет осуществляться последующий обмен данными. С помощью SASL протокол LDAP может поддерживать любой тип аутентификации, одобренный клиентом LDAP и сервером LDAP.

0 голосов
/ 16 июня 2015

Да, сам LDAP обычно требует хранилища БД более низкого уровня. Я предлагаю вам испачкать руки здесь:

Если вы просто установите OpenLDAP & играть с ним ... http://www.openldap.org/doc/admin22/install.html

... вы будете вынуждены учитывать зависимости.

Одним из которых, в данном случае, является SleepyCat.

Веселись.

Для большего удовольствия, вот хорошее философское обсуждение таксономии: http://archive.oreilly.com/pub/post/ldap_is_not_a_database.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...