Active Directory

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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 2000 Server, а затем был модифицирован и улучшен при выпуске 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].

Устройство[править | править вики-текст]

Объекты[править | править вики-текст]

Active Directory имеет иерархическую структуру, состоящую из объектов. Объекты разделяются на три основные категории: ресурсы (например, принтеры), службы (например, электронная почта) и учётные записи пользователей и компьютеров. Active Directory предоставляет информацию об объектах, позволяет организовывать объекты, управлять доступом к ним, а также устанавливает правила безопасности.

Объекты могут быть хранилищами для других объектов (группы безопасности и распространения). Объект уникально определяется своим именем и имеет набор атрибутов — характеристик и данных, которые он может содержать; последние, в свою очередь, зависят от типа объекта. Атрибуты являются составляющей базой структуры объекта и определяются в схеме. Схема определяет, какие типы объектов могут существовать.

Сама схема состоит из двух типов объектов: объекты классов схемы и объекты атрибутов схемы. Один объект класса схемы определяет один тип объекта Active Directory (например, объект «Пользователь»), а один объект атрибута схемы определяет атрибут, который объект может иметь.

Каждый объект атрибута может быть использован в нескольких разных объектах классов схемы. Эти объекты называются объектами схемы (или метаданными) и позволяют изменять и дополнять схему, когда это необходимо и возможно. Однако каждый объект схемы является частью определений объектов Active Directory, поэтому отключение или изменение этих объектов могут иметь серьёзные последствия, так как в результате этих действий будет изменена структура Active Directory. Изменение объекта схемы автоматически распространяется в Active Directory. Будучи однажды созданным, объект схемы не может быть удалён, он может быть только отключён. Обычно все изменения схемы тщательно планируются.

Контейнер аналогичен объекту в том смысле, что он также имеет атрибуты и принадлежит пространству имён, но, в отличие от объекта, контейнер не обозначает ничего конкретного: он может содержать группу объектов или другие контейнеры.

Структура[править | править вики-текст]

Верхним уровнем структуры является лес — совокупность всех объектов, атрибутов и правил (синтаксиса атрибутов) в Active Directory. Лес содержит одно или несколько деревьев, связанных транзитивными отношениями доверия. Дерево содержит один или несколько доменов, также связанных в иерархию транзитивными отношениями доверия. Домены идентифицируются своими структурами имён DNS — пространствами имён.

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

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

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

Физическая структура и репликация[править | править вики-текст]

Физически информация хранится на одном или нескольких равнозначных контроллерах доменов, заменивших использовавшиеся в 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 добавлена ещё одна таблица для обеспечения уникальности экземпляров дескрипторов безопасности.

Именование[править | править вики-текст]

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) в формате объект@домен.

Интеграция с 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

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]

Примечания[править | править вики-текст]