KTM 安全和访问权限

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

事务

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

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

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

事务管理器

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

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

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

资源管理器

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

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

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

入伍

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

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