155
дублирования в прикладных программах функциональных возможностей системы, например, средств безопасности.
Архитектура Active Directory
Служба каталогов нужна многим приложениям. Требуется она и операционным системам, которым удобно хранить в едином каталоге учетные записи пользователей, информацию о файлах и приложениях политики безопасности и многое другое.
Если в некоторой распределенной среде отсутствует главный, центральный каталог, то каждому приложению необходимо иметь собственный каталог, в результате чего появляются различные решения и механизмы хранения информации. Понятно, что наличие нескольких механизмов, реализующих одну и ту же задачу — далеко не самое удачное решение. Гораздо лучше — единственная служба каталогов, доступная всем клиентам и имеющая одну базу данных, общие схему и соглашения об именовании информации, а также возможность централизованного администрирования.
Операционная система Windows хранит в каталоге информацию о пользовательских учетных записях, принтерах и компьютерах сети, а также многое другое. Большое значение Active Directory имеет для Windows Management Architecture (Архи-
тектура управления Windows) — в частности, с помощью каталога ищутся серверы, на которых располагаются компоненты приложений.
Служба Active Directory основана на трех базовых техноло-
гиях:
Стандарт Х.500.
Служба DNS.
Протокол LDAP.
В Active Directory частично реализована модель данных, описываемая стандартом Х.500. Традиционная в сетях TCP/IP служба DNS используется, в частности, для поиска контроллеров домена, а благодаря протоколу LDAP (Lightweight Directory Access Protocol) клиенты могут по имени находить в каталоге Active Directory нужные объекты и получать доступ к их атрибутам.
156
Объекты и объектные классы
Каталог состоит из элементов (entries), представляющих собой информацию, или атрибуты, связанные с некоторым реальным объектом, например компьютером, человеком или организацией. Термины элемент и объект часто используют как взаимозаменяемые, хотя объект — это нечто относящееся к физическому миру, а элемент — его представление в каталоге.
Каждый объект принадлежит, по крайней мере, к одному объектному классу, представляющему собой некоторое семейство объектов с определенными общими характеристиками. Класс объектов определяет тип информации, содержащейся в Active Directory для экземпляров (объектов) данного класса. В качестве примера объектных классов можно привести два стандартных класса: person и domain. Среди множества атрибутов этих классов— cn (Common-Name), userPassword (User-Password) и dc (DomainComponent), url (WWW-Page-Other), соответственно. Атрибуты могут быть как обязательными (mandatory) для данного класса
(например, сn и dc), так и дополнительными (optional) (userPassword и url).
Помимо стандартных объектных классов можно описывать дополнительные классы, относящиеся к различным уровням
(national и local).
Атрибуты и их типы
Каждый элемент каталога имеет атрибуты различных типов, характеризующих информацию, содержащуюся в этих атрибутах. Например, атрибут типа commonName представляет собой имя, идентифицирующее некоторый объект. Каждый атрибут может иметь одно или несколько значении.
Помимо атрибутов стандартных типов можно создавать и использовать дополнительные типы атрибутов.
Контейнер
Контейнер (container) — это специфический объект службы каталогов, который, в отличие от обычных объектов, не имеет ка- кого-либо физического представления, а служит только структурной организации — группировки — других объектов каталога. Типичным примером контейнеров могут служить организаци-
157
онные единицы, или подразделения, используемые для упрощения администрирования отдельных групп ресурсов или пользователей в домене.
Информационное дерево каталога
Элементы каталога организованы в виде иерархического де-
рева, называемого Directory Information Tree (DIT, Информаци-
онное дерево каталога или просто Дерево каталога). Элементы, находящиеся ближе к корню дерева, обычно представляют крупные объекты, например, организации или компании; элементы, располагающиеся на ветвях этого дерева, (листья) представляют более простые объекты — пользователей, устройства, компьютеры.
Схема каталога
Схема каталога (Directory Schema) — это набор правил,
описывающих структуру дерева каталога, объявления и синтаксис объектных классов и типы атрибутов, входящих в каталог.
Схема каталога гарантирует, что все добавления или изменения каталога соответствуют данным правилам, и препятствует появлению некорректных элементов, ошибочных типов атрибутов или классов.
В Active Directory схема реализована как набор экземпляров объектных классов, хранящийся в самом каталоге. Этим Active Directory отличается от многих каталогов, в которых схема хранится в текстовом файле, считываемом при запуске каталога. Когда схема хранится в каталоге, пользовательские приложения могут обращаться к ней и узнавать об имеющихся объектах и свойствах.
Пространство имен
Любая служба каталога в первую очередь представляет собой некоторое пространство имен (namespace). Пространство имен — это любая ограниченная область, в которой можно по имени обратиться к атрибутам самого объекта или к информации, связанной с этим именем. Процесс преобразования имени в ссылку на объект называется разрешением имен. За иерархию пространства имен, за его топологию и структуру отвечает служба каталогов Active Directory. Основные компоненты любой службы каталога — база данных, содержащая нужную информацию, и
158
один или несколько протоколов, обеспечивающих доставку данных пользователям.
Active Directory обеспечивает хранение любой общедоступной информации. Как и другие службы каталогов, Active Directory обеспечивает некоторый механизм хранения информации и протоколы для доступа к ней.
Домены и Контроллеры доменов Домены — это известное решение для администрирования
групп, предоставляющее каждому пользователю учетную запись в конкретном домене. Доменная система внедрялась начиная с Windows NT Server, где доменам давались простые строковые имена (имена NetBIOS), в среде же Windows 2000 Server каждый домен должен иметь имя, отвечающее соглашениям именования доменов Domain Name System (DNS). Так, домен MainOffice при обновлении может получить новое имя типа mainqfflce.company.com. В каждом домене один или несколько компьютеров должны выполнять функции контроллеров домена. Каждый контроллер домена содержит полную копию базы данных Active Directory этого домена. В Active Directory исполь-
зуются так называемое ядро Extended Storage Engine (ESE) и два различных протокола, обеспечивающих связь между клиентами и базой данных. Для поиска контроллера домена клиент обращается к протоколу, описанному в DNS — стандартной службе каталогов, применяемой в настоящее время для сетей TCP/IP. Для доступа к данным в Active Directory клиент использует протокол
Lightweight Directory Access Protocol (LDAP) (рис. 6.21).
Рис. 6.21
159
Службы DNS и Active Directory
Интеграцию служб Active Directory и DNS можно рассматривать в трех аспектах:
Домены Active Directory и домены DNS имеют одинаковую иерархическую структуру и схожее пространство имен.
Зоны (zone) DNS могут храниться в Active Directory. Если
используется сервер DNS, входящий в состав
Windows 2000 Server, то первичные зоны (primary zone), занесен-
ные в каталог, реплицируются на все контроллеры домена, что обеспечивает лучшую защищенность службы DNS.
Использование клиентами службы DNS при поиске контроллеров домена.
Active Directory может использовать любую стандартную, законченную реализацию службы DNS: не обязательно задействовать DNS-сервер, входящий в Windows 2000 Server (например; можно использовать BIND 8.1.x). Однако лучше остановить свой выбор на нем, поскольку модули Windows 2000 более согласованы друг с другом (хранение и репликация зон и т.п.), ведь необходимо, чтобы выбранный DNS-сервер соответствовал последним стандартам. Например, для Active Directory нужен DNSсервер, поддерживающий записи типа SRV. Записи подобного типа (SRV records), в соответствии с RFC 2052, позволяют клиентам находить нужные сетевые службы. В Active Directory служба LDAP каждого домена Windows 2000 представлена некоторой SRV-записью службы DNS. Такая запись содержит DNS-имя контроллера этого домена, по которому клиенты Active Directory могут находить IP-адрес компьютера-контроллера домена. После того как нужный контроллер обнаружен, для доступа к данным Active Directory, хранящихся на нем, клиент может использовать протокол LDAP.
Windows 2000 Server поддерживает также службу динами-
ческого именования хостов, Dynamic DNS. В соответствии с
RFC 2136 служба Dynamic DNS расширяет протокол DNS, позволяя модифицировать базу данных DNS со стороны удаленных систем. Например, при подключении некоторый контроллер домена может сам добавлять SRV-запись для себя, освобождая администратора от такой необходимости.