Что такое глобальный каталог в active directory
Global catalog — Глобальный каталог
Глобальный каталог Active Directory (Global catalog) очень часто называют шестой ролью FSMO и это имеет под собой некоторый смысл. Дело в том, что фактически глобальный каталог ролью FSMO являться не может хотя бы по причине того, что эту роль может в конкретный момент времени держать как один контроллер домена, так и все контроллеры домена леса враз. В то время как роли Flexible single-master operations может размещать на себе только один DC и если вдруг в лесу каким-то образом окажутся например два хозяина схемы, это непременно приведет к катастрофе.
Но почему же все-таки «шестая роль fsmo»? Подобное определение, на мой взгляд, могли дать только по одной причине — чтобы подчеркнуть важность этой роли для работы всего леса AD. Задача размещения на сервере глобального каталога действительно является очень важной для нормального функционирования не только служб AD DS, но и ряда других доменнозависимых сервисов, например Exchange Server.
В этой статье я постараюсь пролить свет на задачи и принцип работы серверов глобального каталога, ведь о них периодически совершенно не заслуженно забывают.
Основная статья по Active Directory — Active Directory Domain Services. Читайте также другие статьи по ролям хозяев операций — FSMO — Fexible Single Master Operations.
Если вам интересна тематика Windows Server, рекомендую обратиться к рубрике Windows Server на моем блоге.
Global catalog — Теория
Назначение
Как и было сказано выше, глобальным каталогом могут быть одновременно несколько (или даже все враз) контроллеров домена в лесу. В средах со сложной иерархией доменов и множеством DC необходимо обеспечить приемлемое быстродействие повседневного функционала, например поиска объектов леса. Обычный рядовой контроллер домена хранит у себя полную реплику объектов своего домена, но не других доменов леса. То есть, чтобы найти, например, пользователя из домена А, контроллер домена В должен обратиться к одному из DC домена А для выполнения операции поиска, но такая операция однозначно займет сравнительно продолжительное время, тем более если все контроллеры домена А территориально располагаются совсем в другом месте и к тому же с не самым хорошим каналом связи.
Сказанное выше лучше всего иллюстрирует изображение из официальной документации 1 :
Как видно из рисунка, контроллер домена А, он же и глобальный каталог (сервер справа), содержит частичные реплики доменов B, C, D. Таким образом, для выполнения операции поиска пользователей домена D (или любого другого) сотрудником из домена A, даже не придется обращаться к контроллерам домена D, ведь вся информация уже доступна на сервере глобального каталога его родного домена A. Это также справедливо по отношению к поиску 2 любых объектов, которые опубликованы в AD 3 (пользователи, компьютеры, файлы, принтеры, службы).
Поиск объектов, пожалуй, одна из самых важных и частых задач, но есть и другие, в которых главную роль выполняет именно глобальный каталог. Например он участвует в процессе проверки подлинности с помощью основного имени пользователя (User principal name — UPN — имя, которое выглядит как e-mail пользователя).
Насколько известно, в доменах могут быть заданы альтернативные — дополнительные — «имена доменов». Это может потребоваться для упрощения входа пользователей или для повышения безопасности. Если у вас уже несколько UPN-суффиксов, для каждой конкретной учетной записи вы можете определить суффикс при создании учетки или в свойствах уже созданной:
Чтобы пользователь bissquit@corp.bissquit.com мог залогиниться на рабочей станции домена dev.corp.bissquit.com, контроллеры домена dev.corp.bissquit.com должны иметь доступ к глобальному каталогу, чтобы проверить подлинность пользователя и предоставленные ему разрешения (разумеется этот пользователь должен иметь права для локального входа на данную рабочую станцию).
Универсальные группы
Global catalog предоставляет сведения о членстве пользователя в универсальных группах в мультидоменной среде. При попытке пользователя залогиниться, контроллер домена, через который проходит процесс авторизации, формирует токен, содержащий идентификаторы (SID’ы) всех групп, в которые включена учетная запись пользователя. В свою очередь, получить сведения о членстве учетной записи в универсальных группах, контроллер домена может только у глобального каталога 4 . Иначе процесс аутентификации в домене с универсальными группами не пройдет (при этом о членстве в других типах групп известно и обычным контроллерам домена).
Если глобальный каталог недоступен при входе в домен с уровнем функциональности основного режима Windows 2000 или более высокого, то для пользователя, уже выполнявшего вход в домен, будут использоваться кэшированные учетные данные. Если пользователь еще не входил в домен, он может выполнить вход только на локальный компьютер. Однако вход в домен в качестве администратора (учетная запись «Встроенный администратор») всегда разрешен, даже если глобальный каталог недоступен.
Дополнительные сведения об универсальных группах см. в разделе Область действия группы. Дополнительные сведения об универсальных группах и о репликации см. в разделах Репликация глобального каталога и Глобальные каталоги и сайты.
Как было сказано выше, некоторые приложения очень сильно зависят от доступности глобального каталога. Например Exchange Server извлекает информацию о получателях именно через GC.
Краткие выводы
Сделаем вывод из сказанного выше, а также дополним информацию некоторыми другими фактами:
Из всего этого следует вывод, что глобальный каталог особенно важен, если речь идет о многодоменной инфраструктуре.
Далее перейдем к лучшим практикам администрирования.
Лучшие практики
Для целей отказоустойчивости крайне важно держать глобальным каталогом как минимум несколько контроллеров домена. Будет лучше, если в каждом домене будет минимум по одному GC. Тем не менее, если у вас есть возможность, лучше сделать серверами Global catalog все DC в лесу. Это положительно скажется ещё и на балансировке нагрузки, не говоря уже о том, что с этого момента можно будет практически не заботиться о FSMO-роли хозяин инфраструктуры (подробнее см. в статье ).
Если все же не получается сделать все DC серверами глобального каталога, то позаботьтесь о том, чтобы сервер-владелец роли хозяин инфраструктуры не располагался на сервере глобального каталога, иначе это приведет к остановке его функционирования (фантомные записи не будут создаваться/изменяться) и как следствие — появлению неактуальных данных.
Администрирование
Некоторые базовые задачи администрирования, связанные с GC, рассмотрены ниже.
Добавить роль GC для КД
Сделать 5 сервер глобальным каталогом вы можете из оснастки Active Directory — сайты и службы 6 . Для этого откройте оснастку, найдите контроллер домена (1), который хотите сделать сервером GC и нажмите правой кнопкой на NTDS Settings (2) нужного вам сервера, открыв свойства:
Откроется окно свойств и на вкладке Общие вам необходимо поставить галочку рядом с Глобальный каталог. Как только репликация данных глобального каталога завершится, через SRV-запись он объявит себя сервером GC.
Добавление UPN-суффикса
Выше я упоминал об UPN-суффиксах. Чтобы добавить дополнительные суффиксы 7 , нужно зайти в оснастку Active Directory — домены и доверие. Далее — нажать правой кнопкой на имя оснастки и зайти в свойства:
Тут вы сможете добавить дополнительные UPN-суффиксы и уже при создании/изменении учетных записей пользователей выбирать нужные.
Создание дополнительного атрибута
Также есть возможность создания собственных 8 9 атрибутов AD. Сделать это можно через оснастку Схема Active Directory (подробнее см. в статье Schema master — Хозяин схемы Active Directory):
Разумеется при любых изменениях схемы необходимо проявлять осторожность и четко понимать к чему могут привести те или иные действия, в противном случае лучше не лезьте
SRV-запись GC в DNS
Проверить регистрацию 10 серверов глобального каталога в DNS вы можете в соответствующей оснастке в контейнере _tcp зоны прямого просмотра вашего домена:
Проверка готовности GC
Ну а проверить готовность сервера GC можно по инструкции 11 :
На этом обзор одной из важнейших ролей контроллеров домена — глобального каталога — завершен. Оставляйте в комментариях свои мнения и замечания.
Что такое глобальный каталог в active directory
В этой cтатье рассмотрим такое понятие, как «Глобальный Каталог» и его роль.
Итак, давайте разберем, что такое глобальный каталог. Пусть у нас естькомпания, которая имеет лес доменов. И вот нам нужно найти какой-то объект из нашей компании, пусть это будет какой-то принтер. Но как мы уже знаем объекты хранятся в службе каталога ActiveDirectory, а каждая ActiveDirectory ответственна только за свой домен. Тогда получается нам нужно лазить по всем доменам в их службе каталогов ActiveDirectory и в каждом домене искать данный объект в нашем случае принтер. Довольно утомительная согласитесь операция. И вот было решено в Майкроосфт что надо облегчить такой поиск, снизить нагрузку на сеть и прочее, прочее. В результате родился «Глобальный каталог» (globalcatalog).
То есть глобальный каталог возвышается над всеми местными службами каталогов ActiveDirectory и хранит информацию об о всех объектах леса или дерева предприятия или компании.
По умолчанию глобальный каталог автоматически создается на исходном контроллере домена первого леса.
Контролер домена, на котором хранится копия главного каталога, называется сервером глобального каталога (globalcatalogserver). Сервером глобального каталога можно назначить любой контроллер домена в рамках леса нашего предприятия.
Информация из глобального каталога в ActiveDirectory распространяется между серверами глобального каталога в других доменах путем репликации.
Забегая чуть вперед хочу сказать что в первый контроллер домена установленный, автоматически становится и сервером глобального каталога или еще можно сказать контроллером глобального каталога. Дополнительные контроллеры домена можно назначить как GC, выбирая опцию Global Catalog Server (Сервер глобального каталога) в инструменте администрирования Active Directory Sites And Services (Сайты и службы Active Directory). Это делается с целью оптимизации входа в систему. Как используется каталог GC в процессе входа в систему, рассмотрим ниже.
Функции глобального каталога
У глобального каталога две основные функции :
GC-серверы необходимы для обработки пользовательских входов в систему. Обычно каждый раз, когда пользователь входит в домен, выполняется обращение к GC-каталогу. Это происходит потому, что контроллеры домена, не являющиеся глобальными, не содержат никакой информации об универсальном членстве группы. (Универсальные группы имеются только в доменах, обладающих функциональным уровнем Microsoft Windows 2000 или Windows Server 2003.) Так как универсальное групповое членство распространяется на лес, то групповое членство может быть разрешено только тем контроллером домена, который имеет информацию каталога на уровне леса, т.е. информацию глобального каталога (GC).
Если у нас в домене единственный контроллер домена то именно на нем и размещен сервер глобального каталога (по умолчанию). Если же несколько контроллеров то сервер глобального каталога размещается на один из них. Но в любом случае если сервер GC недоступен регистрация пользователя возможна только локально на компьютере. Исключением есть те случаи когда сайт так сконфигурирован что позволяет при попытке регистрации пользователя кэшировать (временно запоминать) результаты поиска соответствия предоставленной регистрационной записи какой то группе. Но есть и исключения. Если пользователь состоит в группе «Администраторы домена» (Domain Admins) то он может регистрироваться в сети невзирая на неготовность по тем или иным причинам сервера глобального каталога.
Поскольку каждый GC содержит обо всех объектах во всех доменах леса, запросы об отсутствующих в локальном домене объектах обрабатываются на сервере глобального каталога в домене, в котором этот запрос был подан, и это поиск информации в каталоге не связан с генерацией дополнительного трафика вне границы данного домена, а как мы уже помним GC обмениваются между собой информацией посредством репликации.
Как включить «глобальный каталог»
Откройте консоль Active Directory Sites and Services, раскройте узел Sites->Default-First-Site-Name->имя_сервера->NTDS Settings.
Откройте свойства узла NTDS Settings и установите флаг Global Catalog.
Да еще одно.
Глобальная адресная книга для Exchange запрашивается именно из глобального каталога (GC)
Есть еще Важный вывод из определения:
Мастер инфраструктуры не работает на глобальном каталоге, потому что в его базе есть ВСЕ объекты леса. Там нет фантомов по определению, т.к. они не нужны.
Если у вас все контроллеры в домене глобальные каталоги, то где находится и работает ли мастер инфраструктуры для вас совершенно не важно. Т.к. он просто не нужен.
Планирование размещения сервера глобального каталога
Область применения: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012
Размещение глобального каталога требует планирования, за исключением случаев, когда у вас есть лес с одним доменом. В лесу с одним доменом настройте все контроллеры домена в качестве серверов глобального каталога. Поскольку каждый контроллер домена хранит только один раздел каталога домена в лесу, настройка каждого контроллера домена в качестве сервера глобального каталога не требует дополнительного использования дискового пространства, загрузки ЦП или трафика репликации. В лесу с одним доменом все контроллеры домена функционируют как виртуальные серверы глобального каталога. то есть они могут отвечать на любые запросы на проверку подлинности или обслуживание. Это особое условие для лесов с одним доменом — проектирование. Запросам проверки подлинности не требуется обращаться к серверу глобального каталога, как это делается при наличии нескольких доменов, и пользователь может быть членом универсальной группы, которая существует в другом домене. Однако только контроллеры домена, назначенные как серверы глобального каталога, могут отвечать на запросы глобального каталога через порт 3268 глобального каталога. Чтобы упростить администрирование в этом сценарии и обеспечить единообразие ответов, назначение всех контроллеров домена в качестве серверов глобального каталога устраняет проблему, с которой контроллеры домена могут отвечать на запросы к глобальному каталогу. В частности, каждый раз, когда пользователь использует Старт\сеарч\фор люди или находит принтеры или расширяет универсальные группы, эти запросы поступают только в глобальный каталог.
В лесах с несколькими доменами серверы глобального каталога упрощают запросы входа пользователей и поиск в масштабах леса. На следующем рисунке показано, как определить, какие расположения требуются для серверов глобального каталога.
В большинстве случаев рекомендуется включать глобальный каталог при установке новых контроллеров домена. Применяются следующие исключения:
Добавление серверов глобального каталога на основе требований приложения
некоторые приложения, такие как Microsoft Exchange, очередь сообщений (также известное как MSMQ), и приложения, использующие DCOM, не доставляют достаточного ответа по скрытым каналам WAN и, следовательно, нуждаются в высокодоступной инфраструктуре глобальных каталогов для обеспечения низкой задержки запросов. Определите, работают ли какие-либо приложения, которые плохо работают по медленному каналу WAN, в расположениях или Microsoft Exchange Server. Если расположения включают приложения, которые не доставляют достаточного ответа по каналу глобальной сети, необходимо поместить сервер глобального каталога в расположение, чтобы снизить задержку запросов.
Контроллеры домена только для чтения (RODC) можно успешно повысить до состояния сервера глобального каталога. Однако некоторые приложения с поддержкой каталогов не поддерживают RODC в качестве сервера глобального каталога. например, ни одна из версий Microsoft Exchange Server не использует rodc. однако Microsoft Exchange Server работает в средах, включающих rodc, при условии, что доступны доступные для записи контроллеры домена. Exchange Server 2007 фактически игнорирует rodc. Exchange Server 2003 также игнорирует контроллеры rodc в условиях по умолчанию, когда Exchange компоненты автоматически определяют доступные контроллеры домена. в Exchange Server 2003 не было внесено никаких изменений, чтобы оно стало осведомленным о серверах каталогов только для чтения. поэтому попытка принудительного применения служб Exchange Server 2003 и средств управления для контроллеров rodc может привести к непредсказуемому поведению.
Добавление серверов глобального каталога для большого числа пользователей
Размещайте серверы глобального каталога во всех расположениях, содержащих более 100 пользователей, чтобы снизить нагрузку сетевых подключений WAN и избежать потери производительности в случае сбоя связи WAN.
Использование пропускной способности высокой доступности
Не нужно размещать глобальный каталог в расположении, которое не содержит приложений, требующих сервера глобального каталога, включает менее 100 пользователей, а также подключен к другому расположению, которое включает сервер глобального каталога по каналу глобальной сети, который является 100% для служб домен Active Directory Services (AD DS). В этом случае пользователи могут получить доступ к серверу глобального каталога по каналу WAN.
Перемещающимся пользователям необходимо обращаться к серверам глобального каталога каждый раз, когда они впервые входят в любое место. Если время входа по каналу глобальной сети недопустимо, поместите глобальный каталог в расположение, которое будет посещено большим числом перемещаемых пользователей.
Включение кэширования членства в универсальных группах
для расположений, содержащих менее 100 пользователей и не включающих большое количество перемещаемых пользователей или приложений, которым требуется сервер глобального каталога, можно развернуть контроллеры домена, на которых выполняется Windows server 2008, и включить кэширование членства в универсальных группах. Убедитесь, что серверы глобального каталога являются не более чем одним прыжком репликации от контроллера домена, на котором включено кэширование членства в универсальных группах, чтобы можно было обновить сведения о универсальной группе в кэше. Сведения о работе кэширования универсальных групп см. в статье как работает Глобальный каталог.
заметки системного администратора
заметки по IT технологиям: просто о сложном
Глобальный каталог Active Directory
Серверы глобальных каталогов
Каждый системный администратор, который работает с доменными службами Active Directory, по крайней мере, один раз за время своей работы сталкивается с глобальными каталогами, но далеко не каждый системный администратор задумывается, что же такое глобальный каталог и для чего он предназначен. Глобальный каталог (Global Catalog или GC) представляет собой репозиторий распределенных данных, который хранит информацию о каждом объекте, а также облегчает поиск в лесу Active Directory. Глобальный каталог хранится на контроллерах домена, которые назначены в качестве серверов глобального каталога и распространяется посредством репликации с множеством равноправных участников. Первый контроллер домена, установленный в лесе, автоматически конфигурируется как сервер глобального каталога. Вы можете переносить возможности глобального каталога на другие контроллеры домена, а также изменять расположение глобального каталога, устанавливаемое по умолчанию, указывая другой контроллер. Глобальный каталог позволяет пользователям и приложениям находить объекты в любом домене текущего леса посредством поиска атрибутов, включенных в глобальный каталог, которые идентифицируются в схеме в качестве частного набора атрибутов (Partial Attribute Set, PAT). Допустим, у вас есть лес с тремя доменами, причем каждый домен содержит по два контроллера домена. Все шесть контроллеров домена поддерживают репликацию схемы и конфигурации леса. Соответственно, контроллеры в домене А содержат реплики контекста именования домена А, контроллеры в домене B – реплики именования домена B, а контроллеры домена C, соответственно, реплики домена C. Рассмотрим следующую ситуацию: пользователь домена C хочет найти пользователя домена А. В этом случае, когда пользователь в домене C выполняет поиск объекта домена А, результаты запроса предоставляет глобальный каталог. Но если объект содержит специфический атрибут, который по умолчанию не включен в глобальный каталог, то вы можете добавить такой атрибут при помощи оснастки «Схема Active Directory». Таким образом, если бы не было сервера глобального каталога, то контроллер домена, принимающий поисковые запросы объектов в других доменах, пересылал бы поисковые запросы на контроллер в домене с искомым объектом. В этой статье вы узнаете о самой концепции серверов глобального каталога, об их архитектуре, протоколах, процессах, физической структуре, а также о многих нюансах, связанных с данной технологией.
Взаимодействие глобального каталога с другими серверными объектами
Серверы глобального каталога участвуют в следующих процессах и взаимодействуют со службами:
Установка Active Directory. Глобальный каталог автоматически конфигурируется на первом контроллере домена, который устанавливается в лесу;
Репликация Active Directory. В репликации Active Directory каждая реплика на контроллере домена согласована с репликами этого раздела, управляемого другими контроллерами доменов. Глобальный каталог построен на репликации Active Directory. После того как вы создали лес, на контроллере домена, который используется в качестве сервера глобального каталога, автоматически реплицируется частный набор атрибутов на контроллеры домена всех доменов в лесу, отличных от локального. Для оптимизации репликации один из контроллеров домена обычно назначается в качестве сервера-плацдарма, который отвечает за всю входящую и исходящую репликацию раздела для сайта. Например, для обновлений глобального каталога, при репликации Active Directory выбираются серверы глобального каталога в качестве серверов-плацдармов и все изменения, внесенные в центре данных в глобальный каталог, будут реплицироваться на все контроллеры домена в данном сайте. Изменения будут поступать на сервер-плацдарм, а затем реплицироваться на серверы-плацдармы в филиалах, которые реплицируют изменения на контроллеры домена в своих сайтах.
Система доменных имен (DNS). Как и доменные службы Active Directory, серверы глобального каталога не могут функционировать без DNS. Аналогично тому как службы DNS предоставляют данные, необходимые компьютерам в сети для локализации контроллеров домена Active Directory, так и для предоставления IP-адресов серверов глобального каталога клиенты сервера глобального каталога также полностью зависят от DNS.
Служба «Сетевой вход в систему». При попытке пользователя выполнить вход в систему, клиентский компьютер отправляет вызов удаленной процедуры локальной службе «Сетевой вход в систему», инициируя сеанс входа. В вызове удаленной процедуры клиент пересылает данной службе такую информацию как имя компьютера, имя домена, а также имя сайта. Объявление глобального каталога DNS зависит от службы «Сетевой вход в систему». При завершении репликации глобального каталога или при запуске сервера глобального каталога, служба «Сетевой вход в систему» публикует записи расположения службы (SRV) в DNS, которая объявляет контроллер домена как сервер глобального каталога.
Взаимодействие серверов глобального каталога с серверными объектами выглядит следующим образом:
Рис. 1. Пример взаимодействия серверов глобального каталога с доменными службами Active Directory
После создания нового контролера домена DC02, системный администратор определяет его как сервер глобального каталога и реплицирует частичный набор атрибутов из DC01. В домене А, DC01 реплицирует изменения для DC02 домена А, а DC02 – реплицирует обновления данных для DC01 домена В.
На шаге «А» клиентский компьютер КлиентХ отправляет запрос в глобальный каталог, который перенаправляет запрос DNS-серверу для поиска ближайшего сервера глобального каталога «В», после чего клиент связывается с сервером глобального каталога для выполнения своего запроса «С».
Клиентский компьютер КлиентY выполняет вход в домен «1». Он запрашивает DNS-сервер на расположение ближайшего контроллера домена «2». После этого он связывается с ближайшим контроллером домена DC03 и пробует пройти проверку подлинности «3». DC03 запрашивает DNS-сервер на расположение ближайшего сервера глобального каталога «4». Затем данный контроллер домена связывается с сервером глобального каталога DC02 для извлечения членства пользователя в универсальных группах.
Развитие и сценарии использования серверов глобального каталога
Как уже было сказано ранее, одной из важнейших ролей серверов глобального каталога, является эффективное выполнение поиска объектов в доменах Active Directory. Причем, глобальным каталогом выступает контроллер домена, на котором хранится полная копия всех объектов в каталоге для собственного домена и частичная, предназначенная только для чтения копий всех объектов во всех других доменах леса. Всем известно, что для управления доменными службами и идентификацией в Active Directory используется специальное хранилище, расположенное в базе данных Ntds.dit, где содержатся разделы каталога, также называемые контекстами именования. Кроме таких контекстов именования, как «Конфигурация» и «Схема», в лесах с функциональным уровнем Windows Server 2000, Windows Server 2003, Windows Server 2008, а также Windows Server 2008 R2, контроллеры домена поддерживают полную реплику нескольких контекстов именования каталога одного домена. Конфигурация реплицируется на каждый контроллер домена в лесу, также как и схема. Причем, контекст именования для домена реплицируется на все контроллеры домена, но не реплицируется на контроллеры домена в других доменах. В свою очередь, при помощи глобального каталога пользователи могут выполнять поиск данных каталога во всех доменах леса независимо от места хранения данных. Контроллеры домена, которые выполняют роль глобального каталога, также называются серверами глобального каталога, которые, соответственно, отвечают на запросы глобального каталога. Для оптимизации эффективности, глобальные каталоги содержат лишь поднабор атрибутов, которые используются для поиска среди доменов. По этой причине, глобальный каталог также называют частичным набором атрибутов (Partial Attribute Set, PAS), которые определяются корпорацией Microsoft. Атрибуты, из которых состоит глобальный каталог, называются «частичными», так как они включают в себя ограниченный набор атрибутов, а именно атрибуты, которые востребованы схемой и атрибуты, которые чаще всего используются в пользовательских операциях поиска. Эти атрибуты отмечены для включения в частичный набор атрибутов как часть определения их схемы. Хранение самых атрибутов, поиск которых выполняется чаще всего, для всех доменных объектов в глобальном каталоге позволяет пользователям более эффективно использовать возможность поиска без снижения сетевой производительности вследствие отсутствия пересылок на контроллеры доменов и без необходимости хранения на сервере глобального каталога большого объема ненужных данных. Тем не менее, для оптимизации поиска вы можете использовать схему, в которой можно добавлять, изменять или удалять атрибуты, которые хранятся в глобальном каталоге. Стоит обратить внимание на то, что любое изменение частичного набора атрибута приводит к полной синхронизации глобального каталога.
Сервер глобального каталога обычно используется в ситуациях, которые описаны в следующих подразделах.
Поиск объектов
Поскольку контроллер домена, работающий как сервер глобального каталога, содержит объекты всех доменов в лесу, глобальный каталог предоставляет пользователям и приложениям возможность выполнять поиск данных каталога во всех доменах леса независимо от места хранения данных. Если ваш лес состоит из одного домена, то все контроллеры домена имеют полный доступ для записи экземпляров каждого объекта в домене леса. Когда пользователь выполняет поиск какого-либо участника системы безопасности, указав в меню «Пуск» в запросе параметр «Весь каталог», то поиск выполняется непосредственно в глобальном каталоге.
Для доступа к объектам Active Directory использует протокол облегченного доступа к каталогам (Lightweight Directory Access Protocol, LDAP). Запросы поиска LDAP могут быть отправлены и получены службой каталогов Active Directory через порт 389 (порт LDAP по умолчанию) и через порт 3268 (порт глобального каталога). Трафик LDAP, который использует протокол проверки подлинности Secure Sockets Layer (SSL) обеспечивает доступ к портам 686 и 3269. Соответственно, поведение поиска, которое применяется к портам 389 и 3268 также применяется к соответствующим запросам LDAP через порты 686 и 3269. Когда запрос поиска отправляется на порт 389, поиск осуществляется в разделе каталога одного домена. Если объект не находится в данном домене, разделе каталога схемы или конфигурации, контроллер домена пересылает запрос контроллеру домена в домене, который указан в различающемся имени объекта. Когда запрос поиска отправляется на порт 3268, то опрашиваются все разделы каталога в лесу, то есть поиск обрабатывается сервером глобального каталога. Стоит обратить внимание на то, что только серверы глобального каталога могут получать запросы LDAP через порт 3268.
После того как пользователь вводит свой запрос, данный запрос перенаправляется на порт 3268, и отправляется для разрешения на сервер глобального каталога. В свою очередь, если по каким-либо причинам в вашем домене Active Directory нет сервера глобального каталога, ваши пользователи или приложения не смогут выполнять поиск по лесу. Также стоит отметить, что все реплики, которые реплицируются в глобальный каталог, включают все права доступа для каждого объекта и атрибута. То есть, если вы ищете объект, доступ к которому для вас запрещен, вы его не увидите в списке результатов поиска. Соответственно, пользователи смогут найти только те объекты, для которых им предоставлен доступ.
Подтверждение ссылок на объекты в лесу
Контроллеры домена используют глобальный каталог для подтверждения ссылок на объекты других доменов в лесу. То есть, если контроллер домена содержит объект с атрибутом, который содержит ссылку на объект в другом домене, то контроллер домена проверяет ссылку, устанавливая связь с сервером глобального каталога.
Проверка подлинности имени пользователя
В дополнение к роли поставщика поиска в мультидоменном лесу, глобальный каталог играет роль источника идентификации во время входа пользователя в домен. Сервер глобального каталога разрешает имя пользователя в том случае, если контроллер домена, проверяющий подлинность, не имеет сведений об учетной записи этого пользователя. Другими словами, если учетная запись пользователя находится в одном домене, но сам пользователь входит в систему с компьютера, расположенного в другом домене, контроллер домена не может найти учетную запись пользователя и для того, чтобы завершить процесс входа в систему, он должен связаться с сервером глобального каталога. Во время проверки подлинности в мультидоменном лесах, глобальный каталог руководствуется одним из двух следующих требований:
Процесс взаимодействия входа пользователя и глобального каталога выглядит следующим образом:
Рис. 2. Процесс взаимодействия входа пользователя и глобального каталога
Сведения о членстве в универсальных группах в среде с несколькими доменами
Как уже было сказано, во время входа пользователя в домен, пользователь должен пройти проверку подлинности. В процессе проверки, контроллер домена проверяет подлинность пользователя, после чего пользователь получает данные авторизации для доступа к ресурсам. Для предоставления данных для авторизации пользователя, контроллер домена извлекает идентификаторы безопасности (SID) для всех групп безопасности, членом которых является пользователь и добавляет эти идентификаторы SID в маркер доступа пользователя. В свою очередь, контроллер домена всегда может определить членство в локальной группе или глобальной группе домена для любого пользователя из этого же домена, но членства в этих группах не реплицируются в глобальный каталог, так как членами данных групп не могут быть пользователи из разных доменов. Но в универсальных группах могут быть члены из других доменов. Не стоит забывать, несмотря на тот факт, что локальные доменные группы также могут содержать членов из других доменов, они могут быть добавлены для управления только в том домене, где были созданы. А глобальные группы, несмотря на то, что могут быть добавлены для управления доступом в любом домене, могут содержать только учетные записи своего домена.
Универсальная группа также является группой безопасности, которая позволяет управлять ресурсами, распределенными в нескольких доменах. Во время выполнения интерактивного входа, контроллер домена извлекает идентификаторы SIDпользовательского компьютера. По этой причине атрибут универсальных групп member, который содержит список членов в группе, реплицируется в глобальный каталог. Например, пользователь в лесу с несколькими доменами подключается к домену, в котором разрешены универсальные группы. В этом случае контроллер домена, для получения членства в универсальных группах, должен связаться с сервером глобального каталога. Если пользователь ни разу не подключался к домену и сервер глобального каталога недоступен, то он может войти только локально в систему. Но если сервер глобального каталога недоступен при входе пользователя в домен, в котором доступны универсальные группы и пользователь уже подключался к данному домену, то клиентский компьютер пользователя может использовать для входа кэшированные учетные данные.
Кэширование членства в универсальных группах
В универсальные группы включаются пользователи и группы, которые расположены в нескольких доменах в лесу. Членство в универсальных группах реплицируется в глобальном каталоге. Универсальная группа применяется для того, чтобы запретить пользователю доступ к ресурсам, а если глобальный каталог будет недоступен, то операционная система не позволит пользователю пройти проверку подлинности в домене. В небольших филиалах доступная пропускная способность сети и ограничения оборудования сервера приводят к нецелесообразности использования глобального каталога. Разумеется, пользователь сможет использовать кэшированные учетные данные, но он не сможет получить доступ к необходимым ресурсам. Для снижения необходимости подключения к серверу глобального каталога, находящегося в другом сайте, на контроллерах домена, работающих под управлением Windows Server 2003, Windows Server 2008 или Windows Server 2008 R2, в сайте, который не содержит сервер глобального каталога, можно использовать кэширование членства в универсальных группах. Эта функциональная возможности появилась в Windows Server 2003 и она исключает для контроллера домена в мультидоменном лесу необходимость связаться с сервером глобального каталога во время входа пользователей в домены, где доступны универсальные группы, тем самым снижая трафик по глобальной сети. Если функция кэширования членства в универсальных группах включена, то при первой попытке пользователя подключения к домену, в котором доступны универсальные группы, сведения сохраняются локально. Контроллер домена получает сведения об участии пользователя в универсальных группах из глобального каталога и после этого данные сведения неограниченно кэшируются на контроллере домена данного сайта и периодически обновляются. При последующей попытке входа пользователя в данный домен, контроллер домена, для обработки входа пользователей, вместо подключения к серверу глобального каталога использует членства в кэше.
Поэтому, на контроллерах домена с ненадежной связью с сервером глобального каталога рекомендуется включать и настраивать кэширование членства в универсальных группах. Одновременно, сведения об участии пользователей в универсальных группах, могут обновляться до 500 членств каждые 8 часов. После первого входа в систему, кэш пользователя периодически обновляется в течение 180 дней.
По умолчанию, атрибуты для объектов пользователей и компьютеров не заполняются. На следующей иллюстрации вы увидите пример построения списков идентификаторов безопасности контроллером домена для кэширования:
Рис. 3. Пример построения списков идентификаторов безопасности контроллером домена для кэширования
Поиск адресной книги Exchange.
Службы каталогов службы Exchange для почтовых серверов Microsoft Exchange Server тесно интегрированы с доменными службами Active Directory. Когда пользователи в своем почтовом клиенте хотят найти человека в пределах своей организации, чаще всего они выполняют поиск через глобальную адресную книгу (GAL), которая включает совокупность всех получателей почты в организации, включая пользователей электронной почты, контакты и группы. Такими получателями могут быть обычные пользователи, контакты, списки рассылки, группы безопасности и папки. GAL автоматически заполняется специально отведенной для этого службой на почтовом сервере, и пользователи могут создавать списки настраиваемых адресов. Для поиска серверов глобального каталога, почтовые сервера Exchange используют Active Directory и DNS. Когда пользователь пробует открыть в Microsoft Outlook адресную книгу, или когда пользователь пишет сообщение и вводит имя или адрес в поле «To», клиент Outlook использует сервер глобального каталога, указанный сервером Exchange.
Архитектура глобального каталога
Архитектура сервера глобального каталога отличается от архитектуры сервера, у которого нет роли глобального каталога использованием нестандартного порта LDAP 3268, который направляет запросы непосредственно в глобальный каталог. Запросы, которые идут на порт 3268, формируются также как и любые LDAP-запросы, но доменные службы Active Directory изменяют поведение поиска в зависимости от используемого порта. То есть, запросы на порт 3268 направляются на разделы каталога глобального каталога, включая разделы каталога только для чтения, для которых данный сервер является уполномоченным. Запросы на порт 389 направляются на домен с возможностью записи, а также на разделы каталога конфигурации, приложения и схемы реплик, которые расположены на сервере глобального каталога в качестве контроллера домена. Кроме того, во время связи с серверами глобального каталога для получения членства в универсальных группах при входе пользователя в систему, контроллеры домена используют проприетарный интерфейс репликации.
Поиск клиентов включает адресную книгу клиентов Microsoft Exchange Server, которые для поиска адресов электронной почты в глобальном каталоге используют поставщик клиента MAPI Emsabp32.dll. На стороне клиента поставщик MAPI связывается с сервером через проприетарный RPC интерфейс Name Service Provider Interface (NSPI). Пользователи с операционными системами предшествующими Windows 2000 для взаимодействия с диспетчером учетных записей безопасности (Security Accounts Manager, SAM) на эмуляторе основного контроллера домена (PDC) используют сетевой API.
Соответственно, к основным компонентам глобального каталога можно отнести:
На следующей иллюстрации изображена архитектура глобального каталога:
Рис. 4. Архитектура глобального каталога
Протоколы глобального каталога
Протоколы и интерфейсы на всех контроллерах домена одинаковые и для серверов глобального каталога нет специфических протоколов. В данном случае нас интересуют четыре интерфейса и три протокола. Значимость глобального каталога заключается в том, что контроллеры домена используют собственные протоколы репликации RPC не только для репликации, а еще и для связи с сервером глобального каталога при извлечении сведения о членстве в универсальных группах и при обновлении кэша членства в группе, когда включена функция «Кэширование членства в универсальных группах». Для всех требований глобального каталога используются следующие протоколы:
На следующей иллюстрации изображены протоколы глобального каталога:
Рис. 5. Интерфейсы и протоколы глобального каталога
Физическая структура глобального каталога
Как роль контроллера домена, глобальный каталог хранит один доступный для записи раздел каталога домена, в котором расположены объекты со всеми атрибутами. Также сервер глобального каталога хранит частичный набор атрибутов (PAS) с правом на чтение всех объектов остальных доменов в мультидоменном лесу. Объектами схемы, определяющими атрибуты, являются объекты attributeSchema, которые включают атрибут isMemberOfPartialAttributeSet. Если значение этого атрибута равно «true», то атрибут реплицируется в глобальный каталог. Топология репликации глобального каталога формируется автоматически при помощи проверки согласованности знаний (Knowledge Consistency Checker, KCC) – встроенный процесс, который реализует топологию репликации, гарантирующую доставку содержимого каждого раздела каталога на каждый сервер глобального каталога.
Атрибуты, которые реплицируются в глобальный каталог по умолчанию, включаются в базовый набор, определенный корпорацией Microsoft как атрибуты, которые чаще всего используются при поиске. При необходимости, для того чтобы указать дополнительные атрибуты, вы можете воспользоваться оснасткой консоли управления (MMC) «Схема Active Directory». Чтобы назначить объект attributeSchema членом PAS, в данной оснастке вам нужно установить флажок «Реплицировать этот атрибут в глобальный каталог», который задает атрибуту isMemberOfPartialAttributeSet значение «true».
Физическое представление данных глобального каталога ничем не отличается от контроллера домена, то есть, в глобальном каталоге база данных NTDS.dit хранит атрибуты объекта в одном файле. А на контроллере домена, который не является сервером глобального каталога, файл Ntds.dit содержит полную записываемую реплику каждого объекта в разделе каталога одного домена для своего домена, а также доступные для записи разделы каталога конфигурации и схемы.
Например, рассмотрим достаточно типичный сценарий. На сервере глобального каталога расположена полная реплика своего домена, а также частичная реплика только для чтения всех остальных доменов леса. На данном сервере глобального каталога все разделы каталога на сервере глобального каталога хранятся в файле базы данных каталога (Ntds.dit). Соответственно, в данном случае нет раздельного хранилища атрибутов глобального каталога.
К компонентам физической структуры глобального каталога можно отнести:
На следующей иллюстрации изображена физическая структура глобального каталога:
Рис. 6. Физическая структура глобального каталога
Заключение
В этой статье вы познакомились с серверами глобального каталога. Было рассказано о самой концепции серверов глобального каталога, а также о взаимодействии серверов глобального каталога с другими серверными объектами корпорации Microsoft. Рассмотрены ситуации, в которых используются сервера глобальных каталогов, а именно: поиск объектов, подтверждение ссылок на объекты в лесу, проверка подлинности, сведения о членстве в универсальных группах в среде с несколькими доменами, кэширование членства в универсальных группах, а также поиск адресной книги Microsoft Exchange. Помимо этого, вкратце была рассмотрена архитектура, физическая структура, а также протоколы серверов глобального каталога.
Об авторе:
Дмитрий Буланов отвечает на вопросы участников конференции OSZone.net в форумах операционных систем Microsoft. Его статьи на сайте OSZone.net можно найти по этой ссылке. С декабря 2008 года Дмитрий ведет свой блог, посвященный клиентским и серверным операционным системам Microsoft.
В апреле 2010 года был награжден премией Microsoft Most Valuable Professional (MVP), присуждаемой за вклад в развитие технических сообществ. Также в 2010 году он получил статус MC ITP (Microsoft Certified IT Professional), сдав 3 экзамена Microsoft, после чего старается регулярно сертифицироваться по разным технологиям.
С 1 января 2011 года он ведет свой микроблог в Твиттере.
Вы можете задать Дмитрию любой полностью анонимный вопрос здесь.