Построение ролевой модели в Active Directory

Построение ролевой модели в Active Directory

В проектах по Active Directory я регулярно сталкиваюсь с задачами и вопросами от заказчиков, для которых требуется понимание двух тесно связанных между собой тем:

  • как грамотно организовать доступ к ресурсам с помощью групп
  • как организовать процесс миграции учетных записей и ресурсов без прерывания доступа

Эти аспекты работы Active Directory Domain Services критически важны для удобной, безопасной и предсказуемой работы AD в конфигурациях, состоящих более чем из одного домена.

В этой статье я расскажу:

  • как работают разные типы групп
  • как правильно организовать доступ к ресурсам

Статья ещё в процессе написания. Буду рад вашим комментариям!

В следующей статье Миграция объектов между доменами Active Directory будут рассмотрены вопросы организации миграции пользователей и ресурсов в другой домен без прерывания доступа:

  • общий подход к миграции
  • как работает SID History
  • сценарии миграции и подход к администрированию для каждого из них

Содержание

  • Разрешения на ресурсы
  • Типы групп в Active Directory
    • Чем вызваны эти отличия
    • Группы доступа (к ресурсу)
    • Ролевые группы (пользователей)

    Разрешения на ресурсы

    Ресурсом является любой сервис, к которому подключаются пользователи. Примеры ресурсов: файловая шара, принтер, терминальная служба, веб-сайт, organization unit в AD.

    Доступ на ресурсы назначается через списки контроля доступа (ACL). ACL представляет собой таблицу, которая состоит из столбцов:

    • SID объекта, которому дается доступ
    • разрешения для доступа

    SID Разрешения S-1-5-21-4134161311-953135930-2792148834-500 Полный доступ S-1-5-21-1721254763-462695806-1538882281-3209302 Запись S-1-5-21-2639602428-490361449-2816156262-107563 Чтение

    Поскольку SID не информативен, при отображении ACL происходит разрешение SID в имя объекта. Для получения имен объектов происходит обращение к контроллеру того домена, в котором находится ресурс.

    Имя объекта Разрешения Builtin\Administrators Полный доступ Source\Admins Запись Target\Users Чтение

    При назначении доступа на ресурс, в ACL можно прописать (в качестве SID-ов):

    • Пользователей и группы локального компьютера
    • Встроенные мнемоники (Authenticated Users, …)
    • Пользователей своего домена
    • Пользователей доверенного домена
    • Любые группы своего домена
    • Глобальные и универсальные группы доверенного домена

    Стоит отдельно отметить, что локальные группы доверенного домена (хоть из своего леса, хоть из доверенного) прописать в ACL ресурса нельзя – они не будут находиться в поиске. Если в ACL была прописана, например, глобальная группа из другого домена, но потом она была преобразована в локальную, то для ACL она перестанет разрешаться в имя, а доступ работать не будет.

    Типы групп в Active Directory

    В результате долгих неудачных попыток по оформлению представленной ниже информации в виде списков, было принято решение оформить её в виде следующей таблицы.

    1. в memberOf отображаются, так как есть в глобальном каталоге
    2. в memberOf не видны
    Чем вызваны эти отличия

    Чтобы понять как работают разные типы групп, важно знать, как формируется токен доступа пользователя.

    Когда пользователь проходит аутентификацию, его логин и пароль отправляются на контроллер домена, в котором хранится учетная запись пользователя (Account Domain). В ответ пользователь получает токен доступа, содержащий:

    • SID пользователя
    • SID-ы локальных и глобальных групп из Account Domain, в которых явно или опосредованно числится пользователь
    • ответ от глобального каталога, содержащий SID-ы универсальных групп в Account Forest, в которых явно или опосредованно числится пользователь

    Когда пользователь обращается к сетевому ресурсу в другом домене (Resource Domain), его токен доступа получает следующие изменения от контроллера Resource Domain:

    • из токена исключаются SID-ы локальных групп из Account Domain
    • в локальных группах Resource Domain проверяются на членство SID-ы пользователя, глобальных и универсальных групп из Account Domain
    • в токен добавляются SID-ы локальных групп из Resource Domain, в которых числятся SID-ы из предыдущего шага

    Построение ролевой модели

    Группы доступа (к ресурсу)

    Разрешения на ресурсах возможно назначать напрямую конкретным пользователям. Однако, пользователи приходят и уходят, поэтому наборы разрешений на ресурсах необходимо типизировать и отделить от пользователей. Группы доступа — абстрактное понятие, удобное для реализации типизированных наборов разрешений.

    Поскольку ресурсов в организации может быть много, необходимо решение для централизованного хранения и управления пользователями и группами. Служба каталогов AD позволяет перенести контроль доступа к ресурсам из локальных списков ACL в единую базу.

    Локальные доменные группы AD задуманы для того, чтобы их использовать как группы доступа при назначении разрешений на ресурсах:

    • Членами локальных доменных групп AD могут быть все те же типы объектов, что и в локальных ACL на ресурсах.
    • Локальные группы AD существуют только в одном домене, в то же время они доступны для назначения разрешений только на ресурсах, принадлежащих тому же домену. Наибольшую безопасность и контроль обеспечивает назначение разрешений для ресурсов на группы в том же домене, в котором находится ресурс — ресурс доверяет управлением доступом к нему только «своему домену».
    • Группы других типов (глобальная, универсальная) имеют намеренное ограничение иметь членов только в определенной области (домен, лес).

    Данные ограничения не позволяет настроить бесконтрольное распространение разрешений:

    • Если разрешение на ресурсе настроено на локальную доменную группу, она всегда управляется в том же домене, но позволяет включать в себя глобальные/универсальные группы из других доменов (передавать полномочия в другой домен/лес). Однако, эти группы в другом домене/лесе не могут включить в себя группы из других доменов/лесов (передать полномочия за пределы своей области).
    • Если разрешение на ресурсе настроено на глобальную/универсальную группу, она может управляется в другом домене (полномочия переданы в другой домен/лес), но не позволяет включить в себя группы из других областей (передать полномочия за пределы своей области).
    Ролевые группы (пользователей)

    Глобальные группы AD задуманы для объединения пользователей в ролевые группы в пределах домена.

    Для предоставления доступа к ресурсу, в его группу доступа следует вкладывать ролевые группы пользователей.

    Не рекомендуется использовать глобальные группы не из своего домена для прямого назначения прав доступа на ресурсе, поскольку это понижает безопасность (идет передача полномочий администратору другого домена, в глобальной группе может потенциально числиться любой пользователь из другого домена).

    Универсальные группы AD задуманы для объединения глобальных групп в сценарии, когда лес AD состоит из нескольких доменов.

    Не рекомендуется использовать универсальные группы не из своего леса для прямого назначения прав доступа на ресурсе, поскольку это понижает безопасность (идет передача полномочий администратору другого леса, в универсальной группе может потенциально числиться любой пользователь из другого леса).

    AGULP

    Таким образом, наиболее универсальной, эффективной и безопасной моделью предоставления доступа в AD является принцип AGULP: