Интернет магазин китайских планшетных компьютеров



Компьютеры - 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



Просмотров: 3431


<<< LCP
Line Printer Daemon >>>