Что делает LDAP?

Я был в контакте с LDAP во многих проектах, в которых я был вовлечен, но, правда, я действительно не понимаю. Я думал, что это всего лишь справочник, но после того, как я обнаружил, что он может содержать любые объекты в иерархической структуре.

Я установил openldap в свой ящик, и я нашел много руководств относительно только установки.

Что такое LDAP? Каковы сценарии, где LDAP является правильным выбором? Каковы концепции LDAP, которые я должен знать для работы с ним? В чем преимущества LDAP? Используется ли он только потому, что старые приложения использовали его? Есть ли хороший документ в Интернете, объясняя все эти вопросы?

UPDATE: В дополнение к ответам я нашел эту ссылку, в которой содержится краткое руководство для новичков LDAP, подобных мне.

Ответ 1

Что такое LDAP? Каковы сценарии, где LDAP является правильным выбором?

В своей основе LDAP - это протокол для доступа к объектам, которые подходят для хранения в каталоге. Является ли что-то "подходящим", является полностью субъективным определением, которое осталось до исполнителей, но, как правило, это означает, что коллекции многих объектов, у которых есть нечасто (или никогда) обновленные данные, где каждый объект имеет очевидный или канонический способ поиска:

  • телефонную книгу (поиск по имени или по номеру телефона)
  • заголовки в библиотеке (поиск по названию, автору и т.д.).
  • арендаторы в здании (поиск по полу, номеру, названию и т.д.).

и т.д.

Обратите внимание, что сам LDAP - это всего лишь протокол и не обеспечивает никакого реального хранилища. Точно так же HTTP не означает ничего о том, используете ли вы Apache, Jetty, Tomcat, Mongrel и др. как веб-сервер. (Одна проблема с LDAP в целом заключается в запутанном повторном использовании имен для обозначения разных вещей. Wikipedia имеет хороший раздел on это.)

Ответ 2

DIT - это иерархическая схема описания, которая очень хорошо поддается альфам B-Tree, что приводит к огромным результатам поиска в большинстве случаев. Сервер каталогов, такой как OpenDS, возвращает индексированные поисковые запросы в микросекундах, тогда как системы РСУБД намного медленнее. Серверы каталогов (часто называемые серверами LDAP) торговых ресурсов (ОЗУ, ЦП) для быстрого считывания. Системы РСУБД обеспечивают большую функциональность с точки зрения управления данными. Нужна скорость с небольшим или нулевым обновлением, простотой и небольшим сетевым протоколом? Используйте сервер каталогов. Нужны ли возможности управления данными и интеллектуального анализа данных и/или высокая скорость изменения базы данных с реляционными аспектами, определенными между данными? Используйте СУРБД (MySQL - ваш лучший выбор здесь).

Ответ 3

LDAP имеет O (1) производительность чтения в обмен на производительность O (что-то хуже). Он идеально подходит для данных, к которым часто обращались, но редко менялся - каталогов людей, имен машин и адресов и т.д. (отсюда и аббревиатура: Lightweight Directory Access Protocol.)

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

Ответ 4

Эта ссылка объяснит LDAP http://blogs.oracle.com/raghuvir/entry/ldap

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

Ответ 5

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

LDAP предоставляет вам иерархию, которая сложнее сделать в базе данных. Вы можете создать иерархию в базе данных, но сложнее делать такие вещи, как делегирование (эти строки принадлежат вам только) или ACL в строках. Поэтому выталкивание проблем безопасности из базы данных проще, если вы используете LDAP для хранения идентификаторов пользователей. Попытка решить его в базе данных странно.

В то же время LDAP ужасен для отчетности (преобразовать LDAP в БД для отчетности). Хранение атрибутов в глубине дерева, которые нужно быстро искать, может быть проблематичным для производительности (не делайте этого, не создавайте БД или не пытайтесь сгладить запрос, переработав свой DIT). Хранение атрибутов по всему месту в действительно глубоком DIT - это просто плохой LDAP или дизайн системы, но иногда это неизбежно, если вы привязаны к продукту поставщика или устаревшему приложению.

Ответ 6

Я работаю неполный рабочий день и студент. Моя учебная программа поощряет (требуется чтение) многих проектов группы.

Я использовал openLdap и phpLdapAdmin для контроля доступа к моим репозиториям Subversion и Mercurial, проектам Trac, Hudson и т.д. Это было нелегко установить, но время, сохраненное в администрировании, было отправлено Богом.

Если у вас есть проекты, в которых у вас будет много групп людей, которые должны иметь возможность использовать разные ресурсы, это хороший инструмент.

Ответ 7

LDAP - это всего лишь протокол, статья wikipedia объясняет это адекватно http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol

Его способ запросить базовую организационную структуру, такую ​​как Microsoft Active Directory. Вы можете использовать LDAP-запросы для получения всех видов информации о пользователях, использовать их для настройки прав приложения и т.д.

Ответ 8

LDAP - это протокол доступа; он предоставляет API только для базовой технологии, для которой вы пытаетесь найти приложения - служба каталогов. OpenLDAP - одна из служб каталогов с открытым исходным кодом; У Sun есть другая реализация под названием OpenDS. Active Directory и Novell NDS - еще два, которые обычно видны в поле.

Каталог может использоваться для хранения информации о любом виде ресурса и взаимоотношениях между ресурсами - например, права пользователя на каталог, принтер или устройство доступа к сети.

Ответ 10

В одном из моих старых рабочих мест мы использовали LDAP в качестве нашей основной системы аутентификации пользователя.

Это, в свою очередь, предоставило нашим различным системам информацию об этом. они принадлежали, где они должны были устанавливать домашние каталоги, контактную информацию, управление сотрудниками.

Не обязательно контролируется LDAP, но другие вещи, которые мы смешали для работы через LDAP, - это наличие пользователей SQL, генерация учетных записей K4, Samba и электронной почты.

Ответ 11

Есть ли хороший документ в Интернете, объясняя все эти вопросы?

IBM опубликовала отличную Красную книгу о LDAP. Название: Общие сведения о LDAP - Дизайн и реализация.

Он может быть загружен из предыдущей ссылки.