Заметки о Windows и других программных продуктах Microsoft...

Active Directory List Object mode

Active Directory List Object mode

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

Начнем с того, что в AD есть встроенная группа Authenticated Users (Прошедшие проверку), в которую входят все пользователи, успешно прошедшие процедуру аутентификации в домене. По умолчанию для группы Authenticated Users предоставляется разрешение на просмотр всех организационных единицах (OU) в домене. Проще говоря, любой пользователь домена, имеющий доступ к оснастке Active Directory Users and Computers (ADUC) или к любому другому инструменту для доступа к AD может беспрепятственно просматривать содержимое любой OU.

Для примера возьмем OU Employees, в которой находится дочерняя OU Security. Об этой OU обычным пользователям знать необязательно, поэтому ее необходимо скрыть.

OU Employes первоначальный вид

 

Для перехода к свойствам Employees правым щелчком мыши откроем контекстное меню и выберем пункт Properties.

открываем свойства OU Employees

 

Затем в свойствах OU перейдем на вкладку Security и посмотрим текущие настройки безопасности. Как видите, у группы Authenticated Users есть разрешение на чтение (Read) для данной организационной единицы.

Примечание. Для отображения вкладки «Security» необходимо в меню «View» включить опцию «Advanced features».

параметры безопасности OU Employees

 

По кнопке «Advanced» перейдем к расширенным настройкам безопасности. Для более детального просмотра всех разрешения для группы Authenticated Users выделим ее и нажмем Edit.

расширенные параметры безопасности OU Employees

 

Как видите, в базовое разрешение Read входит разрешение List Contents, которое и дает пользователю возможность просматривать содержимое OU вне зависимости от того, есть у него разрешения на дочерние объекты или нет.

расширенные параметры безопасности OU Employees для Authenticated Users

 

Здесь надо уточнить, что при отсутствии у пользователя прав доступа к объекту оснастка ADUC не сможет корректно отобразить тип объекта и покажет его как неизвестный (Unknown). Поэтому, если у группы Authenticated Users отобрать права на чтение OU Security, то получится несколько неприглядная 🙂 картина.

OU Employes до включения List Object mode

 

Дело в том, что по умолчанию служба AD не рассматривает разрешения для объектов, расположенных внутри контейнера (напр. OU) к которому обращается пользователь. И если у пользователя есть разрешение List Contents, то ему доступно для просмотра все содержимое контейнера.

Исправить положение и скрыть от пользователя объекты, к которым у него нет доступа, можно с помощью режима List Object (List Object Mode). Если активировать List Object Mode, то прежде чем возвратить пользователю список объектов, служба AD проверит разрешения для каждого дочернего объекта и покажет только те, на которые у него есть необходимые разрешения.

Включение List Object Mode

Перед тем, как приступить к настройке, следует знать что:

• Включение List Object Mode осуществляется для всего леса. Активировать List Object Mode для отдельного домена или группы доменов невозможно;
• Для включения List Object Mode необходимы полномочия уровня Enterprise Admin.

Включение List Object Mode осуществляется путем изменения одного из свойств объекта Directory Services в разделе конфигурации AD. Для этого запускаем редактор ADSIEdit, в поле «Select a well known Naming Context» выбираем «Configuration» и жмем OK.

ADSIEdit, подключение к разделу Configuration

 

Переходим в раздел CN=Configuration -> CN=Services -> CN=Windows NT, кликаем правой кнопкой по CN=Directory Service и в контекстном меню выбираем Properties.

открываем свойства Directory Services

 

Затем находим свойство dsHeuristics и задаем его значение равное 001.

изменение свойства dsHeuristics

 

Применяем изменения и выходим из ADSIEdit, режим List Object Mode уже включен. Теперь в расширенных настройках безопасности OU кроме List content появилось новое разрешение List object.

разрешение List Object

 

После включения List Object Mode доступ к объектам в AD регулируется сочетанием разрешений List content и List object на родительском и на дочернем объектах. Возможны следующие сочетания:

Родительский контейнер Дочерние объекты Результат
List Contents и List Object отсутствует Доступен родительский контейнер доступен и все его содержимое, вне зависимости от наличия разрешений на дочерние объекты
List Object List Object Доступен родительский контейнер и дочерние объекты, на которые у пользователя имеется разрешение List Object
List Contents отсутствует Отсутствует доступ к родительскому контейнеру, но можно просматривать дочерние объекты
отсутствует отсутствует Отсутствует доступ к родительскому контейнеру и дочерним объектам

 

Так в нашем примере для группы Authenticated Users произведем следующие изменения: у OU Employees уберем разрешение List Contents оставив List Object, а также уберем разрешение List Object для OU Security . После этого обычные пользователи, открыв OU Employees просто не увидят OU Security.

OU Employes после включения List Object mode

 

И еще одна тонкость, без которой включение List Object Mode не произведет должного эффекта. Если открыть расширенные свойства безопасности для OU Employees, то в них можно найти группу Pre-Windows 2000 Compatible Access, которая имеет права List Contents.

разрешения для группы Pre-Windows 2000 compatible access

 

Это встроенная (BuiltIn) группа безопасности, предназначенная для обеспечения совместимости с устаревшими ОС Windows.

группа Pre-Windows 2000 compatible access

 

Для нормальной работы List Object Mode необходимо открыть свойства этой группы и удалить из ее членов группу Authenticated Users.

удаление Authenticated Users из группы Pre-Windows 2000 compatible access

 

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

 
 
Комментарии

А если надо закрыть объект от всех кроме некоторых пользователей?

Отключение разрешений не дало эффекта скрытия. Объект виден, но недоступен.

Из группы Pre-Windows 2000 Compatible Access удалены Authenticated Users? Если нет, то объект будет виден всем.

это можно сделать даже если в сети остались XP-ки ?

Увы, картинка та же. А почему я не могу запретить «Полный доступ» на этот объект избранным?

Установка dsHeuristics сильно пригружает контроллер домена?

Ответить