Листья и контейнеры LDAP
После того как с помощью DNS нужный контроллер домена обнаружен, для доступа к данным Active Directory используется протокол LDAP. Как и DNS, LDAP — это стандарт, разработанный консорциумом IETF и происходящий от сложной, но не используемой широко службы каталогов Х.500, созданной в середине 80-х годов. Active Directory поддерживает не только версию 2 протокола LDAP, описанную в RFC 1777, но и версию 3, рассматриваемую в RFC 2251. В настоящее время практически все фирмы-поставщики служб каталогов предлагают LDAP-совместимые продукты, поэтому клиенты LDAP сторонних поставщиков могут обращаться к LDAP-серверу Active Directory. Протокол LDAP работает поверх TCP/IP и — как следует из названия протокола — определяет способы доступа к каталогу со стороны клиентов. Помимо механизма доступа данный протокол реализует соглашения по именованию информации в каталоге, в явном виде описывая структуру этой информации. Для клиента все данные, хранящиеся в базе LDAP, представляются в виде иерархического дерева. Каждый узел дерева (объект или элемент) может быть либо
контейнером
(container), либо
листом
(leaf). Различие между ними вполне очевидно: контейнеры могут содержать другие элементы, а листья — нет.
Каждый элемент (контейнер или лист) представляет собой некоторый объектный класс, определяющий атрибуты (называемые также
свойствами)
данного элемента. Поскольку атрибуты есть и у контейнеров, и у листьев, информация, хранящаяся в дереве каталога, распределена по всем узлам. Тип информации (объектные классы и типы атрибутов), содержащейся в конкретной базе данных Active Directory, задается схемой, определенной для этого каталога. В Active Directory схема каждого каталога представлена элементами, хранящимися непосредственно в самом каталоге. Компания Microsoft определяет стандартную схему, однако пользователи и разработчики программных средств могут добавлять новые классы и типы атрибутов. Изменение схемы каталога — полезная возможность, которой нужно пользоваться очень осторожно, поскольку такие изменения могут иметь весьма значительные последствия.
Схема Active Directory достаточно сложна и содержит сотни и сотни объектных классов и типов атрибутов. Ниже для примера перечислены некоторые интересные классы:
user — описывает конкретного пользователя домена. Среди атрибутов этого класса: canonicalName (Каноническое имя), userPrincipalName (Полное имя пользователя), homePostalAddress (Домашний почтовый адрес), telephoneNumber (Номер телефона), thumbnailPhoto (Фотография). |
|
printQueue — позволяет клиенту находить некоторый принтер. Среди атрибутов: location (Местоположение), printStatus (Состояние принтера) и printLanguage (Язык принтера). |
|
compoter — идентифицирует некоторый компьютер домена. Среди множества атрибутов этого класса: operatingSystem (Операционная система), operatingSystemServicePack, dNSHostName (DNS-имя хоста) и machineRole (Назначение компьютера; этот атрибут указывает, является ли данный компьютер контроллером домена, рядовым сервером или рабочей станцией). |
|
organizationalUnit — описывает подразделения конкретного домена. Самый важный.атрибут— ои (Имя организационной единицы). Организационные единицы играют очень важную роль при структурировании информации, внутри домена (это будет описано чуть позже). |