限制对性能扩展 DLL 的访问

从 Windows Server 2003 开始,性能监视器用户组和性能日志用户组可供性能 DLL 的开发人员和用户使用,性能数据帮助程序 (PDH) API 函数。 系统管理员可以使用这些性能安全组来限制对性能 DLL 公开给特定用户的信息的访问。

性能监视器用户组旨在包括查看计数器数据且不使用性能日志和警报服务记录计数器数据的用户。 “性能日志用户”组应包括有权使用性能日志和警报服务在本地或远程服务器上记录计数器的用户。 此组的权限还包括在本地或远程系统上创建日志文件、使用警报服务以及作为服务的一部分运行程序。

请注意,这些性能安全组本身并不是访问限制机制。 若要执行此操作,必须将这些组与 Windows 对象访问控制模型结合使用。

大多数应用程序通过 IPC 机制(通常是共享内存)与性能 DLL 通信。 因此,可以将性能安全组的成员添加到共享内存对象的安全描述符中,以限制对 DLL 的访问,以允许安全组的这些成员访问。 执行此操作时,还必须将组成员添加到性能 DLL 访问的系统对象的安全描述符中,以提供计数器数据,例如日志文件和文件夹。 有关将 ACL 添加到对象安全描述符的更多详细信息,请参阅 修改对象的 ACL

可用于修改 IPC 系统对象安全描述符的 ACL 信息的另一种方法是使用安全描述符定义语言 (SDDL) 指定性能安全组列表的成员,并调用 ConvertStringSecurityDescriptorToSecurityDescriptor 以创建安全描述符。 然后,此安全描述符将附加到 IPC 系统对象。 下面显示了一个 SDDL 字符串,其中包括性能监视器用户组、MU 和性能日志用户组 LU。

D:(A;OICI;GA;;;SY)(A;OICI;GA;;;BA)(A;OICI;FRFWFXSDRC;;;NS)(A;OICI;FRFWFXSDRC;;;LU)(A;OICI;FRFX;;;MU)