Active Directory ("Активні директорії", AD) - LDAP -сумісна реалізація служби каталогів корпорації Microsoft для операційних систем сімейства Windows NT. Active Directory дозволяє адміністраторам використовувати групові політики для забезпечення однаковості налаштування користувацької робочого середовища, розгортати програмне забезпечення на безлічі комп'ютерів через групові політики або за допомогою System Center Configuration Manager (раніше Microsoft Systems Management Server), встановлювати оновлення операційної системи, прикладного та серверного програмного забезпечення на всіх комп'ютерах в мережі, використовуючи Службу оновлення Windows Server. Active Directory зберігає дані і налаштування середовища в централізованій базі даних. Мережі Active Directory можуть бути різного розміру: від декількох десятків до декількох мільйонів об'єктів.

Подання Active Directory відбулося в 1999 році, продукт був вперше випущений з Windows Server 2000, а потім був модифікований і покращений при випуску Windows Server 2003. Згодом Active Directory був поліпшений в Windows Server 2003 R2, Windows Server 2008 і Windows Server 2008 R2 і перейменований в Active Directory Domain Services. Раніше служба каталогів називалася NT Directory Service (NTDS), ця назва досі можна зустріти в деяких виконуваних файлах.

На відміну від версій Windows до Windows 2000, які використовували в основному протокол NetBIOS для мережевої взаємодії, служба Active Directory інтегрована з DNS і TCP / IP. Для аутентифікації за замовчуванням використовується протокол Kerberos. Якщо клієнт або додаток не підтримує аутентифікацію Kerberos, використовується протокол NTLM [1].


1. Пристрій

1.1. Об'єкти

Active Directory має ієрархічну структуру, що складається з об'єктів. Об'єкти поділяються на три основні категорії: ресурси (наприклад, принтери), служби (наприклад, електронна пошта) та облікові записи користувачів і комп'ютерів. Active Directory надає інформацію про об'єкти, дозволяє організовувати об'єкти, керувати доступом до них, а також встановлює правила безпеки.

Об'єкти можуть бути вмістищами для інших об'єктів (групи безпеки та поширення). Об'єкт унікально визначається своїм ім'ям і має набір атрибутів - характеристик та даних, які він може містити; останні, в свою чергу, залежать від типу об'єкта. Атрибути є складовою базою структури об'єкта і визначаються у схемі. Схема визначає, які типи об'єктів можуть існувати.

Сама схема складається з двох типів об'єктів: об'єкти класів схеми та об'єкти атрибутів схеми. Один об'єкт класу схеми визначає один тип об'єкта Active Directory (наприклад, об'єкт "Користувач"), а один об'єкт атрибуту схеми визначає атрибут, який об'єкт може мати.

Кожен об'єкт атрибута може бути використаний в декількох різних об'єктах класів схеми. Ці об'єкти називаються об'єктами схеми (або метаданими) та дозволяють змінювати і доповнювати схему, коли це необхідно. Однак кожен об'єкт схеми є частиною визначень об'єктів Active Directory, тому відключення або зміна цих об'єктів можуть мати серйозні наслідки, тому що в результаті цих дій буде змінена структура Active Directory. Зміна об'єкта схеми автоматично поширюється в Active Directory. Будучи одного створеним, об'єкт схеми не може бути видалений, він може бути тільки відключений. Зазвичай всі зміни схеми ретельно плануються.

Контейнер аналогічний об'єкту в тому сенсі, що він також має атрибути і належить простору імен, але, на відміну від об'єкта, контейнер не позначає нічого конкретного: він може містити групу об'єктів або інші контейнери.


1.2. Структура

Верхнім рівнем структури є ліс - сукупність всіх об'єктів, атрибутів і правил (синтаксису атрибутів) в Active Directory. Ліс містить одне або кілька дерев, пов'язаних Транзитивність відносинами довіри. Дерево містить один або декілька доменів, також пов'язаних в ієрархію транзитивних відносинами довіри. Домени ідентифікуються своїми структурами імен DNS - просторами імен.

Об'єкти в домені можуть бути згруповані в контейнери - підрозділи. Підрозділи дозволяють створювати ієрархію всередині домену, спрощують його адміністрування і дозволяють моделювати організаційну та / або географічну структури компанії в Active Directory. Підрозділи можуть містити інші підрозділи. Корпорація Microsoft рекомендує використовувати якомога менше доменів в Active Directory, а для структурування і політик використовувати підрозділи. Часто групові політики застосовуються саме до підрозділам. Групові політики самі є об'єктами. Підрозділ є найнижчим рівнем, на якому можуть делегуватися адміністративні повноваження.

