Что такое схема Active Directory

Схемой (schema) в AD DS называется набор определений для всех имеющихся в каталоге типов объектов и связанных с ними атрибутов. Именно схема задает способ, которым в AD DS должны храниться и конфигурироваться данные обо всех пользователях, компьютерах и других объектах для того, чтобы они имели стандартный вид по всей структуре AD DS. Она защищается за счет применения списков разграничительного контроля доступа (Discretionary Access Control List - DACL) и отвечает за предоставление возможных атрибутов для каждого объекта в AD DS. По сути, схема представляет собой базовое определение самого каталога и является основой функциональности среды домена. При делегировании прав на управление схемой избранной группе администраторов должна соблюдаться предельная осторожность, поскольку вносимые в схему изменения влияют на всю среду AD DS.

Объекты схемы

Сохраняемые внутри структуры AD DS элементы, вроде пользователей, принтеров, ком­пьютеров и сайтов, в рамках схемы называются объектами. У каждого такого объекта име­ется свой список атрибутов, которые определяют его характеристики и могут применяться для его поиска.

Расширение схемы

Одним из главных преимуществ структуры AD DS является возможность напрямую изменять и расширять схему, включая в нее специальные атрибуты. Обычно расширение набора атрибутов происходит во время установки системы Microsoft Exchange Server, при которой схема расширяется так, что увеличивается в размере чуть ли не в 2 раза. При выполнении обновления с Windows Server 2003 или Windows Server 2008 AD до Windows Server 2008 R2 AD DS тоже происходит расширение схемы, в результате которого в нее добавляются атрибуты, присущие конкретно Windows Server 2008 R2. Многие сторонние продукты также предусматривают свои способы расширения схемы, которые обеспечива­ют им возможность отображать свои типы информации из каталога.

Для идентификации пользователей и ресурсов в сети используется служба каталогов. По сравнению с предыдущими версиями Windows в Microsoft Windows 2003 возможности Active Directory значительно расширены. Active Directory представляет собой единое средство уп­равления сетью: она позволяет легко добавлять, удалять и перемещать пользователей и ресурсы.

Знакомство с Active Directory

Средства Active Directory позволят вам спроектировать структуру ка­талога так, как это нужно вашей организации. На этом занятии вы познакомитесь с использованием объектов Active Directory и назна­чением ее компонентов.

Изучив материал этого занятия, вы сможете:

    объяснить назначение атрибутов объекта и схемы Active Directory;

    дать определение и описать функции компонентов Active Directory.

Объекты Active Directory

Подобно всем службам, которые делают информацию доступной и полезной, Active Directory хранит инфор­мацию о сетевых ресурсах. Эти ресурсы, например данные пользова­телей, описания принтеров, серверов, баз данных, групп, компьюте­ров и политик безопасности, и называются объектами (object).

Объект - это отдельный именованный набор атрибутов, которы­ми представлен сетевой ресурс. Атрибуты (attribute) объекта являют­ся его характеристиками в каталоге. Например, атрибуты учетной за­писи пользователя (user account) могут включать в себя его имя и фа­милию, отдел, а также адрес электронной почты (рис. 2-1)

В Active Directory объекты могут быть организованы в классы, то есть в логические группы. Примером класса является объединение объектов, представляющих учетные записи пользователей, группы, компьютеры, домены или организационные подразделения (ОП).

Примечание Объекты, которые способны содержать другие объекты, называются контейнерами (container). Например, домен - это контей­нерный объект, который может содержать пользователей, компьютеры и другие объекты.

Какие именно объекты могут храниться в Active Directory, опре­деляется ее схемой.

Схема Active Directory

Схема Active Directory - это список определений (definitions), задаю­щих виды объектов, которые могут храниться в Active Directory, и типы сведений о них. Сами эти определения также хранятся в виде объектов, так что Active Directory управляем ими посредством тех же операций, которые используются и для остальных объектов в Active Directory.

В схеме существуют два типа определений: атрибуты и классы. Также они называются объектами схемы (schema objects) или мета­данными (metadata).

