访问 WMI 安全对象

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

以下是本节中要讨论的主题:

安全描述符和 SID

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

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

访问控制

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

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

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

更改访问安全性

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

WMI 安全描述符对象

WMI 安全常量

用户帐户控制和 WMI

WMI 安全描述符对象

访问 WMI 命名空间