Іншим способом поділу Active Directory є сайти, які є способом фізичної (а не логічної) угруповання на основі сегментів мережі. Сайти підрозділяються на що мають підключення по низькошвидкісних каналах (наприклад по каналах глобальних мереж, за допомогою віртуальних приватних мереж) і по високошвидкісних каналах (наприклад через локальну мережу). Сайт може містити один або декілька доменів, а домен може містити один або кілька сайтів. При проектуванні Active Directory важливо враховувати мережевий трафік, що створюється при синхронізації даних між сайтами.

Ключовим рішенням при проектуванні Active Directory є рішення про поділ інформаційної інфраструктури на ієрархічні домени і підрозділи верхнього рівня. Типовими моделями, використовуваними для такого поділу, є моделі поділу по функціональним підрозділам компанії, за географічним положенням і за ролями в інформаційній інфраструктурі компанії. Часто використовуються комбінації цих моделей.


1.3. Фізична структура і реплікація

Фізично інформація зберігається на одному або декількох рівнозначних контролерах доменів, які замінили використовувалися в Windows NT основний і резервні контролери домену, хоча для виконання деяких операцій зберігається і так званий сервер " операцій з одним головним сервером ", який може емулювати головний контролер домену. Кожен контролер домену зберігає копію даних, призначену для читання і запису. Зміни, зроблені на одному контролері, синхронізуються на всі контролери домену при реплікації. Сервери, на яких сама служба Active Directory не встановлена, але які при цьому входять в домен Active Directory, називаються рядовими серверами.

Реплікація Active Directory виконується за запитом. Служба Knowledge Consistency Checker створює топологію реплікації, яка використовує сайти, визначені в системі, для управління трафіком. Внутрісайтовая реплікація виконується часто і автоматично за допомогою засобу перевірки узгодженості (повідомленням партнерів по реплікації про зміни). Реплікація між сайтами може бути налаштована для кожного каналу сайту (залежно від якості каналу) - різна "оцінка" (або "вартість") може бути призначена кожному каналу (наприклад DS3, T1, ISDN і т. д.), і трафік реплікації буде обмежений, передаватися за розкладом і маршрутизироваться відповідно до призначеної оцінкою каналу. Дані реплікації можуть транзитивній передаватися через кілька сайтів через мости зв'язку сайтів, якщо "оцінка" низька, хоча AD автоматично призначає більш низьку оцінку для зв'язків "сайт-сайт", ніж для транзитивних з'єднань. Реплікація сайт-сайт виконується серверами-плацдармами в кожному сайті, які потім реплицируются зміни на кожен контролер домену свого сайту. Внутрідоменная реплікація проходить за протоколом RPC по протоколу IP, міждоменної - може використовувати також протокол SMTP.

Якщо структура Active Directory містить декілька доменів, для вирішення завдання пошуку об'єктів використовується глобальний каталог: контролер домену, що містить всі об'єкти лісу, але з обмеженим набором атрибутів (неповна репліка). Каталог зберігається на зазначених серверах глобального каталогу і обслуговує міждоменної запити.

Можливість операцій з одним головним комп'ютером дозволяє обробляти запити, коли реплікація з декількома головними комп'ютерами неприпустима. Є п'ять типів таких операцій: емуляція головного контролера домену (PDC-емулятор), головний комп'ютер відносного ідентифікатора (майстер відносних ідентифікаторів або RID-майстер), головний комп'ютер інфраструктури (майстер інфраструктури), головний комп'ютер схеми (майстер схеми) і головний комп'ютер іменування домену (майстер іменування доменів). Перші три ролі унікальні в рамках домену, останні дві - унікальні в рамках усього лісу.

Базу Active Directory можна розділити на три логічні сховища або "розділу". Схема є шаблоном для Active Directory і визначає всі типи об'єктів, їх класи та атрибути, синтаксис атрибутів (всі дерева знаходяться в одному лісі, тому що у них одна схема). Конфігурація є структурою лісу і дерев Active Directory. Домен зберігає всю інформацію про об'єкти, створених у цьому домені. Перші два сховища реплікуються на всі контролери доменів у лісі, третій розділ повністю реплікується між репліками контролерів в рамках кожного домена і частково - на сервера глобального каталогу.

