从 ACL 获取信息
提供了多个函数,用于从访问控制列表 (ACL) 检索 访问控制 信息。 其中包括用于确定 ACL 授予或审核指定 受信人的访问权限的函数。 通过其他函数,可以提取有关 ACL 中) (ACE 的访问控制条目 的信息。
GetExplicitEntriesFromAcl 函数检索描述 ACL 中 ACE 的EXPLICIT_ACCESS结构的数组。 将 ACE 信息从一个 ACL 复制到另一个 ACL 时,这非常有用。 例如,调用 GetExplicitEntriesFromAcl 以获取有关一个 ACL 中 ACE 的信息后,可以在调用 SetEntriesInAcl 函数时传递返回的 EXPLICIT_ACCESS 结构,以便在新的 ACL 中创建等效的 ACE。
使用 GetEffectiveRightsFromAcl 函数,可以确定 DACL 授予指定受托人的有效访问权限。 受托人的有效访问权限是 DACL 向受托人或受托人所属的任何组授予的访问权限。 GetEffectiveRightsFromAcl 检查指定 DACL 中所有允许访问和拒绝访问的 ACE。
使用以下步骤确定受信人对对象的访问权限
- 调用 GetSecurityInfo 或 GetNamedSecurityInfo 函数以获取指向对象的 DACL 的指针。
- 调用 GetEffectiveRightsFromAcl 函数以检索 DACL 授予给指定受信者的访问权限。
使用 GetAuditedPermissionsFromAcl 函数可以检查 SACL,以确定指定受托人或受托人所属的任何组的审核访问权限。 审核的权限指示导致系统在安全事件日志中生成审核记录的访问尝试的类型。 该函数返回两个 访问掩码:一个包含针对失败访问尝试监视的访问权限,另一个包含针对成功访问监视的访问权限。 GetAuditedPermissionsFromAcl 检查 SACL 中的所有系统审核 ACE。