Поделиться через


Правила наследования ACE

Система автоматически распространяет наследуемые записи управления доступом (ACEs) на дочерние объекты в соответствии с набором правил наследования. Система помещает унаследованные acEs в список управления доступом (DACL) дочернего элемента управления доступом в соответствии с предпочтительным порядке управления доступом вDACL.

ACEs, унаследованные контейнерными и неконтейнерными дочерними объектами, отличаются в зависимости от комбинаций флагов наследования. Эти правила наследования работают одинаково для списков управления доступом(SACLS) исистемных списков управления доступом.

Родительский флаг ACE Влияние на дочерний ACL
только «OBJECT_INHERIT_ACE» Неконтайнерные дочерние объекты: наследуется как эффективный ACE. Дочерние объекты контейнера: контейнеры наследуют только ACE, если NO_PROPAGATE_INHERIT_ACE битовый флаг также не задан.
только "CONTAINER_INHERIT_ACE" Дочерние объекты noncontainer: не влияет на дочерний объект. Дочерние объекты контейнера: дочерний объект наследует фактический ACE. Унаследованный ACE наследуется, если битовый флаг NO_PROPAGATE_INHERIT_ACE также не установлен.
CONTAINER_INHERIT_ACE и OBJECT_INHERIT_ACE Неконтейнерные дочерние объекты: наследуются как эффективные ACE. Дочерние объекты контейнера: дочерний объект наследует действующий ACE. Унаследованный ACE наследуется, если битовый флаг NO_PROPAGATE_INHERIT_ACE не установлен.
Не заданы флаги наследования Не влияет на дочерний контейнер или неконтейнерные объекты.

Если унаследованный ACE является эффективным для дочернего объекта, система переводит все общие права в конкретные права для дочернего объекта. Аналогичным образом система сопоставляет универсальные идентификаторы безопасности (SID), например CREATOR_OWNER, с соответствующим идентификатором безопасности. Если унаследованный ACE является наследуемым, все универсальные права или универсальные идентификаторы SID остаются неизменными, чтобы они могли быть сопоставлены соответствующим образом, когда ACE наследуется следующим поколением дочерних объектов.

В случае, когда объект контейнера наследует ACE, который является одновременно активным в контейнере и наследуемым его потомками, контейнер может унаследовать два ACE. Это происходит, если наследуемый ACE содержит универсальные сведения. Контейнер наследует только ACE, содержащий универсальные сведения и действующий ACE, в котором сопоставлены универсальные сведения.

для конкретного объекта ACE имеет элемент InheritedObjectType, который может содержать GUID для идентификации типа объекта, который может наследовать ACE.

Если InheritedObjectType GUID не указан, правила наследования для ACE, относящегося к конкретному объекту, совпадают с правилами для стандартного ACE.

Если указан GUID для InheritedObjectType, ACE наследуется объектами, соответствующими GUID, если задан OBJECT_INHERIT_ACE, и контейнерами, соответствующими GUID, если задан CONTAINER_INHERIT_ACE. Обратите внимание, что в настоящее время только объекты DS поддерживают ACE, специфичные для объектов, и DS обрабатывает все типы объектов как контейнеры.