База даних (сховище каталогів) в Windows 2000 використовує розширювану підсистему зберігання Microsoft Jet Blue (англ.), яка дозволяє для кожного контролера домену мати базу розміром до 16 терабайт і 1 мільярд об'єктів (теоретичне обмеження, практичні тести виконувалися тільки з приблизно 100 мільйонами об'єктів). Файл бази називається NTDS.DIT ​​і має дві основні таблиці - таблицю даних і таблицю зв'язків. У Windows Server 2003 додана ще одна таблиця для забезпечення унікальності екземплярів дескрипторів безпеки.


2. Іменування

Active Directory підтримує наступні формати іменування об'єктів: універсальні імена типу UNC, URL і LDAP URL. Версія LDAP формату іменування X.500 використовується всередині Active Directory.

Кожен об'єкт має розрізнювальне ім'я ( англ. distinguished name , DN) [2]. Наприклад, об'єкт принтера з ім'ям HPLaser3 в підрозділі "Маркетинг" і в домені foo.org буде мати наступне розрізнювальне ім'я: CN=HPLaser3,OU=Маркетинг,DC=foo,DC=org, де CN - це загальна назва, OU - розділ , DC - клас об'єкта домену. Розрізняються імена можуть мати набагато більше частин, ніж чотири частини в цьому прикладі. У об'єктів також є канонічні імена. Це розрізняються імена, записані у зворотному порядку, без ідентифікаторів і з використанням скісних рисок в якості роздільників: foo.org/Маркетинг/HPLaser3. Щоб визначити об'єкт всередині його контейнера, використовується відносне розрізнювальне ім'я: CN=HPLaser3. У кожного об'єкта також є глобально унікальний ідентифікатор ( GUID) - унікальна і незмінна 128-бітна рядок, яка використовується в Active Directory для пошуку і реплікації. Певні об'єкти також мають ім'я учасника-користувача (UPN, відповідно до RFC 822) у форматі объект@домен.


3. Інтеграція з UNIX

Різні рівні взаємодії з Active Directory можуть бути реалізовані в більшості UNIX-подібних операційних систем за допомогою відповідних стандарту LDAP клієнтів, але такі системи, як правило, не сприймають більшу частину атрибутів, асоційованих з компонентами Windows, наприклад групові політики та підтримку односторонніх довіреностей.

Сторонні постачальники пропонують інтеграцію Active Directory на платформах UNIX, включаючи UNIX, Linux, Mac OS X і ряд додатків на базі Java, з пакетом продуктів:

  • Centrify DirectControl (Centrify Corporation) - сумісні з Active Directory централізовану аутентифікацію та контроль доступу [3].
  • Centrify Express (Centrify Corporation) - набір вільних сумісних з Active Directory сервісів для централізованої аутентифікації, моніторингу, розділяється доступу до файлів і віддаленого доступу.
  • UNAB ( Computer Associates).
  • TrustBroker (CyberSafe Limited) - реалізація Kerberos.
  • PowerBroker Identity Services, раніше Likewise (BeyondTrust) - дозволяє клієнту увійти в домен Active Directory [3].
  • Authentication Services (Quest Software).
  • ADmitMac (Thursby Software Systems) [3].
  • Samba - може виконувати роль контролера домену [4] [5].

Додавання в схему, що поставляються з Windows Server 2003 R2 включають атрибути, які досить тісно пов'язані з RFC 2307, щоб використовуватися в загальному випадку. Базові реалізації RFC 2307, nss_ldap і pam_ldap, запропоновані PADL.com, безпосередньо підтримують ці атрибути. Стандартна схема для членства в групі відповідає RFC 2307bis (пропонованого) [6]. Windows Server 2003 R2 включає Консоль управління Microsoft для створення і редагування атрибутів.

Альтернативним варіантом є використання іншої служби каталогів, наприклад 389 Directory Server (раніше Fedora Directory Server, FDS), eB2Bcom ViewDS v7.1 XML Enabled Directory або Sun Java System Directory Server від Sun Microsystems, яка виконує двосторонню синхронізацію з Active Directory, реалізовуючи таким чином "відбиту" інтеграцію, коли клієнти UNIX і Linux автентифіковані FDS, а клієнти Windows автентифіковані Active Directory. Іншим варіантом є використання OpenLDAP з можливістю напівпрозорого перекриття, що розширює елементи віддаленого сервера LDAP додатковими атрибутами, збереженими в локальній базі даних.

Active Directory автоматизуються за допомогою Powershell [7].


Література

  • Ренд Морімото, Кентон Гардіньер, Майкл Ноел, Джо Кока Microsoft Exchange Server 2003. Повне керівництво = Microsoft Exchange Server 2003 Unleashed. - М .: "Вильямс", 2006. - С. 1024. - ISBN 0-672-32581-0