Атрибуты определяются отдельно от классов. Каждый атрибут оп­ределяется только один раз, при этом его разрешается применять в нескольких классах. Например, атрибут Description используется во многих классах, однако определен он в схеме только однажды, что обеспечивает ее целостность.

Классы, также называемые классами объектов (object classes), опи­сывают, какие объекты Active Directory можно создавать. Каждый класс является совокупностью атрибутов. При создании объекта ат­рибуты сохраняют описывающую его информацию. Например, в чис­ло атрибутов класса User входят Network Address, Home Directory и пр. Каждый объект в Active Directory - это экземпляр класса объектов.

В Windows 2000 Server встроен набор базовых классов и атрибутов. Определяя новые классы и новые атрибуты для уже существующих классов, опытные разработчики и сетевые администраторы могут ди­намически расширить схему. Например, если Вам нужно хранить информацию о пользователях, не определенную в схеме, можно рас­ширить схему для класса Users. Однако такое расширение схемы - Достаточно сложная операция с возможными серьезными последствиями. Поскольку схему нельзя удалить, а лишь деактивировать, и она автоматически реплицируется, вы должны подготовиться и сплани­ровать ее расширение.

Как известно — ничего вечного нет, все меняется, особенно в такой отрасли как IT. Развернутая один раз инфраструктура постоянно развивается, расширяется, совершенствуется и наступает момент когда в вашу Active Directory требуется ввести контроллер домена под управлением более поздней версии операционной системы.

Казалось бы — в чем проблема? Но, как показывает практика, проблемы возникают, во многом от того, что системные администраторы слабо владеют теорией и откровенно путаются в данном вопросе. Поэтому самое время разобраться в том, что такое схема AD и какое отношение она имеет к нашему случаю.

Схемой AD называется описание всех объектов каталога и их атрибутов. По существу схема отражает базовую структуру каталога и имеет первостепенное значение для его правильного функционирования.

Новые версии ОС и содержат новые объекты и атрибуты, поэтому для их нормального функционирования в качестве контроллеров домена нам потребуется обновить схему.

Вроде бы понятно, но не совсем, поэтому перейдем к распространненным ошибкам и заблуждениям.

  • Обновление схемы необходимо для включения в домен ПК под управлением более новых версий ОС Windows. Это не так, даже самые последние версии Windows могут вполне успешно рабоать в домене уровня Windows 2000 без обновления схемы. Хотя, если вы все-таки обновите схему, то ничего страшного не произойдет.
  • Для включения в домен контроллера под управлением более новой ОС требуется повысить уровень работы домена (леса). Это тоже не так, но в отличие от предыдущего случая, данная операция сделает невозможным использование контроллеров домена под управлением ОС ниже, чем режим его работы. Поэтому в случае ошибки вам придется восстанавливать вашу структуру AD из резервной копии.

Также заострим ваше внимание на режиме работы леса и домена. Домены входящие в лес могут иметь различные режимы работы, например один из доменов может работать в режиме Windows 2008, а остальные в режиме Windows 2003. Схема работы леса не может быть выше, чем схема работы самого старого домена. В нашем примере режим работы леса не может быть выше, чем Windows 2003.

При этом более низкий режим работы леса никак не мешает использовать более высокий режим работы в домене, все что для этого требуется — это обновить схему.

Ознакомившись с теорией, перейдем к практическому примеру. Допустим у нас есть домен уровня Windows 2000 (смешаный режим) — самый низкий уровень AD — в котором имеется контроллер под управлением Windows 2003, а наша цель — создать новый контроллер взамен вышедшего из строя.

Новый сервер работает под управлением Windows 2008 R2. Заметьте, у нас не возникло никаких сложностей по включению данного сервера в существующий домен.

Однако при попытке добавить новый контроллер домена мы получим ошибку:

Для успешного включения контроллера под управлением более новой версии ОС нам потребуется обновить схему леса и схему домена. Исключение составляет Windows Server 2012, который при добавлении нового контроллера домена произведет обновление схемы самостоятельно.

Для обновления схемы используется утилита Adprep которая находится в папке \support\adprep на установочном диске Windows Server. Начиная с Windows Server 2008 R2 эта утилита по умолчанию 64-разрядная, при необходимости использовать 32-разрядную версию следует запускать adprep32.exe .

