Крім п'яти ролей 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, користувачі і додатки не зможуть виконувати пошук в лісі. Також варто відзначити, що глобальний каталог містить всі права доступу для кожного об'єкта і атрибуту, і якщо ви шукаєте об'єкт, доступ до якого у вас немає доступу, ви його не побачите в списку результатів пошуку. Відповідно, користувачі можуть знайти тільки ті об'єкти, для яких їм надано доступ.
- Перевірка членства в універсальних групах в МультиДоменні середовищі
Примітка. Якщо в складі лісу знаходиться тільки один домен, то при вході в систему немає необхідності отримувати в глобальному каталозі членство в універсальних групах. Це обумовлено тим, що AD виявляє відсутність в лісі інших доменів і запобігає відправлення глобального каталогу запиту на ці відомості.
Контролери домену використовують глобальний каталог для підтвердження посилань на об'єкти інших доменів в лісі. Тобто, якщо контролер домену містить об'єкт з атрибутом, який містить посилання на об'єкт в іншому домені, то контролер домену перевіряє посилання, встановлюючи зв'язок з сервером глобального каталогу.
Підіб'ємо підсумок: За відсутності доступу до сервера глобального каталогу користувачі не зможуть увійти в систему, а поштовий сервер Exchange не зможе відправляти і приймати пошту. Ось саме тому глобальний каталог і є найважливішою роллю контролера домену, без якої функціонування Active Directory практично неможливо.