Заметки о Windows и других программных продуктах Microsoft...

Глобальный каталог и его роль в Active Directory

Глобальный каталог и его роль в Active Directory

Кроме пяти ролей FSMO в Active Directory cуществует еще шестая роль контроллера домена – глобальный каталог (Global catalog, GC). В отличие от FSMO роль глобального каталога может иметь любой контроллер в домене, т.е. она не требует уникальности сервера в пределах домена или леса. Тем не менее, глобальный каталог — самая важная с практической точки зрения роль контроллера домена. И вот почему.

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

Глобальный каталог содержит основной, но неполный набор атрибутов (Partial Attribute Set, PAT) для каждого объекта леса в каждом домене. Данные GC получает из всех разделов каталога доменов в лесу, они копируются с использованием стандартного процесса репликации службы AD. Будет ли атрибут скопирован в глобальный каталог определяется схемой. При необходимости можно сконфигурировать дополнительные атрибуты, которые будут реплицироваться в GC, используя оснастку Схема Active Directory (Active Directory Schema). Чтобы добавить атрибут в глобальный каталог, надо выбрать опцию Копировать этот атрибут в глобальный каталог (Replicate This Attribute To The Global catalog) на самом атрибуте. В результате значение параметра атрибута isMemberOfPartialAttributeSet будет установлено на true (истина).

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

dsquery server –isgc

В результате мы получим список DN серверов глобаль­ного каталога, например: «CN=SRV1,CN=Servers, CN=Default-First-Site- Name, CN=Sites, CN=Configuration, DC=contoso, DC=com»

поиск серверов глобального каталога

 

Команду dsquery server также можно использовать для поиска серверов GC в конкретном домене, лесе или сайте. Например:

dsquery server –domain contoso.com –isgc — ищем серверы глобального каталога в домене contoso.com;
dsquery server –forest –isgc — поиск серверов GC во всем лесу;
dsquery server –site Default-First-Site-Name — поиск по сайту Default-First-Site-Name.

Имейте в виду, что для поиска глобального каталога по сайту нужно знать полное имя сайта и нельзя использовать символы подстановки.

Как происходит размещение глобального каталога? Первый сервер GC создается автоматически на первом контроллере домена в лесу при установке доменных служб Active Directory. В случае одного сайта, пусть даже и содержащего несколько доменов, одного сервера глобального каталога обычно достаточно для обработки запросов и входов в Active Directory. В среде с несколькими сайтами, для оптимизации производительность сети стоит рассмотреть возможность добавления серверов GC в для обеспечения быстрого ответа на поисковые запросы и быстрого входа в систему.  Также на каждом сайте AD, где предполагается установить Exchange, должен иметься в наличии хотя бы один сервер глобального каталога.

Дополнительные контроллеры домена можно назначить как GC, выбирая опцию Глобальный каталог (Global catalog) в оснастке администрирования Сайты и службы Active Directory (Active Directory Sites And Services).

назначение сервера глобального каталога

 

Сервер глобального каталога используется в следующих ситуациях:

  • Поиск объектов

Для доступа к объектам Active Directory использует протокол облегченного доступа к каталогам (Lightweight Directory Access Protocol, LDAP). Запросы поиска LDAP могут быть отправлены и получены службой каталогов AD по порту 389 (порт LDAP по умолчанию) и по порту 3268 (порт GC).

Когда запрос поиска отправляется на порт 389, поиск осуществляется в разделе каталога одного домена. Если объект не находится в текущем домене, контроллер домена пересылает запрос на контроллер домена в домене, указанный в различающемся имени объекта (distinguished name, DN).

Примечание. DN объекта — это атрибут каждого объекта, представляющий его имя и местоположение в лесу AD, например ″CN=Mike, OU=users, DC=contoso, DC=com″.

Если же запрос поиска отправляется на порт 3268, то опрашиваются все разделы каталога в лесу, то есть поиск обрабатывается сервером глобального каталога. Поскольку глобальный каталог содержит полный список всех объектов леса, сервер GC может ответить на любой запрос без необходимости передавать его другому контроллеру домена. Кстати, только серверы глобального каталога могут получать запросы LDAP через порт 3268.

