Ролі FSMO.
Є кілька ситуацій, коли доводиться згадувати про ролях FSMO - це аварійне відновлення після збою, міграція, а також пошук роботи (зазвичай на співбесідах дуже люблять ставити запитання на кшталт «Які існують ролі в AD для контролера домену, навіщо вони потрібні?» ). І хоча всі ці ситуації відбуваються вкрай рідко, для загального розуміння роботи AD вельми корисно розуміти призначення ролей FSMO.
FSMO, або Flexible single-master operations (операції з одним виконавцем) - це операції, що виконуються контролерами домену Active Directory (AD), які вимагають обов'язкової унікальності сервера для кожної операції. Залежно від типу операції унікальність FSMO мається на увазі в межах одного домену або лісу доменів.Різні типи FSMO можуть виконуватися як на одному, так і на кількох контролерів домену. Виконання FSMO сервером називають роллю сервера, а самі сервера - господарями операцій.
Більшість операцій в AD можна робити на будь-якому контролері домена. Служба реплікації AD скопіює зміни на інші контролери домену, забезпечивши ідентичність бази AD на всіх контролерів одного домену.Усунення конфліктів відбувається наступним чином - правий той, хто вносив зміни останнім.
Однак існує кілька дій (наприклад зміна схеми AD), при яких конфлікти недопустимі. Тому й існують сервера з ролями FSMO. Їх завдання - не допускати таких конфліктів.Таким чином, сенс ролей FSMO в наступному - кожна роль одночасно може виконуватися тільки на одному сервері. А при необхідності її можна в будь-який момент передати іншому контролеру домену.
Всього в лісі є п'ять ролей FSMO. Для початку наведу їх короткий опис:
- Господар схеми (Schema Master) - відповідає за внесення змін до схеми Active Directory.Може бути тільки один на весь ліс доменів.
- Господар іменування доменів (Domain Naming Master) - відповідає за унікальність імен для створюваних доменів і розділів додатків в лісі. Може бути тільки один на весь ліс доменів.
- Господар інфраструктури (Infrastructure Master) - зберігає дані про користувачів з інших доменів, що входять в локальні групи, які підтримуються вашим.Може бути один на кожен домен в лісі.
- Господар RID (RID Master) - відповідає за виділення унікальних відносних ідентифікаторів (RID), необхідних при створенні доменних облікових записів. Може бути один на кожен домен в лісі.
- Емулятор PDC (PDC Emulator) - відповідає за сумісність з доменом NT4 і клієнтами до Windows 2000.Може бути один на кожен домен в лісі.
А тепер пройдемося докладніше по кожній ролі і з'ясуємо, наскільки вони важливі для функціонування Active Directory.
Schema Master
Schema Master - відповідає за внесення змін до схеми, де знаходяться описи всіх класів і атрибутів Active Directory.Схема модифікується вкрай рідко, наприклад при зміні рівня домену, установці Exchange і іноді інших додатків. Розташовуватися дана роль може на будь-якому контролері домена в межах лісу. При недоступності Schema Master змінити схему AD буде неможливо.
Domain Naming Master
Domain Naming Master відповідає за операції, пов'язані з іменами доменів AD, проте список його обов'язків дещо більше:
- Додавання і видалення доменів в межах лісу.Додавати і видаляти домени дозволяється тільки контролеру з роллю Domain Naming Master. Він відстежує, щоб додається домен мав унікальне в межах лісу NETBIOS-ім'я. Якщо Naming Master недоступний, додати або видалити домен в лісі неможливо.
- Створення та видалення розділів. Починаючи з Windows 2003 з'явилася можливість створювати відокремлені розділи - Application Directory Partitions, які використовуються для зберігання в AD довільних даних.Як приклад - зберігання даних для DNS-серверів в розділах ForestDnsZones і DomainDnsZones. Управління розділами при недоступному Domain Naming Master неможливо.
- Створення та видалення перехресних посилань. Перехресні посилання використовуються для пошуку по каталогу в тому випадку, якщо сервер, до якого підключений клієнт, не містить потрібної копії каталогу, причому посилатися можна і на домени поза лісом, за умови їх доступності.Зберігаються перехресні посилання (crossRef) в контейнері Partitions розділу Configuration, і тільки Domain Naming Master має право на зміну вмісту цього контейнера. При недоступності Domain Naming Master не вийде створити нову перехресне посилання, або видалити непотрібну.
- Схвалення перейменування домену.Для перейменування домену використовується утиліта rendom.exe. Вона становить скрипт з інструкціями, які повинні будуть виконатися в процесі перейменування. Скрипт цей поміщається в контейнер Partitions розділу Configuration. Оскільки право змінювати вміст цього контейнера є тільки у контролера з роллю Domain Naming Master, то за перевірку інструкцій і запис атрибутів відповідає саме він.
Перебувати дана роль може на будь-якому контролері домена в межах лісу.
Infrastructure Master
Якщо сервер не є глобальним каталогом (GC), то в його базі немає даних про користувачів з інших доменів. Проте, в локальні групи домену ми можемо додавати користувачів з інших доменів.А група в базі AD повинна фізично мати посилання на всіх користувачів. Цю проблему вирішили створенням фіктивного об'єкта - фантома (phantom). Фіктивні об'єкти представляють собою особливий тип об'єктів внутрішньої бази даних і не можуть переглядатися через ADSI або LDAP. Саме роботою з фантомами займається майстер інфраструктури.
Ще одна особливість даної ролі - для правильної роботи в багатодоменному середовищі контролер домену, що виконує роль господаря інфраструктури не повинен бути сервером глобального каталогу. Якщо володар ролі Infrastructure Master також є сервером GC, фіктивні об'єкти не створюються або не оновлюється на цьому контролері домену.Це відбувається тому, що глобальний каталог вже містить часткові репліки всіх об'єктів в Active Directory, і йому немає необхідності в фантомах.
RID Master
У кожного облікового запису в домені (користувача, комп'ютера , групи) повинен бути унікальний ідентифікатор безпеки (SID), який однозначно ідентифікує цей обліковий запис і служить для розмежування прав доступу.Виглядає SID наступним чином:
S-1-5-Y1-Y2-Y3-Y4, де
- S-1 - SID ревізії 1. В даний час використовується тільки ця ревізія.
- 5 - Означає, ким був виданий SID. 5 означає NT Authority. Однак так звані «добре відомі ідентифікатори» SID (well-known SID) можуть в даній частині мати 0, 1, і деякі інші значення.
- Y1-Y2-Y3 - Ідентифікатор домену, до якого належить обліковий запис. Однаковий для всіх об'єктів security principal в межах одного домену.
- Y4 - Відносний ідентифікатор (Relative ID, RID), що відноситься до конкретної облікового запису. Підставляється з пулу отностітельно ідентифікаторів домену в момент створення облікового запису.
Контролер домену з роллю RID Master відповідає за виділення послідовності унікальних RID кожного контролера домену в своєму домені, а також за коректність переміщення об'єктів з одного домена в іншій. У контролерів домену є загальний пул відносних ідентифікаторів (RID Pool), RID з якого кожного контролера виділяються порціями по 500 штук.Коли їх число добігає кінця (стає менше 100), контролер запитує нову порцію. При необхідності кількість видаваних RID і поріг запиту можна змінити.
Ще одна зона відповідальності RID Master - переміщення об'єктів між доменами. Саме RID Master стежить за тим, щоб ніхто не зміг одночасно перемістити один об'єкт в два різних домену.Інакше можлива ситуація, коли в двох доменах буде два об'єкти з однаковим GUID, що загрожує найнесподіванішими наслідками.
Якщо RID Master НЕ буде доступний, то після закінчення вільних RID створити новий обліковий запис стане неможливо, а також не вдасться провести міграцію об'єктів з поточного домену в інший.
PDC Emulator
Спочатку основним завданням Primary Domain Controller (PDC) Emulator було забезпечення сумісності з попередніми версіями Windows. У змішаному середовищі, в якій зустрічаються клієнти Windows NT4.0/95/98 і контролери домену NT4, PDC Emulator виконує (тільки для них) такі функції:
- Обробка операції "зміна пароля" для користувачів і комп'ютерів;
- Реплікація оновлень на BDC (Backup Domain Controller);
- Оглядач мережі (пошук мережевих ресурсів).
Починаючи з рівня домену Windows 2000 і старше роботи йому додалося. Контролер домену з роллю PDC Emulator виконує наступні функції:
- Відповідає за зміну паролів і відстежує блокування користувачів при помилках паролів. Пароль, змінений будь-яким іншим контролером домену, насамперед реплицируется на PDC Emulator.Якщо аутентифікація на будь-якому іншому контролері домену не була успішною, запит повторюється на PDC Emulator. При успішній аутентифікації облікового запису відразу після невдалої спроби, PDC Emulator про неї повідомляється і скидає лічильник невдалих спроб в нуль. Важливо зауважити, що в разі недоступності PDC Emulator інформація про зміну пароля все одно пошириться по домену, просто відбудеться це трохи повільніше.
- Редактор групових політик за замовчуванням з'єднується з сервером PDC Emulator, і зміни політик відбуваються на ньому ж. Якщо PDC Emulator недоступний, доведеться вказати редактору, до якого контролера домену підключитися.
- За замовчуванням саме PDC Emulator є для клієнтів сервером точного часу в домені.PDC Emulator кореневого домена в лісі є за замовчуванням сервером точного часу для PDC Emulator в дочірніх доменах.
- Зміни, що вносяться до простір імен Distributed File System (DFS), вносяться на контролері домену з роллю PDC Emulator. Кореневі сервери DFS періодично запитують з нього оновлені метадані, зберігаючи їх у себе в пам'яті.Недоступність PDC Emulator може спричинити за собою невірну роботу DFS.
- У Active Directory є так звані «Вбудовані учасники системи безпеки» (Well Known Security Principals). Прикладами можуть служити облікові записи Everyone, Authenticated Users, System, Self і Creator Owner. Управління ними всіма здійснює контролер домену з роллю PDC Emulator.Точніше кажучи, при змінах в AD PDC Emulator перевіряє і оновлює вміст контейнера "CN = WellKnown Security Principals, CN = Configuration, DC =".
- У кожному домені лісу Active Directory є власник адміністративних дескрипторів безпеки - AdminSDHolder. Він зберігає інформацію про налаштування безпеки для так званих захищених груп (protected groups).З певною періодичністю даний механізм запитує перелік всіх учасників цих груп і виставляє їм права відповідно до свого списком управління доступом. Таким чином AdminSDHolder захищає адміністративні групи від змін. Виконується AdminSDHolder на контролері домену з роллю PDC Emulator.
На цьому мабуть все. Сподіваюся мені вдалося трохи прояснити ситуацію з ролями FSMO. А наступного разу ми розглянемо варіанти передачі ролей іншому контролеру домену, а також примусове призначення (захоплення) ролі в разі недоступності контролера домену, який її виконує.П>.