Получение сведений из ACL
Предоставляется несколько функций, которые извлекают сведения об управлении доступом из списка управления доступом (ACL). К ним относятся функции для определения прав доступа, которые ACL предоставляет или проверяет для указанного доверенного лица. Другие функции позволяют извлекать сведения о записях управления доступом (ACE) в ACL.
Функция GetExplicitEntriesFromAcl извлекает массив EXPLICIT_ACCESS структур, описывающих ACE в списке ACL. Это может быть полезно при копировании сведений ACE из одного ACL в другой. Например, вызов GetExplicitEntriesFromAcl для получения сведений об ACE в одном списке управления доступом может сопровождаться передачей возвращенных EXPLICIT_ACCESS структур в вызове функции SetEntriesInAcl для создания эквивалентных ACE в новом списке управления доступом.
Функция GetEffectiveRightsFromAcl позволяет определить действующие права доступа, предоставляемые DACL указанному доверенному лицу. Действующие права доступа доверенного лица — это права доступа, предоставляемые DACL доверенному лицу или любым группам, членом которых является попечитель. GetEffectiveRightsFromAcl проверяет все ACE, разрешенные и запрещенные в доступе, в указанном DACL.
Чтобы определить права доступа доверенного лица к объекту, выполните следующие действия.
- Вызовите функцию GetSecurityInfo или GetNamedSecurityInfo , чтобы получить указатель на DACL объекта.
- Вызовите функцию GetEffectiveRightsFromAcl , чтобы получить права доступа, предоставляемые DACL указанному доверенному лицу.
Функция GetAuditedPermissionsFromAcl позволяет проверка SACL, чтобы определить права доступа, проверенные для указанного доверенного лица или для любых групп, членом которых является этот доверенный лиц. Проверяемые права указывают типы попыток доступа, которые приводят к тому, что система создает запись аудита в журнале событий безопасности. Функция возвращает две маски доступа: одну, содержащую права доступа, отслеживаемые для неудачных попыток доступа, а другую — права доступа, отслеживаемые для успешного доступа. GetAuditedPermissionsFromAcl проверяет все ACE с системным аудитом в saCL.