Ввиду того, что во время Хабравстречи я рассказывал об 11 различных сценариях, естественно, мне хотелось бы на каждом из этих моментов остановиться подробнее. Другими словами, начиная с этой статьи я рассмотрю большинство моментов, о которых шла речь во время предыдущего доклада. Итак…
Относительно недавно мне в Windows Live Messenger задали несколько вопросов, связанных с делегированием административных полномочий в Active Directory. Однако, прежде чем переходить к самим вопросам по этой теме, я буквально в двух словах расскажу, что же собой представляет делегирование и для чего оно нужно.
Делегирование объектов Active Directory
Более чем очевидно, что практически в каждой организации ИТ-подразделение включает в себя нескольких администраторов, и различные административные задачи должны быть распределены среди администраторов, либо, скажем, среди членов службы поддержки. Например, как в данном примере, скажем сотрудники подразделения поддержки должны вносить компьютеры в домен. Однако такая группа пользователей не должна иметь возможности выполнять остальные операции, помимо тех, которые вы хотите им разрешить.
А вот те разрешения, которые можно назначать пользователям, группам или компьютерам, иначе говоря принципалам безопасности, называются записями контроля доступа (Access Control Entry, ACE). Следовательно, с помощью ACL модифицируются разрешения доступа для объекта. Списки ACL вы можете просматривать непосредственно при помощи таких оснасток как «Active Directory – пользователи и компьютеры», «Центр администрирования Active Directory», а также в таких оснастках и средствах как «Active Directory – Сайты и службы», «Редактор ADSI», а также «LDP» (некоторые средства будут подробнее рассмотрены далее в данной статье). Если же говорить о разрешениях контроля доступа к объектам AD, то сразу следует отметить, что они разделены на стандартные разрешения и на особые разрешения. Особые разрешения представляют собой гранулированные опции, которые применяются к конкретному объекту, а стандартные разрешения доступа уже составляются из набора особых разрешений, которые разрешают, либо, наоборот, запрещают определенную функцию. Исключительно в качестве примера можно выделить такое стандартное разрешение как чтение, ведь на самом деле оно включает в себя записи таких особых разрешений как чтение разрешений, список содержимого, а также прочитать все свойства. Но это уже совсем другая тема.
Собственно, все записи ACE располагаются в дискреционном списке контроля доступа, иначе говоря, в оригинале это звучит как Discretionary Access Control List, или же, проще говоря, в списке DACL. Это список записей управления доступом, определяющий разрешения доступа для каждого принципала безопасности к объекту. В свою очередь, каждый принципал безопасности, который добавляется в объект, получает список разрешений, в котором указано, что конкретный пользователь либо группа пользователей может выполнять конкретные операции с самим объектом. Здесь всегда следует помнить то, что записи ACE, которые были назначены явным образом, всегда будут оцениваться перед унаследованными записями ACE. А также всегда следует учитывать то, что запрещающие записи всегда будут превалировать над разрешающими.
Сам по себе список DACL является составляющей списка ACL самого объекта, который еще содержит системный список контроля доступа, другими словами System Access Control List, SACL. Этот список определяет параметры аудита для объекта, включая все принципалы безопасности и операции, для которых должен выполняться аудит.
Таким образом, возвращаясь к самой теме данного раздела, делегированием административных задач называется наследование разрешений родительского объекта для принципала безопасности, созданного в Active Directory.
Пример делегирование административных полномочий
Одна из задач, которую необходимо было выполнить, представляла собой следующее: нужно было предоставить возможность определенной группе пользователей, скажем, некоему техническому персоналу, вносить компьютеры в домен и распределять эти компьютеры по различным подразделениям. В принципе, эту задачу можно назвать тривиальной, но мы незначительно изменим условия, чтобы было интересней. Что будет сделано: поскольку, по умолчанию каждый пользователь может присоединить компьютер к домену, исправим эту ситуацию таким образом, чтобы присоединять компьютеры к домену могли только лишь те пользователи, которые входят в группу безопасности «Поддержка». Следовательно, нужно выполнить следующие действия:
- Для начала следует на контроллере домена открыть оснастку «Active Directory – пользователи и компьютеры». Здесь необходимо создать глобальную группу безопасности, члены которой смогут присоединять компьютеры пользователей к домену. Другими словами, эта группа будет выглядеть следующим образом:
Рис. 1. Свойства группы, отвечающей за присоединение компьютеров к домену - Следующим делом необходимо указать, что компьютеры присоединять к домену могут только лишь пользователи, входящие в созданную на предыдущем этапе глобальную группу безопасности. Для этого следует открыть оснастку «Управление групповой политикой» и перейти к редактору GPME для созданного по умолчанию объекта GPO «Default Domain Controllers Policy», который располагается в подразделении «Domain Controllers».
- Теперь несмотря на то, что немного ранее было описано, в каких сценариях выполняется делегирование, и что в большинстве случаев делегирование выполняется на уровне подразделений, в данном случае для предоставления возможности присоединения компьютеров к домену, нам следует в оснастке «Active Directory – пользователи и компьютеры» вызвать мастер делегирования непосредственно для уровня всего домена. Следовательно, в оснастке «Active Directory – пользователи и компьютеры» необходимо в области дерева самой оснастки вызвать контекстное меню для домена и выбрать опцию «Делегирование управления», как показано ниже:
Рис. 3. Вызов мастера делегирования управления - На первой странице мастера можно просто ознакомиться с основной задачей данного средства и, ввиду того, что на первой странице нельзя выполнять какие-либо действия, следует просто нажать на кнопку «Далее». На второй странице мастера, странице «Пользователи и группы», нужно локализовать группу, для которой необходимо делегировать управление. В данном примере следует нажать на кнопку «Добавить» и при помощи соответствующего диалога выбрать группу «Поддержка», как показано на следующей иллюстрации:
Рис. 4. Добавление группы, для которой выполняется делегирование управления
После того, как группа будет добавлена, для перехода к следующей странице мастера следует нажать на кнопку «Далее». - Страница «Делегируемые задачи» позволяет вам определить конкретные операции, которые должны выполнять в доменных службах Active Directory пользователи или группы пользователей, которые были добавлены на предыдущей странице мастера. Так как в данном примере делегируется задача присоединения компьютеров к домену и такую задачу можно найти в предоставленном списке распространенных задач, следует напротив задачи «Присоединение компьютера к домену» установить флажок и нажать на кнопку «Далее». Стоит обратить внимание на то, что данный мастер позволяет делегировать не только те задачи, которые фигурируют в данном списке, и в том случае, если вы не смогли здесь сразу найти конкретную задачу, нужно будет создавать особую задачу для делегирования. Создание особой задачи будет показано далее в этой статье, а делегирование задачи присоединения компьютера к домену изображено на следующей иллюстрации:
Рис. 5. Делегирование задачи присоединения компьютеров к домену для членов группы «Поддержка» - На последней странице мастер повторно проинформирует о том, что работа мастера была успешно выполнена и определенной группе пользователей было передано управление для присоединения компьютеров к домену, что, собственно, и являлось поставленной перед нами задачей:
Рис. 6. Завершение процесса делегирования управления
Теперь, после того как были выполнены все эти действия, присоединять компьютеры к домену смогут только лишь те пользователи, которые являются членами созданной ранее глобальной группы безопасности «Поддержка».
Определение задач, для которых было предоставлено делегирование
Сразу после того, как была предоставлена возможность присоединения компьютеров к домену определенной группе безопасности, возник вопрос такого характера: «Можно ли как-то просмотреть делегированные ранее задачи»? Здесь ответ простой: просмотреть можно, причем далеко не единственным методом. Все возможные варианты просмотра задач, для которых было передано делегирование, в рамках одной статьи рассматривать просто бессмысленно, поэтому далее в данной статье будут представлены несколько основных вариантов:
- Первый метод – это использование оснастки «Active Directory – пользователи и компьютеры». Прежде всего, для того чтобы просмотреть задачи, которые были делегированы, следует в меню «Вид» включить для самой оснастки отображение дополнительных компонентов. После этого необходимо перейти к диалоговому окну свойств подразделения, для которого выполнялось делегирование. Так как в предыдущем разделе выполнялось делегирование для уровня всего домена, в данном примере открывается диалоговое окно свойств домена.
В отобразившемся диалоговом окне следует перейти на вкладку «Безопасность», а затем оттуда вызвать диалоговое окно дополнительных параметров безопасности. Здесь, в отобразившемся диалоговом окне, вы можете обнаружить все записи ACE, которые были заданы как по умолчанию, так и при помощи мастера делегирования. Например, на следующей иллюстрации видно, что для группы «Поддержка» было добавлено разрешение, позволяющее создавать объекты «Компьютер»:
Рис. 7. Просмотр делегированных задач для группы «Поддержка»
При желании вы можете как изменить разрешения для текущей группы, так и, при необходимости, удалить его полностью. - Теперь рассмотрим более изощренный метод, а именно использование LDP.exe. На этот раз следует выполнить следующие действия:
Откройте инструмент LDP и при помощи меню «Подключение» подключитесь к контроллеру домена по порту 389, как показано на следующей иллюстрации:
Рис. 8. Подключение к контроллеру домена
После этого следует выполнить привязку, используя одноименную команду из меню «Подключение». Так как в данный момент я выполнил вход в систему от учетной записи администратора, я могу не вводить учетные данные, а сразу в отобразившемся диалоговом окне «Привязка» нажать на кнопку «ОК», как показано ниже:
Рис. 9. Выполнение привязки
Теперь можно подключиться к необходимому подразделению или же сразу ко всему домену, выбрав команду «Дерево» из меню «Вид». В том случае, если следует просмотреть весь домен, можно оставить поле пустым, однако если вы планируете просматривать конкретное подразделение, следует указывать различающееся имя в следующем формате: «OU=имя OU, DN=domain…».
Затем для того, чтобы увидеть, кому было предоставлено делегирование, следует просмотреть всю структуру в древовидном представлении. Другими словами, из меню «Вид» выбираем команду «Дерево» и в отобразившемся диалоговом окне «Дерево» указываем базовое расширяемое имя (либо, так как в приведенном примере необходимо просмотреть весь домен, можно оставить данное текстовое поле пустым).
Уже находясь в привычной области дерева, необходимо выбрать подразделение, предоставление прав к которому следует проверить, а затем из контекстного меню выбрать команду «Дополнительно» и «Дескриптор безопасности». В отобразившемся диалоговом окне обязательно удостоверьтесь в том, что у вас выбран правильный DN, а также в том, что установлен флажок на опции «Список ACL», как показано на следующей иллюстрации:
Рис. 10. Открытие диалогового окна дескрипторов безопасности
Теперь в отобразившемся диалоговом окне вы можете просмотреть все группы и пользователей, которым были предоставлены определенные разрешения. При необходимости вы также можете отредактировать либо удалить делегируемые разрешения, воспользовавшись соответствующими кнопками. Диалоговое окно дескрипторов безопасности, как и окно редактирования делегируемых разрешений, отображены на следующей иллюстрации:
Рис. 11. Просмотр и изменение делегируемых разрешений для группы поддержки - Третий вариант в какой-то степени можно назвать более модернистическим, так как сейчас мы определим, какие разрешения были назначены этой же группе поддержки, но уже при помощи оснастки «Центр администрирования Active Directory». Для этого следует открыть данное средство, выбрать в дереве оснастки подразделение, для которого следует просмотреть, кому было предоставлено делегирование, а затем перейти к свойствам выбранного объекта, например, как показано на следующей иллюстрации, непосредственно из контекстного меню:
Рис. 12. Переход к свойствам выбранного объекта
После работы с оснасткой «Active Directory – пользователи и компьютеры» вы сможете сразу определиться, что нужно сделать. В отобразившемся диалоговом окне следует перейти к группе «Разрешения», и просто останется лишь выбрать требуемую группу и перейти к диалогу дополнительных параметров безопасности. Группа разрешений отображена ниже:
Рис. 13. Разрешения группы безопасности поддержки - Если вы любитель командной строки, то вас никто не ограничивает. Для просмотра разрешений, позволяющих контролировать действия пользователей в Active Directory, предусмотрена такая утилита командной строки как DSACLS. Зачастую данная команда выполняется с отличительным именем объекта. Например, для того, чтобы узнать, у кого есть разрешения ко всему домену, следует выполнить команду:
DSACLS DC=331zone,DC=com
Результат выполнения команды виден на следующей иллюстрации:
Рис. 14. Проверка разрешений для группы поддержки средствами командной строки
По большому счету, еще можно выделить по меньшей мере 6 способов просмотра делегирования административных полномочий, но их попросту бессмысленно описывать в одной статье, и в том случае, если эта тема вас заинтересует, я могу показать большинство таких методов в отдельном вебкасте.
Однако, помимо разрешения присоединения компьютеров к домену и просмотра настроенных разрешений, у нас осталась еще одна небольшая задача, которая будет рассмотрена в следующем небольшом разделе.
Разрешения перемещения объектов между подразделениями
Последняя задача, которая будет рассмотрена в данной статье, представляет собой реализацию разрешения перемещения объектов компьютеров между подразделениями для группы безопасности «Поддержка». Так как в предыдущий раз разрешения для присоединения компьютеров к домену мы реализовывали средствами делегирования управления, следует и в этот раз попробовать поискать средства решения этой задачи в данном мастере. Для решения этой задачи нужно будет отредактировать некоторые разрешения для контейнера «Computers», так как известно, что объекты групповой политики невозможно связывать с данным контейнером, а сотрудникам подразделения поддержки необходимо распределять компьютеры по различным подразделениям.
После открытия мастера делегирования управления и добавления целевой группы вы обнаружите, что среди обычных задач невозможно выполнить подобные действия. В этом случае следует попробовать воспользоваться списком особых задач для делегирования. В отобразившемся диалоговом окне вам предоставляется возможность делегирования всех объектов в выбранном вами контейнере (в этом случае вам следует установить переключатель на опцию «этой папкой, существующими в ней объектами и созданием новых объектов в этой папке»), а также возможность передачи управления только выбранным объектам, которые можно найти в соответствующем списке (опция «только следующим объектам в этой папке»).
Среди доступных объектов следует установить флажок на опции «Компьютер объектов», а затем под данным списком установить флажок на опции «Удалить из этой папки выбранные объекты».
Диалоговое окно данной страницы мастера делегирования изображено на следующей иллюстрации:
Рис. 15. Страница создания особой задачи для делегирования
После этого, на следующей странице мастера, странице «Разрешения» — следует указать, что делегируется разрешение «Запись», и этого будет достаточно.
Так как задачу по перемещению можно разделить на две части – удаление объекта из контейнера «Computers» и последующее создание объекта в другом подразделении – исключительно в качестве примера, создание объектов в специально созданном подразделении для учетных записей компьютеров будет продемонстрировано средствами изменения дополнительных параметров безопасности для требуемого подразделения (подобные действия были рассмотрены в предыдущем разделе).
Сейчас, в том случае, если вы закрывали оснастку «Active Directory – пользователи и компьютеры», нужно включить для нее отображение дополнительных компонентов, а затем перейти к диалоговому окну свойств подразделения, в которое должны перемещаться учетные записи компьютеров. В моем случае это подразделение «Клиенты».
В диалоговом окне свойств данного подразделения следует перейти ко вкладке «Безопасность», а затем открыть диалоговое окно дополнительных параметров безопасности. В отобразившемся диалоговом окне следует локализовать добавленную ранее группу и удостовериться, что сотрудникам группы поддержки разрешается присоединять компьютеры к домену, но разрешения, связанные с удалением объектов, здесь отсутствуют, а затем перейти к диалогу изменения разрешений посредством нажатия на кнопку «Добавить».
В отобразившемся диалоговом окне «Элемент разрешения для Computers» необходимо добавить группу, которой будут применяться разрешения. Другими словами, нажмите на ссылку «Выберите субъект» и при помощи соответствующего диалогового окна локализуйте группу «Поддержка». Так как внутри созданного ранее подразделения могут находиться дочерние подразделения с различной разбивкой (например, компьютеров по отделам), из раскрывающегося списка «Применяется к» следует выбрать опцию «Этот объект и все дочерние объекты», что и установлено по умолчанию.
Осталось только выбрать требуемое разрешение. Так как нам нужно разрешить перемещать компьютеры, а это означает, что объекты будут создаваться внутри данного и всех вложенных контейнеров, следует установить флажок напротив разрешения «Создание объектов: Компьютер», после чего сохранить все внесенные изменения. Диалоговое окно «Элемент разрешения для «Клиенты»» показано ниже:
Рис. 16. Добавление разрешений для создания объектов компьютеров
Вместо заключения
По большому счету, можно придумать еще множество примеров, связанных с делегированием полномочий и назначением нестандартных разрешений различным группам безопасности, и практически каждый пример можно по-своему назвать уникальным и интересным. Запомните то, что вместо того, чтобы назначать всех администраторами, намного выгоднее будет, если вы будете просто назначать конкретной группе пользователей разрешения на выполнение определенных задач. Напишите, пожалуйста, в комментариях к этой статье, использовали ли вы у себя делегирование и с какими примерами вы сталкивались и испытывали трудности.
Автор: hb860