Лекція 22. Архітектура служби каталогів Active Directory
Active Directory — LDAP-сумісна реалізація інтелектуальної служби каталогів корпорації Microsoft для операційних систем родини Windows NT. Active Directory дозволяє адміністраторам використовувати групові політики (GPO) для забезпечення подібного налаштування користувацького робочого середовища, розгортати ПЗ на великій кількості комп'ютерів (через групові політики або за допомогою Microsoft Systems Management Server 2003 (або System Center Configuration Manager)), встановлювати оновлення ОС, прикладного та серверного ПЗ на всіх комп'ютерах в мережі (із використанням Windows Server Update Services (WSUS); Software Update Services (SUS) раніше). Active Directory зберігає дані і налаштування середовища в централізованій бази данних. Мережі Active Directory можуть бути різного розміру: від кількох сотень до кількох мільйонів об'єктів.
Презентація Active Directory відбулась в 1999 році, продукт був вперше випущений із Windows 2000 Server, а потім був модифікований і покращений при випуску спочатку Windows Server 2003, а потім Windows Server 2003 R2.
На відміну від версій Windows до Windows 2000, котрі використовували в основному протокол NetBIOS для мережевої взаємодії, служба Active Directory інтегрована з DNS та TCP/IP. DNS-сервер, що обслуговує Active Directory, має бути сумісним з BIND версії 8.1.2 або пізнішої, сервер має підтримувати записи типу SRV (RFC 2052) та протокол динамічних оновлень (RFC 2136).
22.1. Об'єкти
Active Directory (AD) має ієрархічну структуру, що складається з об'єктів. Об'єкти поділяються на три основні категорії:
- ресурси (наприклад, принтери);
- служби (наприклад, електронна пошта);
- люди (облікові записи користувачів і груп користувачів).
Active Directory виконує наступні функції:
- надає інформацію про об'єкти;
- дозволяє організовувати об'єкти;
- дозволяє керувати доступом до об'єктів;
- встановлює правила безпеки.
Об'єкти являють собою окремі сутності (користувача, комп'ютер, принтер, програму або спільну мережеву папку) і їхні атрибути. Об'єкти також можуть бути контейнерами для інших об'єктів. Об'єкт унікально ідентифікується своєю назвою і має набір атрибутів:
- характеристик;
- даних, які об'єкт може містити.
Дані, які об'єкт може містити, у свою чергу, залежать від типу об'єкта. Атрибути є складовою базової структури об'єкта і визначаються схемою Active Directory. Схема визначає, які типи об'єктів можуть існувати в Active Directory.
Сама схема складається з двох типів об'єктів схеми:
- класів схеми;
- атрибутів схеми.
Один клас схеми визначає один тип об'єкта Active Directory (наприклад, об'єкт «Користувач»), а один атрибут схеми визначає атрибут, який об'єкт може мати.
Кожен атрибут може бути використаний в декількох різних класах схеми. Ці об'єкти називаються об'єктами схеми (або метаданими) і дозволяють змінювати і доповнювати схему, коли це необхідно. Проте, кожен об'єкт схеми є частиною визначень об'єктів Active Directory, тому деактивація або зміна цих об'єктів можуть мати серйозні наслідки, тому що в результаті цих дій буде змінена структура Active Directory. Зміна об'єкта схеми автоматично поширюється в Active Directory. Будучи одного разу створеним, об'єкт схеми не може бути вилучений, його можна лише активізувати. Зазвичай всі зміни схеми ретельно плануються.
Контейнер є аналогічним до об'єкта в тому сенсі, що він також має атрибути та належить простору імен, але, на відміну від об'єкта, контейнер не означає нічого конкретного: контейнер може лише містити групу об'єктів або інші контейнери.
22.2. Ліси, дерева та домени
Верхнім рівнем структури є ліс — сукупність всіх об'єктів, атрибутів та правил (синтаксису атрибутів) в Active Directory. Ліс містить одне або кілька дерев, пов'язаних транзитивними стосунками довіри. Дерево містить один або декілька доменів, також пов'язаних в ієрархію транзитивними стосунками довіри. Домени ідентифікуються своїми структурами імен DNS — просторами імен.
Об'єкти в домені можуть бути згруповані у контейнери — підрозділи. Підрозділи дозволяють створювати ієрархію всередині домену, спрощують його адміністрування і дозволяють моделювати організаційну та/або географічну структури компанії в Active Directory. Підрозділи можуть містити інші підрозділи. Корпорація Майкрософт рекомендує використовувати якомога менше доменів в Active Directory, а для структурування AD і політик використовувати підрозділи. Часто групові політики застосовуються саме до підрозділів. Групові політики самі є об'єктами. Підрозділ є найнижчим рівнем, на якому можуть делегуватися адміністративні повноваження.
Іншим способом поділу AD є «сайти», які є способом фізичного (а не логічного) групування на основі підмереж IP. Сайти діляться на такі, що мають підключення низькошвидкісними каналами (наприклад, каналами глобальних мереж, за допомогою віртуальних приватних мереж), і таких, що підключені до високошвидкісних каналів (наприклад через локальні мережі). Сайт може містити один або декілька доменів, а домен може містити один або кілька сайтів. При проектуванні Active Directory важливо враховувати мережевий трафік, що створюється при синхронізації даних AD між сайтами.
Ключовим рішенням при проектуванні AD є рішення щодо поділу інформаційної інфраструктури на ієрархічні домени та підрозділи верхнього рівня. Типовими моделями, що використовуються для такого поділу, є моделі поділу за функціональними підрозділами компанії, за географічним розташуванням, і за ролями в інформаційній інфраструктурі компанії. Часто використовуються комбінації цих моделей.
У програмі Microsoft Integration Services була анонсована підтримка відносин довіри між окремими лісами.
22.3. Фізична структура та реплікація
Фізично інформація AD зберігається на одному або декількох рівнозначних контролерах доменів, які замінили основний і резервні контролери домену (що використовувалися в Windows NT) (хоча для виконання деяких операцій зберігається і так званий сервер «операцій з одним головним сервером», який може емулювати головний контролер домену). Кожен контролер домену зберігає копію даних AD, призначену для читання та запису. Зміни, зроблені на одному контролері, синхронізуються на всі контролери домену при реплікації. Сервери, на яких сама служба Active Directory не встановлена, але які при цьому входять в домен AD, називаються рядовими серверами.
Реплікація AD виконується за запитом. Служба KCC створює топологію реплікації, яка використовує сайти, визначені в системі, для керування трафіком. Внутрішньосайтова реплікація виконується часто і автоматично за допомогою засобу перевірки узгодженості (повідомленням партнерів з реплікації про зміни). Реплікація між сайтами може бути налаштована для кожного каналу сайту (у залежності від якості каналу) — різна «оцінка» (або «вартість») може бути призначена кожному каналу (наприклад, DS3, T1, ISDN і т. д.), і трафік реплікації буде обмежений, передаватися за розкладом і маршрутизуватися відповідно до призначеної каналу оцінки. Дані реплікації можуть транзитивно передаватися через кілька сайтів через мости зв'язку сайтів, якщо «оцінка» низька, хоча AD автоматично призначає нижчу оцінку для зв'язків «сайт-сайт», ніж для транзитивних з'єднань. Реплікація сайт-сайт виконується серверами-плацдармами в кожному сайті, які потім реплікують зміни на кожен контролер домену свого сайту. Внутрішньодоменна реплікація виконується за протоколом RPC за IP, міждоменні — можуть використовувати також протокол SMTP.
Якщо структура Active Directory містить кілька доменів, для вирішення завдання пошуку об'єктів використовується глобальний каталог: контролер домену, що містить всі об'єкти лісу, але з обмеженим набором атрибутів (неповна репліка). Каталог зберігається на зазначених серверах глобального каталогу й обслуговує міждоменні запити.
Можливість операцій з одним головним комп'ютером дозволяє обробляти запити, коли реплікація з кількома головними комп'ютерами неприпустима. Є п'ять типів таких операцій:
- емуляція головного контролеру домену (PDC-емулятор),
- головний комп'ютер відносного ідентифікатора (майстер відносних ідентифікаторів або RID-майстер),
- головний комп'ютер інфраструктури (майстер інфраструктури),
- головний комп'ютер схеми (майстер схеми),
- головний комп'ютер іменування домену (майстер іменування доменів).
Перші три ролі унікальні в рамках домену, останні дві — унікальні в рамках усього лісу.
Базу AD можна розділити на три логічні сховища або «розділи».
«Схема» є шаблоном для AD і визначає всі типи об'єктів, їхні класи й атрибути, синтаксис атрибутів (всі дерева знаходяться в одному лісі, тому що у них одна схема).
«Конфігурація» є структурою лісу і дерев AD.
«Домен» зберігає всю інформацію про об'єкти, створених у цьому домені. Перші два сховища реплікуються на всі контролери доменів в лісі, третій розділ повністю реплікується між репліками контролерів в рамках кожного домену та частково — на сервера глобального каталогу.
База даних AD (сховище каталогів) в Windows 2000 використовує розширювану підсистему зберігання Microsoft Jet Blue, котра дозволяє для кожного контролера домена мати базу розміром до 16 терабайт і 1 мільярд об'єктів (теоретичне обмеження, практичні тести виконувались лише з приблизно 100 мільйонами об'єктів).
22.4. Найменування
AD підтримує такі формати йменування об'єктів: універсальні імена типу UNC, URL та LDAP URL. Версія LDAP формату іменування X.500 використовується всередині Active Directory.
Кожен об'єкт має розрізнювальне ім'я(Distinguished name, DN). Наприклад, об'єкт принтера з ім'ям HPLaser3 в підрозділі «Маркетинг» і в домені foo.org буде мати наступне розрізнювальне ім'я: CN = HPLaser3, OU = Маркетинг, DC = foo, DC = org , де «CN» — це загальне ім'я, «OU» — розділ, «DC» — клас об'єкта домену. Щоб визначити об'єкт всередині його контейнера, використовується відносне розрізнювальне ім'я: CN = HPLaser3. У кожного об'єкта також є глобальний унікальний ідентифікатор (GUID) — унікальний і незмінний 128-бітний рядок, який використовується в AD для пошуку та реплікації. Певні об'єкти також мають ім'я учасника-користувача (UPN, відповідно до RFC 822) у форматі об'єкт@домен.