Для выполнения обновления схемы леса данная утилита должна быть запушена на Хозяине схемы , а для обновления схемы домена на Хозяине инфраструктуры . Чтобы узнать какие из контроллеров имеют необходимые нам роли FSMO воспользуемся командой:

Netdom query FSMO

В Windows 2008 и новее данная утилита устанвлена по умолчанию, а в Windows 2003 ее нужно установить с диска из директории \support\tools

Результатом вывода данной команды будет перечисление всех ролей FSMO и контроллеров имеющих данные роли:

В нашем случае все роли находятся на одном контроллере, поэтому копируем папку \support\adprep на жесткий диск (в нашем случае в корень диска C:) и приступаем к обновлению схемы леса. Для успешного выполнения операции ваш аккаунт должен входить в группы:

  • Администраторы схемы
  • Администраторы предприятия
  • Администраторы домена, в котором находится хозяин схемы

Чтобы обновить схему леса выполните команду:

C:\adprep\adprep /forestprep

Ознакомьтесь со стандартным предупреждением и продолжите нажав C , затем Enter .

Начнется процесс обновления схемы. Как видим ее версия изменится с 30 (Windows 2003) до 47 (Windows 2008 R2).

После обновления схемы леса следует обновить схему домена. Перед этим следует убедиться что домен работает как минимум в режиме Windows 2000 (основной режим). Как помним, у нас домен работает в смешанном режиме, поэтому следует изменить режим работы домена на основной или повысить его до Windows 2003. Так как в данном домене у нас нет контроллеров под управлением Windows 2000, то наиболее разумно будет повысить режим домена.

Для успешного обновления схемы домена эту операцию следует производить на Хозяине инфраструктуры и иметь права Администратора домена . Выполняем команду:

C:\adprep\adprep /domainprep

И внимательно читаем выводимую информацию. Обновляя схему домена с уровня Windows 2000 или Windows 2003 необходимо выполнить изменение разрешений файловой системы для групповых политик. Данная операция производится один раз и в дальнейщем, например обновляя схему с уровня 2008 на 2008 R2, выполнять ее нужно. Для обновления разрешений объектов GPO введите команду:

С:\adprep\adprep /domainprep /gpprep

В версиях AD начиная с Windows 2008 появился новый тип контроллеров домена: контроллер домена только для чтения (RODC), если вы планируете развернуть такой контроллер, то вам нужно подготовить схему. Вообще мы рекомедуем выполнить данную операцию вне зависимости от того, собираетесь вы в ближайшее время устанавливать RODC или нет.

Данную операцию можно выполнить на любом контроллере домена, однако вы должны входить в группу Администраторы предприятия и Хозяин именований и Хозяин инфраструктуры должны быть доступны.

C:\adprep\adprep /rodcprep

Как видим, обновление схемы домена, будучи правильно спланировано не вызывает каких либо затруднений, однако в любом случае следует помнить, что это необратимая операция и иметь под рукой необходимые резервные копии.
Источник http://interface31.ru/tech_it/2013/05/obnovlenie-shemy-active-directory.html

В схему включено формальное описание содержания и структуры базы данных Active Directory. В частности, в ней указаны все свойства объектов и их классы. Для каждого класса объектов определены все возможные свойства, дополнительные параметры, а также то, какой класс объектов является и может являться предком текущего класса.

Устанавливая, Active Directory , на первом контроллере домена создается стандартная схема, которая содержит описание чаще всего используемых объектов и свойств объектов. Кроме того, в схеме представлено описание внутренних объектов и свойств Active Directory.

Схема является расширяемой, поэтому системный администратор может создавать новые типы объектов и их свойства, добавлять новые свойства для тех объектов, которые уже существуют. Схема внедряется и хранится вместе с Active Directory в глобальном каталоге. Ее обновление производится автоматически, благодаря чему специально созданное приложение может самостоятельно добавить в нее новые свойства и классы.
Расширить стандартную схему непросто. Некорректное изменение схемы может нарушить работу как сервера, так и всей службы каталогов. Чтобы решить эту задачу следует необходимым опытом и знаниями. Так в первую очередь необходимо знать правила именования.