Таким образом, если пользователь выполняет поиск какого-либо объекта, указав в запросе параметр «Весь каталог»,  данный запрос перенаправляется на порт 3268  и отправляется для разрешения на сервер GC. Если же по каким-либо причинам в домене  нет сервера GC, пользователи и приложения не смогут выполнять поиск в лесу. Также стоит отметить, что глобальный каталог содержит все права доступа для каждого объекта и атрибута, и если вы ищете объект, доступ к которому у вас нет доступа, вы его не увидите в списке результатов поиска. Соответственно, пользователи могут найти только те объекты, для которых им предоставлен доступ.

  • Проверка подлинности

Кроме функции  поиска в мультидоменном лесу, сервер GC играет роль источника аутентификации во время входа пользователя в домен. Сервер глобального каталога разрешает имя пользователя в том случае, если контроллер домена, проверяющий подлинность, не имеет сведений об учетной записи этого пользователя. Другими словами, если учетная запись пользователя находится в одном домене, но сам пользователь входит в систему с компьютера, расположенного в другом домене, контроллер домена не cможет найти учетную запись пользователя и для того, чтобы завершить процесс входа в систему, он должен связаться с сервером глобального каталога.

  • Проверка членства в универсальных группах в мультидоменной среде

В процессе проверки контроллер домена проверяет подлинность пользователя, после чего пользователь получает данные авторизации для доступа к ресурсам. Для предоставления этих данных контроллер домена извлекает идентификаторы безопасности (SID) для всех групп безопасности, членом которых является пользователь и добавляет эти идентификаторы в маркер доступа пользователя. Поскольку универсальные группы могут содержать учетные записи пользователей и групп из любого домена в лесу, групповое членство в них может быть разрешено только тем контроллером домена, который имеет информацию каталога на уровне леса, т.е. сервером GC. Например, пользователь в лесу с несколькими доменами подключается к домену, в котором разрешены универсальные группы. В этом случае контроллер домена, для получения членства в универсальных группах, должен связаться с сервером глобального каталога. Если пользователь уже подключался к данному домену и сервер глобального каталога недоступен, то клиентский компьютер пользователя может использовать для входа кэшированные учетные данные. Но если сервер глобального каталога недоступен при входе пользователя в домен, в котором используются универсальные группы и пользователь ни разу не подключался к данному домену, войти в домен он не сможет (только локально в систему). Исключение составляет учетная запись доменного администратора, он всегда может входить в домен, даже если сервер GC недоступен.

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

  • Проверка ссылок на объекты внутри леса

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

  • Поиск в адресной книге Exchange

Когда пользователи в своем почтовом клиенте хотят найти человека в пределах своей организации, как правило они выполняют поиск через глобальную адресную книгу (global address list, GAL).  GAL — это список, который Exchange создает в результате выполнения запроса LDAP на поиск всех объектов, получающих почту — пользователей, контакты и группы. Когда пользователь пробует открыть в Microsoft Outlook адресную книгу, или пишет сообщение и вводит имя или адрес в поле «Кому», Outlook использует сервер глобального каталога, указанный сервером Exchange. Для поиска серверов глобального каталога, почтовые сервера Exchange используют Active Directory и DNS.

Подведем итог: При отсутствии доступа к серверу глобального каталога пользователи не смогут войти в систему, а почтовый сервер Exchange не сможет отправлять и принимать почту. Вот именно поэтому глобальный каталог и является самой важной ролью контролера домена, без которой функционирование Active Directory практически невозможно.

 
 
Комментарии
Алексей

Спасибо за статью, в ней простое,внятное и достаточное изложение сути GC AD.Успехов автору.

Дмитрий

Спасибо за статью.
Если, например, я сделаю глобальными каталогами 2 сервера, будут ли пользователи продолжать авторизовываться в домене, если выключен\недоступен доменный контроллер, поднятый а AD первым?

бдительный

Я с радостью и интересом читаю ваш блог, особенно меня интересует Active Directory. В русском сегменте кроме вас и сайта http://pyatilistnik.org/active-directory/ больше толком никто не пишет про AD, в основном копирование статей с ваших сайтов. Я и не полагал, что глобальный каталог столь важен.

Александр

Какая крутая статья, автору спасибо.

Ответить