|
|
Компьютеры - LDAP - Функциональное описание протокола16 июня 2011
Оглавление: 1. LDAP 2. Стандарты 3. Функциональное описание протокола 4. Реализации
В протоколе LDAP определены следующие операции для работы с Каталогом:
- Операции подключения/отключения
- Подключение позволяет ассоциировать клиента с определённым объектом Каталога для осуществления контроля доступа для всех прочих операций чтения/записи. Для того, чтобы работать с Каталогом, клиент обязан пройти аутентификацию как объект, отличительное имя находится в пространстве имён, описываемом Каталогом. В запросе операции bind клиент может не указывать отличительное имя, в таком случае будет осуществлено подключение под специальным псевдонимом anonymous
- Отключение позволяет клиенту в рамках сеанса соединения с LDAP-сервером переключиться на аутентификацию с новым отличительным именем. Команда unbind возможна только после аутентификации на сервере с использованием bind, в противном случае вызов unbind возвращает ошибку
- Поиск чтение данных из Каталога. Операция сложная, на вход принимает множество параметров, среди которых основными являются:
- База поиска ветка DIT, от которой начинается поиск данных
- Глубина поиска может иметь значения: base, one, sub
- base поиск непосредственно в узле базе поиска
- one поиск по всем узлам, являющимся прямыми потомками базового в иерархии, то есть лежащим на один уровень ниже него
- sub поиск по всей области, нижележащей относительно базы поиска
- Фильтр поиска это выражение, определяющее критерии отбора объектов каталога, попадающих в область поиска, задаваемую параметром scope. Выражение фильтра поиска записывается в обратной польской нотации, состоящей из логических операторов и операндов, в свою очередь являющихся внутренними операторами сопоставления значений атрибутов LDAP с выражениями с использованием знака равенства.
Логические операторы представлены стандартным «набором»: &, | и !.
Пример фильтра поиска:
)
))
- Операции модификации позволяют изменять данные в Каталоге, при этом в понятие модификации входит как добавление, удаление и перемещение записей целиком, так и редактирование записей на уровне их атрибутов. Подтипы модификации:
- Добавление добавление новой записи
- Удаление удаление записи
- Модификация RDN перемещение/копирование записи
- Модификация записи позволяет редактировать запись на уровне её атрибутов,
- добавляя новый атрибут или новое значение многозначного атрибута
- удаляя атрибут со всеми его значениями
- заменяя одно значение атрибута на другое
- а также увеличивая значение атрибута в рамках атомарной операции
- Операция сравнения позволяет для определённого отличительного имени сравнить выбранный атрибут с заданным значением
Операция запроса возможностей
В стандарте LDAP определена специальная операция, позволяющая клиентам получать информацию о поддерживаемых сервером версиях протокола и возможностях LDAP-сервера. Эта команда является надстройкой для операции search и выполняется при следующем сочетании параметров последней:
- BIND анонимный
- База поиска baseDN указана как ""
- Глубина поиска scope указана как base
- Фильтр поиска:
- Перечень запрашиваемых атрибутов: либо явное перечисление, либо «+»
Например, при использовании LDAP-клиента из поставки OpenLDAP команда запроса возможностей может выглядеть как:
ldapsearch -x -H ldap://host:port -LLL -b "" -s base '' suppotedControls supportedCapabilities
Операция запроса схемы
Для запроса информации о действующей схеме LDAP-каталога прежде необходимо выполнить Операцию запроса возможностей, получив значение атрибута subschemaSubentry.
ldapsearch -x -H ldap://host:port -LLL -s base -b "" '' subschemaSubentry
Полученное значение используется в качестве Отличительного имени базы поиска в Операции запроса схемы, которую можно описать так:
- BIND анонимный, либо полный. Большинство серверов каталогов поддерживают запрос схемы без предварительного BIND, но, есть исключения;
- База поиска baseDN равна значению атрибута subschemaSubentry, возвращаемого Операцией запроса возможностей;
- Глубина поиска scope указана как base;
- Фильтр поиска: ;
- Перечень запрашиваемых атрибутов: явное перечисление атрибутов возможно для всех серверов каталогов, в случае OpenLDAP и некоторых других возможно указание «+»;
Например, при использовании LDAP-клиента из поставки OpenLDAP Операция запроса схемы может выглядеть так:
ldapsearch -x -H ldap://host:port -LLL -s base -b "cn=Subschema" '' ldapSyntaxes matchingRules
Просмотров: 3574
|