Протокол LDAP
Для лучшего понимания роли протокола LDAP рассмотрим основные идеи спецификации Х.500. Данная спецификация была разработана Международным консультационным комитетом по телефонии и телеграфии (Consultative Committee for International Telephone and Telegraph, CCITT) совместно с Международной организацией по стандартизации (International Standardization Organization, ISO).
В рамках спецификации Х.500 определяется ряд понятий:
- системный агент каталога (Directory System Agent, DSA) представляет собой базу данных, в которой хранится информация каталога. База данных имеет иерархическую организацию и позволяет быстро и эффективно осуществлять поиск и извлечение необходимых данных;
- агент пользователя каталога (Directory User Agent, DUA) обеспечивает функциональность доступа к каталогу, которая может быть реализована в различных пользовательских приложениях;
- протокол доступа к каталогу (Directory Access Protocol, DAP) контролирует процесс взаимодействия между системным и пользовательским агентами каталога.
Протокол DAP является достаточно громоздким и сложным. Поэтому позднее специалисты предложили несколько его модификаций, обеспечивающих более простой и быстрый способ доступа к каталогу. Одной из таких модификаций является протокол Lightweight Directory Access Protocol (LDAP, Облегченный протокол доступа к каталогу), впервые описанный в рамках спецификации RFC 1487. На настоящий момент имеются три версии этого протокола. Версия 2 описана в рамках RFC 1777, а версия 3 в спецификации RFC 2251.
Протокол LDAP обеспечивает доступ к каталогу, разработанному в соответствии с рекомендациями стандарта Х.500. Протокол представляет собой стандартное средство реализации доступа и обновления информации в каталоге для приложений. Протокол LDAP является частью стека протоколов TCP/IP, что и послужило одной из причин его популярности.
Другая ключевая особенность протокола LDAP, обеспечившая ему широкое распространение, заключается в том, что протокол не требует от каталога полной совместимости со спецификацией Х.500. Основное требование – служба каталога должна поддерживать систему именования Х.500. Это очень важный факт, поскольку, вопреки широко распространенному заблуждению, служба каталога Active Directory не является Х.ЗОО-каталогом. Разработчики компании Microsoft взяли за основу информационную модель Х.500 и реализовали поддержку протокола LDAP. Это позволило обеспечить необходимый уровень совместимости с большинством существующего программного обеспечения, что в условиях гетерогенных сред является одним из важнейших факторов. Доступ к содержимому каталога Active Directory no протоколу LDAP может осуществляться с помощью любого LDAP-клиента. При этом использование протокола LDAP не является единственно возможным способом доступа к каталогу Active Directory.
Служба каталога Active Directory поддерживает протокол LDAP версий 2 и 3.
Спецификация протокола LDAP базируется на четырех моделях.
- Информационная модель (Information Model) описывает структуру каталога и содержащейся в ней информации.
- Модель именования (Naming Model) описывает схему организации информации в каталоге и используемые схемы именования и идентификации объектов каталога.
- Функциональная модель (Functional Model) определяет действия, которые могут быть осуществлены над информацией, размещенной в каталоге.
- Модель безопасности (Security Model) описывает механизмы защиты информации, размещенной в каталоге.
Понимание этих моделей необходимо как для эффективного использования служб Active Directory в целом, так и для работы со многими системными утилитами и программами. Понимание моделей, на которых базируется протокол LDAP, необходимо также и для написания многих административных сценариев.