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


Установление наследования безопасности пространства имен

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

Пространства имен WMI имеют дескрипторы безопасности, которые управляют доступом к пространству имен и данным пространства имен. Каждый дескриптор безопасности имеет дискреционный список контроля доступа (DACL) и список контроля доступа к безопасности (SACL). Эти списки содержат записи управления доступом (ACE).

В зависимости от констант флага ACE пространства имен , которые задаются, разрешения, примененные к пространству имен, могут наследоваться всеми дочерними пространствами имен. Дочернее пространство имен наследует дескриптор безопасности родительского пространства имен при создании дочернего пространства имен, если флаг CONTAINER_INHERIT_ACE находится в дескрипторе безопасности родительского пространства имен. Если задано CONTAINER_INHERIT_ACE|NO_PROPOGATE_INHERIT_ACE, то только дочернее пространство имен наследует дескриптор безопасности, а не пространства имен следующего уровня. Дочерние пространства имен могут переопределить разрешения безопасности родительского элемента, вызвав методы класса __SystemSecurity для записи нового дескриптора безопасности. Параметры безопасности по умолчанию нельзя изменить. Дополнительные сведения см. в разделе Настройка дескрипторов безопасности пространства имен. Для получения дополнительной информации о DACL см. Списки управления доступом (ACL) и константы типа ACE для пространства имен .

Обратите внимание, что разрешения по умолчанию нельзя изменить. Кроме того, установка флага SE_DACL_PROTECTED при настройке дескриптора безопасности (SD) не используется для добавления специализированного дескриптора безопасности в дочернее пространство имен. Чтобы переопределить унаследованный SD, просто задайте новый. Чтобы наследовать это SD в дочернее пространство имен, передайте флаг CONTAINER_INHERIT_ACE в дескриптор безопасности пространства имен. Чтобы наследство получал только ребенок и не передавалось потомкам, установите CONTAINER_INHERIT_ACE|NO_PROPOGATE_INHERIT_ACE

.

Настройка дескрипторов безопасности Namespace

__SystemSecurity