Россия, Санкт-Петербург, Северо-Западный заочный технический университет, 2007 |
Протокол LDAP
Основные характеристики LDAP
Основными характеристиками LDAP, которые определяют его свойства, являются:
- Способ хранения и доступа к информации – определяет типы данных, хранящихся в Каталоге, их взаимосвязи и способы обращения к ним (именование).
- Принцип функционирования – определяет операции в протоколе LDAP.
- Принцип обеспечения безопасности – определяет способы и методы защиты хранящейся в Каталоге информации.
- Распределенное множество серверов LDAP – определяет способы взаимодействия серверов LDAP и возможность поиска информации на нескольких серверах LDAP.
Способ хранения и доступа к информации
Рассмотрим информационную модель Каталога LDAP.
Каталог, как определено в стандарте Х.500, есть набор открытых систем, взаимодействующих для предоставления сервисов Каталога. Инфор-мация, хранящаяся в Каталоге, называется Информационной Базой Каталога (Directory Information Base – DIB). Пользователь Каталога, который может быть как человеком, так и машиной, получает доступ к Каталогу, используя клиентское ПО. Клиент от имени пользователя Каталога взаимодействует с одним или более серверами. Сервер хранит фрагмент DIB.
DIB содержит следующие типы информации:
- Пользовательская информация - информация, предоставляемая пользователям и, быть может, изменяемая ими.
- Административная и функциональная информация - информация, используемая для администрирования и/или функционирования Каталога.
Функция Каталога состоит в том, чтобы хранить информацию об объектах и предоставлять к ней доступ. Объектом может быть все, что может быть идентифицировано (поименовано).
Класс объекта есть идентифицированное семейство объектов, которые имеют общие характеристики. Каждый объект принадлежит по крайней мере одному классу. Класс объекта может быть подклассом других классов объектов, в этом случае члены первого класса (подкласса) также считаются членами второго класса (суперкласса). Цепочка подклассов может быть произвольной длины.
Запись Каталога – это поименованный набор информации. Она являет-ся основной единицей информации, хранящейся в Каталоге. Существует несколько видов записей Каталога.
Запись содержит информацию о конкретном объекте. Запись типа Alias (Псевдоним) обеспечивает способ альтернативного именования того же самого объекта.
Множество записей имеет иерархическую структуру дерева, которая называется Информационное Дерево Каталога – Directory Information Tree (DIT).
Сначала мы рассмотрим DIT, затем обсудим именование записей, структуру записей, классы объектов, описания атрибутов и alias-записи.
Информационное дерево Каталога
DIB является композицией множества записей, организованных иерархически в структуру дерева, известную как информационное дерево Каталога (Directory Information Tree – DIT). Вершинами дерева являются записи.
Дуги между вершинами определяют отношения между записями. Если существует дуга от Х к Y, то запись Х является родителем Y, и Y непосредственно подчиняется Х. Вышестоящими записями являются записи непосредственного родителя и его родителей. Подчиненными записями являются все записи, непосредственно подчиненные данной, и все их подчиненные.
Пример дерева Каталога:
В данном случае dc=msu и dc=oit – примеры записей. Запись dc=msu является родителем для записи dc=cmc, запись dc=cmc является подчиненной для записи dc=msu.
Способ именования
LDAP определяет иерархическую структуру данных, называемую DIT. Дерево Каталога в чем-то подобно файловой системе. Отличие от файловой системы состоит в следующем:
- Каждая запись в LDAP может как содержать данные, так и служить контейнером, т.е. содержать поддерево. В файловой системе каждая запись является либо файлом, либо каталогом, но не тем и другим одновременно.
- Уникальные имена LDAP читаются от данной точки к корневой точке, в файловой системе наоборот, от корневой точки к данной.
Принципы именования следующие:
- Все записи должны иметь имена.
- Имена не должны допускать конфликтов, т.е. все потомки некоторого родителя должны иметь уникальные имена (желательно, чтобы имена были информативными, хотя, естественно, понятие информативности является неформальным, и стандартом не определяется).
Относительные уникальные имена
Относительное уникальное имя (Relative Distinguished Name – RDN) является совокупностью некоторого множества записей.
Значения записей RDN должно быть уникальным среди всех непосред-ственных подчиненных вышестоящей записи.
Полные уникальные имена
Полное имя записи, известное как Distinguished Name (DN), является конкатенацией ее RDN и DN ее родителя. DN уникально определяет узел в дереве.
Приведем примеры DN:
В LDAPv3 для представления уникального имени (DN) используется строка UTF-8.
Самым левым элементом является последний элемент в дереве. Далее через запятую перечисляются элементы более высоких уровней.
Уникальные имена имеют две части.
- Левая часть называется относительным уникальным именем (RDN).
- Оставшаяся часть является базовым уникальным именем.
В приведенном выше примере RDN есть CN=olga
Базовое уникальное имя есть CN=Users,DC=olga,DC=oit,DC=cmc,DC=msu,DC=ru
Для каждого базового DN каждый RDN является уникальным. Это гарантирует, что никакие две записи не имеют один и тот же DN.
Запись LDAP
Вся информация в LDAP хранится в записях.
Основные свойства записи:
- Записи состоят из атрибутов.
- Атрибут состоит из типа и одного или более значений.
- Синтаксис атрибута определяется типом данного атрибута.
Запись состоит из множества атрибутов, хранящих информацию об объекте. Некоторые атрибуты хранят пользовательскую информацию и называются пользовательскими атрибутами. Другие атрибуты хранят функциональную и/или административную информацию и называются функциональными атрибутами.
Тип атрибута определяет, может ли атрибут иметь несколько значений, синтаксис и правила соответствия, используемые при создании и сравнении значений данного атрибута, и другие функции.
Два значения атрибута считаются эквивалентными, если эти значения одинаковые в соответствии с правилами эквивалентности для данного типа атрибута. Если для типа атрибута не определено правило эквивалентности, то два значения два значения этого атрибута считаются эквивалентными, если они одинаковые с учетом чувствительности к регистру.
Например, атрибут givenName может иметь более одного значения, эти значения должны быть Directory Strings и они не чувствительны к регистру. Поэтому атрибут givenName не может иметь одновременно значения John и JOHN, так как согласно правилу эквивалентности данного типа атрибута это эквивалентные значения.
Атрибуты
Атрибут состоит из имени атрибута и одного или более значений дан-ного атрибута.
Примеры имен атрибутов:
uid User id cn Common Name sn Surname l Расположение (Location) ou Организационная единица o Организация dc Контроллер Домена st Штат c Страна
Каждое значение атрибута должно быть уникальным, т.е. дублирова-ние не допускается.
Описания атрибута
Описание атрибута состоит из типа атрибута и возможно нескольких параметров атрибута.