访问 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 列表,这些 ACE 描述哪些用户具有特定访问权限,包括写入 WMI 存储库、远程访问和执行以及登录权限。 WMI 将这些 ACL 存储在 WMI 存储库中。

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

更改访问安全性

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

WMI 安全描述符对象

WMI 安全常量

用户帐户控制和 WMI

WMI 安全描述符对象

访问 WMI 命名空间