Правила именования

Каждый объект Active Directory имеет определенное имя. Для идентификации объектов в Active Directory используются различные схемы именования, а именно:

Составные имена (DN);
-относительные составные имена (RDN);
-глобальные уникальные идентификаторы (GUID);
-основные имена пользователей (UPN).

Каждый объект Active Directory обладает составным именем . Имя является идентификатором объекта и содержит данные, достаточные для нахождения объекта в каталоге. Составное имя включает в себя имя домена, который содержит объект, и полный путь к нему. К примеру, составное имя пользователя Andrew Kushnir в домене server.comможет выглядеть таким образом:
DC=COM/DC=SERVER/CN=Users/CK=Andrew Kushnir

Если полное составное имя объекта неизвестно или изменено, найти объект можно по его свойствам, одно из которых - относительное составное имя (часть составною имени). В предыдущем примере относительным составным именем для объекта Andrew Kushnir будет СК=Andrew Kushnir, а для родительского объекта - CN=Usere.

Кроме составного имени каждый объект Active Directory обладает глобальным уникальным идентификатором (GUID) , представляющим собой 128-разрядное число. Идентификатор не изменяется даже после того, как объект переместили или переименовали. Глобальный уникальный идентификатор является уникальным для всех доменов, в том числе, когда объект перемещается из одного домена в другой домен.
Проще всего запомнить основное имя пользователя (UPN). Основное имя состоит из сокращенного имени пользователя плюс DNS-имя домена, где находится объект. Формат основного имени пользователя следующий:

Имя пользователя, символ суффикс DNS домена

К примеру, основное имя пользователя Andrew Kushnir в домене server. сою могло выглядеть как [email protected]. Основное имя пользователя не зависит от его составного имени, поэтому объект пользователя можно перемещать или переименовывать без необходимости изменять регистрационное имя пользователя в домене.

FSMO-роль хозяин схемы (Schema master) является одной из двух ролей, функционирующих на уровне леса Active Directory. То есть во всем лесе AD необходимо иметь лишь одного хозяина схемы.

Основная статья по Active Directory — . Читайте также другие статьи по ролям хозяев операций — .

Если вам интересна тематика Windows Server, рекомендую обратиться к рубрике на моем блоге.

Schema master — Хозяин схемы Active Directory

А вы знали, что при повреждении схемы AD придется восстанавливать все КД во всем лесу? А ведь это действительно так, вот почему будьте очень аккуратны при внесении изменений в схему. А пока немного теории.

Теория

Поскольку хозяин схемы — роль уровня леса, то в каждом конкретном лесе AD она существует всегда в единственном экземпляре . Другими словами существует только один контроллер домена, который имеет право вносить изменения/обновления в схему, тем не менее реплика схемы присутствует на каждом контроллере домена и при необходимости роль может быть захвачена принудительно любым DC, но об этом позже. На практике изменения схемы происходят крайне редко, например при установке сервера Exchange или других приложений, которые хранят некоторые свои данные (например объекты конфигурации) в AD.

Все-таки что такое схема AD ? Это прежде всего набор объектов и их атрибутов, которые используются для хранения данных. Мало кому это определение что-то объясняет, попробую рассказать более детально на примере. Что такое объект? Например объектами являются учетные записи пользователей или компьютеров. В данном случае в схеме AD находится класс user , который определяет все атрибуты объекта учетной записи пользователя:

Каждая учетная запись пользователя в домене будет иметь все эти атрибуты. Но значения атрибутов могут быть и не заданы. Можно проверить какие атрибуты и их значения имеет моя недавно созданная учетная запись администратора домена. Чтобы это сделать, необходимо зайти в консоль adsiedit.msc и открыть контекст именования по умолчанию. В иерархии находим объект пользователя и открываем его свойства:

Вы можете увидеть, что объект имеет все атрибуты, которые определены в классе user . Если вы сами решили убедиться в сказанном мной и информация у вас различается, то обратите внимание на кнопку Фильтр , возможно у вас показываются не все атрибуты. Например можно сделать так, чтобы отображались атрибуты только имеющие значения. Администрировать объекты через adsiedit.msc не лучшая затея, делайте это через соответствующие оснастки.

