Модификация схемы
Схема Active Directory содержит большинство постоянно используемых классов и атрибутов, необходимых для реализации службы каталога предприятия. Эти атрибуты и классы определяются как объекты Category 1 (Категория 1), или основные объекты схемы. Для поддержки классов и атрибутов, определяемых клиентом, при разработке схемы Active Directory закладывались возможности ее расширения. Другими словами, она может быть изменена для включения новых объектов классов и атрибутов, в которых, возможно, нуждается организация. Объекты схемы, которые создаются позднее, определяются как объекты Category 2 (Категория 2). Схему обычно расширяют для того, чтобы она удовлетворяла потребностям приложений, пользующихся поддержкой Active Directory. Хорошим примером такого приложения является Microsoft Exchange Server 2000, для поддержки которого при конфигурировании Active Directory было сделано более тысячи дополнений к схеме.
Кроме использования приложений, пользующихся поддержкой Active Directory, администраторы могут расширять схему другими методами. Это можно сделать в пакетном режиме с помощью средств администрирования с командной строкой, включая инструменты LDAP Data Interchange Format Directory Exchange (LDIFDE) и Comma Separated Value Directory Exchange (CSVDE). Схема может быть расширена программно, используя Active Directory Service Interfaces (ADSI) и сценарии Microsoft Visual Basic.
Дополнительная информация. Для получения дополнительной информации об инструментах LDIFDE или CSVDE напечатайте название команды в командной строке для вызова онлайновой подсказки. Для получения дополнительной информации об ADSI и ADSI Edit обратитесь к комплекту разработки программного обеспечения Microsoft Windows Platform (SDK), который можно загрузить или заказать на компакт-диске на сайте http:// www.microsoft.com/msdownload/platformsdk/sdkupdate.Чacть ADSI Platform SDK можно просмотреть интерактивно на сайте http://msdn.microsoft.com/library/default.asp?url=/library/ en-us/netdir/adsi/directory_services.asp.
Схема может быть изменена через интерфейс пользователя Windows Server 2003 с помощью оснастки Active Directory Schema. Сначала нужно зарегистрировать оснастку, выполнив команду Regsvr32 Schmmgmt.dll из командной строки. Для изменения схемы вы должны быть членом глобальной группы Schema Admins (Администраторы схемы). Чтобы понять, как работает изменение схемы, представьте себе, что организации необходимо сохранять записи о датах, когда служащие приступили к работе, т.е. сохранять дату начала работы служащего как ат-
рибут пользовательского объекта в Active Directory. Чтобы этот атрибут был доступен при создании каждого нового пользовательского объекта, он сначала должен быть определен в схеме.
С помощью оснастки Active Directory Schema вы можете добавить новый атрибут к схеме и связать его с объектом класса User. Для этого выполните следующие шаги.
- Syntax (синтаксис);
- Minimum (минимум);
- Maximum (максимум).
- Выберите, будет ли новый атрибут многозначным (Multi-Valued) атрибутом.
- 1 - ISO;
- 2-ANSI;
- 840 - Соединенные Штаты Америки;
- ХХХХ — уникальное число, идентифицирующее вашу компанию.
Подробная информация, касающаяся содержания каждого поля, становится доступной при выборе соответствующего текстового поля и нажатии клавиши F1.
Получение идентификатора Х500 Object ID
Иногда два приложения могут попытаться сделать несовместимые модификации в схеме. Чтобы решить эту проблему, каждый класс и атрибут в Active Directory могут быть идентифицированы уникальным идентификатором объекта (OID — Object Identifier) для гарантии того, что другой объект схемы не использует тот же самый OID. Организация, планирующая создание новых OID, должна зарегистрироваться в Международной организации по стандартизации (ISO — International Standards Organization) или в Американском национальном институте стандартов (ANSI - American National Standards Institute). При регистрации организация стандартов выделит вам часть пространства OID, которое затем можно расширять для удовлетворения своих потребностей. Например, компании может быть предоставлено число типа 1.2.840.ХХХХ. Оно организовано в иерархическом порядке и содержит следующие части:
Как только вы получили это число, можно управлять своей собственной частью иерархии. Например, если вы создаете новый атрибут с именем Employee Start Date (Дата начала работы служащего), ему можно назначить число типа 1.2.840.ХХХХ.12.
Пусть OID для контакта в Active Directory задан в виде 1.2.840.113556.1.5.15. Первые три части числа выделены для ISO, ANSI и США соответственно. Число 113556 ANSI предоставил компании Microsoft, которая назначила 1 - на Active Directory, 5 — на классы Active Directory, 15 - на класс Contact (Контакт).
Комплект ресурсов Microsoft Windows Server 2000 Resource Kit содержит инструмент по имени OIDGen, который можно использовать для создания уникальных идентификаторов OID для классов или атрибутов объекта без необходимости регистрировать OID. Этот инструмент не должен использоваться, если схема будет развертываться вне вашей организации. Для внешнего развертывания Microsoft предлагает сгенерировать и зарегистрировать ваш новый OID. Подробности см. на сайте http://msdn.microsoft.com/certification/ad-registration.asp.
На рисунке 2-2 показано создание нового атрибута с помощью оснастки Active Directory Schema (Схема Active Directory).
Рис. 2-2. Создание нового атрибута схемы
Примечание. Добавление нового атрибута к схеме не подразумевает, что атрибут будет автоматически доступен из любого средства администрирования. Инструментальные средства администрирования, подобные Active Directory Users And Computers (Пользователи и компьютеры Active Directory), показывают только некоторые атрибуты для каждого класса и не показывают атрибуты, которые добавляете вы. Если вы хотите, чтобы новый атрибут появился в инструменте администрирования, нужно изменить существующий инструмент или создать ваш собственный. О том, как изменять и создавать инструментальные средства администрирования, см. в разделе Directory Services (Службы каталога) документа Platform SDK на сайте http:// msdn.microsoft.com/library/default.asp?url=/library/en-us/ netdir/ad/extending_the_user_interface_for_directory_objects.asp.