KTM 安全和访问权限

Windows 安全模型使内核事务管理器(KTM)的调用方能够控制对事务、事务管理器、资源管理器和登记对象的访问。 有关详细信息,请参阅 Access-Control 模型。 对于不关心安全性的应用程序,可以使用允许任何资源管理器在事务上登记的宽松访问控制列表(ACL)创建事务。

交易

当客户端使用 OpenTransaction 函数时,系统会根据事务对象的安全描述符检查请求的访问权限。

事务对象的有效访问权限包括能够查询和设置信息、登记和各种事务作,以及 标准访问权限 事务访问掩码 列出事务的特定访问权限。

由于事务具有持久状态,因此与 KTM 交互的 RM 和 TM 必须履行恢复义务。 未能履行这些义务可能会导致资源泄漏,即使系统重新启动也是如此。 请考虑持久性泄漏或恶意代码的影响,该代码导致 KTM 消耗内核资源,直到导致系统故障;在生成的重新启动后,KTM 将读取其日志并重新创建所有永久性对象,这可能会导致同一系统失败。 基于配额的限制将阻止永久性资源饥饿,防止恶意或行为不力的 RM。 最后,必须创建管理机制,以便检测和更正此类持久性泄漏。

事务管理器

当客户端使用 OpenTransactionManager 函数时,系统会根据资源管理器对象的安全描述符检查请求的访问权限。

事务管理器对象的有效访问权限包括查询和设置信息、创建 RM 以及恢复和重命名作,以及 标准访问权限 事务管理器访问掩码 列出事务管理器的特定访问权限。

资源管理器可以使用限制性的 ACL 创建自己的事务管理器对象,以限制哪些资源管理器可以参与使用该事务管理器日志的事务。

资源管理器

当客户端使用 OpenResourceManager 函数时,系统会根据资源管理器对象的安全描述符检查请求的访问权限。

资源管理器对象的有效访问权限包括能够查询和设置信息、恢复、登记、注册作和传播和恢复作,以及 标准访问权限 资源管理器访问掩码 列出了资源管理器的特定访问权限。

如果资源管理器希望防止恶意代码截获通知或强制特定事务结果,则可以创建其自己的资源管理器对象,并具有限制性的 ACL。

登记

当客户端使用 OpenEnlistment 函数时,系统会根据登记对象的安全描述符检查请求的访问权限。

登记对象的有效访问权限包括查询和设置信息、恢复作以及 标准访问权限 登记访问掩码 列出登记的特定访问权限。