Для интереса можно посмотреть атрибуты объекта сервера Exchange 2013, ведь Exchange вносит множество новых классов в схему:

В большинстве случаев вопросы касательно мастера схемы обходят стороной и достаточно лишь знать, что эта роль отвечает за внесение изменений в схему AD. Тем не менее схема изначально создавалась таким образом, чтобы в неё мог вносить изменения кто угодно. То есть сторонние компании могут разрабатывать свои приложения таким образом, чтобы они хранили свои данные в AD. Для этого на официальных источниках есть множество объемных гайдов, некоторые из них доступны и на русском языке.

Лучшие практики

Схема AD имеет принципиально важное значение для работоспособности Active Directory, а потому нуждается в соответствующем администрировании, хоть и о ней в большинстве случаев просто забывают. Ниже сформулированы лучшие практики администрирования схемы.

1) Перед изменением схемы всегда делайте резервное копирование . Перед процессом изменения схемы вы можете отключать все контроллеры домена, разумеется кроме одного, который является хозяином этой роли. После этого делаете резервную копию контроллера домена, выполняете все необходимы изменения и если все прошло удачно, то просто включаете заглушенные ранее DC. Если же что-то пошло не так, просто поднимаете единственный работающий на это время контроллер из резервной копии, включаете остальные и далее исследуете проблему;

На уровне леса роли хозяина схемы и хозяина именования доменов необходимо расположить на одном контроллере домена (они редко используются и должны жестко контролироваться). Кроме того, контроллер, которому присвоена роль хозяина именования доменов, должен одновременно являться сервером глобального каталога. В противном случае некоторые операции, использующие хозяин именования доменов (например создание внучатых доменов), могут завершаться неудачно.

Таким образом, контроллер домена, поддерживающий роль хозяина схемы, должен также отвечать за роль мастера именования доменов и являться глобальным каталогом .

3) Если вы по каким-либо причинам лишились сервера-хозяина схемы, то на любом другом контроллере домена вы можете принудительно захватить эту роль, но помните, что после этого изначальный хозяин схемы не должен появиться в сети .

4) Без крайней на то необходимости не выполняйте изменения схемы вручную . Если это все же нужно сделать в любом случае, см. пункт 1.

От теории плавно переходим к практике.

Администрирование схемы

Прежде всего стоит сказать, что для управления схемой необходимо иметь как минимум права Администратора Схемы (Schema Admin) . Все остальные авторизованные пользователи имеют права только на чтение, хотя в принципе разрешения можно и изменить. Большинство задач администрирования выполняются в оснастке для управления схемой Active Directory, которая недоступная по умолчанию и чтобы её активировать, необходимо зарегистрировать библиотеку schmmgmt.dll . Для этого запускаем командную строку с правами администратора и выполняем:

Visual Basic

regsvr32 schmmgmt.dll

regsvr32 schmmgmt . dll

Получаем оповещение:

После этого в консоли MMC вы сможете найти оснастку Схема Active Directory . Выполнять команду необходимо на каждом контроллере домена, на котором планируется заниматься администрированием схемы.

Допустим у вас два контроллера домена и вы хотите перенести роль хозяина схемы с DC01 на DC02:

  1. Открываем оснастку на DC01, правой кнопкой нажимаем на Схема Active Directory и выбираем Сменить контроллер домена Active Directory;
  2. Далее выбираем контроллер домена, на который мы хотим перенести роль (у меня это DC02, по умолчанию всегда выбирается сервер-владелец роли). Подтверждаем предупреждение;
  3. Снова правой кнопкой на Схема Active Directory, но уже выбираем Хозяин операций… ;
  4. Нажимаем кнопку Сменить.

После этого необходимо подтвердить выбор и получить уведомление об успешном переносе роли.

На этом обзор fsmo-роли хозяин схемы завершен, возможно в ближайшем будущем дополню статью инструкцией по принудительному захвату роли другими контроллерами домена.