访问 WMI 安全对象

WMI 依赖于标准 Windows 安全描述符 来控制和保护对安全对象(如 WMI 命名空间、打印机、服务和 DCOM 应用程序)的访问。 有关详细信息,请参阅 访问 WMI 命名空间

本节将讨论以下主题:

安全描述符和 SID

WMI 通过将尝试访问安全对象的 访问令牌 与对象的安全描述符进行比较来维护访问安全性。

在系统上创建用户或组时,系统会向帐户提供 安全标识符(SID), SID 可确保使用与以前删除的帐户相同的名称创建的帐户不会继承以前的安全设置。 访问令牌是通过组合 SID、用户所属组的列表以及启用或禁用的特权列表来创建的。 这些令牌分配给用户拥有的所有进程和线程。

存取控制

当用户想要使用安全对象时,访问令牌与对象的安全描述符中的 自由访问控制列表(DACL) 进行比较。 DACL 包含 访问控制项(ACE)的权限。 系统访问控制列表(SACL) 执行与 DACL 相同的作,但可以生成安全审核事件。 从 Windows Vista 开始,WMI 可以在 Windows 安全日志中创建审核条目。 有关 WMI 中的审核的详细信息,请参阅 访问 WMI 命名空间

DACL 和 SACL 都包含描述哪些用户具有特定访问权限的 ACE 的列表,包括写入 WMI 存储库、远程访问和执行以及登录权限。 WMI 将这些 ACL 存储在 WMI 存储库中。

ACE 保留三种类型的访问级别或授予/拒绝权限:允许、拒绝 DACL 和系统审核(对于 SCL)。 拒绝 ACE 在 DACL 或 SACL 中允许 ACE 之前。 检查用户访问权限时,WMI 通过访问控制列表连续运行,直到找到适用于请求访问令牌的允许 ACE。 在此点之后,不会检查剩余的 ACE。 如果未找到适当的允许 ACE,则拒绝访问。 有关详细信息,请参阅 DACL 中的 ACE 顺序,并 创建 DACL

更改访问安全性

使用适当的权限,可以使用脚本或应用程序更改安全对象的安全性。 还可以使用 WMI 控件 更改 WMI 命名空间上的安全设置,或者通过在 托管对象格式(MOF) 文件中添加 安全描述符定义语言(SDDL) 字符串来定义命名空间的类。 有关详细信息,请参阅 访问 WMI 命名空间保护 WMI 命名空间,以及 更改安全对象访问安全性

WMI 安全描述符对象

WMI 安全常量

用户帐户控制和 WMI

WMI 安全描述符对象

对 WMI 命名空间的访问