分布式重播安全性

适用于: SQL Server 2016 (13.x) SQL Server 2017 (14.x) SQL Server 2019 (15.x)

重要

SQL Server Distributed Replay 在 SQL Server 2022 (16.x) 中不可用。

在安装和使用 Microsoft SQL Server Distributed Replay 功能之前,应查看本主题中的重要安全信息。 本主题介绍了您使用分布式重播之前所需的安装后安全配置步骤。 本主题还介绍了与数据保护相关的重要注意事项和重要删除步骤。

用户帐户和服务帐户

下表介绍了用于分布式重播的帐户。 在安装分布式重播功能后,您必须分配控制器和客户端服务帐户将运行为的安全主体。 因此,建议您先配置适当的域用户帐户,然后再安装分布式重播功能。

用户帐户 要求
SQL Server 分布式重播控制器服务帐户 可以是域用户帐户或本地用户帐户。 如果使用本地用户帐户,则管理工具、控制器和客户端都必须在同一台计算机上运行。

** 安全说明 ** 建议不要将该帐户设置为 Windows 本地管理员组的成员。
SQL Server 分布式重播客户端服务帐户 可以是域用户帐户或本地用户帐户。 如果使用本地用户帐户,则控制器、客户端和目标 SQL Server 都必须在同一台计算机上运行。

** 安全说明 ** 建议不要将该帐户设置为 Windows 本地管理员组的成员。
用于运行分布式重播管理工具的交互式用户帐户 可以是本地用户帐户或域用户帐户。 若要使用本地用户帐户,管理工具和控制器必须在同一台计算机上运行。

重要

在你配置 Distributed Replay 控制器时,可以指定将用于运行 Distributed Replay 客户端服务的一个或多个用户帐户。 下面是支持的帐户的列表:

  • 域用户帐户

  • 用户创建的本地用户帐户

  • 管理员

  • 虚拟帐户和 MSA(托管服务帐户)

  • Network Services、Local Services 和 System

不接受组帐户(本地或域)和其他内置帐户(如 Everyone)。

在安装分布式重播功能之后,若要设置服务帐户或其密码,您可以使用 Windows 服务工具。 若要更改与分布式重播控制器或客户端服务关联的服务帐户,请按以下步骤执行操作:

  1. 请根据所用操作系统执行以下两项操作之一:

    • 选择“开始”,在“搜索”框中键入 services.msc,然后按 Enter。

    • 依次选择“开始”、“运行”,键入 services.msc,然后按 Enter。

  2. 在“服务”对话框中,右键单击要配置的服务,然后选择“属性”。

  3. 在“登录”选项卡上,选择“本帐户”。

  4. 配置要使用的用户帐户。

文件和文件夹权限

指定服务帐户后,您必须向这些服务帐户授予必要的文件和文件夹权限。 根据下表配置文件和文件夹权限:

帐户 文件夹权限
SQL Server 分布式重播控制器服务帐户 <Controller_Installation_Path>\DReplayController (读取、写入、删除)

DReplayServer.xml 文件(读取、写入)
SQL Server 分布式重播客户端服务帐户 <Client_Installation_Path>\DReplayClient (读取、写入、删除)

DReplayClient.xml 文件(读取、写入)

工作目录和结果目录,在客户端配置文件中分别由 WorkingDirectory 元素和 ResultDirectory 元素指定。 (读取、写入)

DCOM 权限

DCOM 用于控制器和管理工具之间以及控制器和所有客户端之间的远程过程调用 (RPC) 通信。 在安装分布式重播功能之后,您必须在控制器上配置计算机范围的和应用程序特定的 DCOM 权限。

若要配置控制器 DCOM 权限,请按以下步骤执行操作:

  1. 打开 dcomcnfg.exe、组件服务管理单元:这是用于配置 DCOM 权限的工具。

    1. 在控制器计算机上,选择“开始”。

    2. 在“搜索”框中键入 dcomcnfg.exe

    3. 按 Enter。

  2. 配置计算机范围内的 DCOM 权限:为下表中列出的每个帐户授予相应的计算机范围的 DCOM 权限。 有关如何设置计算机范围的权限的详细信息,请参阅清单:管理 DCOM 应用程序

  3. 配置应用程序特定的 DCOM 权限:为下表中列出的每个帐户授予相应的应用程序特定的 DCOM 权限。 控制器服务的 DCOM 应用程序名称为 DReplayController。 有关如何设置应用程序特定的权限的详细信息,请参阅清单:管理 DCOM 应用程序

下表介绍了管理工具交互式用户帐户和客户端服务帐户所需的 DCOM 权限:

Feature 帐户 控制器上所需的 DCOM 权限
分布式重播管理工具 交互式用户帐户 本地访问

远程访问

本地启动

远程启动

本地激活

远程激活
Distributed Replay 客户端 SQL Server 分布式重播客户端服务帐户 本地访问

远程访问

本地启动

远程启动

本地激活

远程激活

重要

若要帮助防止恶意查询或拒绝服务攻击,请确保您仅对客户端服务帐户使用受信任的用户帐户。 此帐户将能够连接 SQL Server目标实例并针对该实例重播工作负荷。

SQL Server 权限

SQL Server 分布式重播客户端服务帐户用于连接工作负荷的 SQL Server目标实例。 这些连接仅支持 Windows 身份验证模式。

在一组计算机上安装 SQL Server 分布式重播客户端服务之后,必须向用于这些服务帐户的安全主体授予你打算针对其重播跟踪工作负荷的 SQL Server 实例上的 sysadmin 服务器角色。 在 Distributed Replay 安装期间,不会自动执行此步骤。

数据保护

在分布式重播环境中,将授予以下用户帐户对 SQL Server的目标服务器实例、输入跟踪数据和结果跟踪文件的完全访问权:

  • 用于运行该管理工具的交互式用户帐户。

  • 控制器服务帐户。

  • 客户端服务帐户。

  • 控制器上的本地 Administrators 组的成员。

  • 客户端上的本地 Administrators 组的成员。

    重要

    这些帐户具有对包含在分布式重播功能所使用的跟踪数据文件、中间数据文件、调度数据文件或 SQL Server 数据文件中的任何个人身份信息 (PII) 或敏感信息的完全访问权。

建议您采取以下安全防范措施:

  • 将输入跟踪数据、输出跟踪结果和数据库文件存储在使用 NTFS 文件系统 (NTFS) 的位置,并应用适当的访问控制列表 (ACL)。 如果需要,可对存储在 SQL Server 计算机上的数据进行加密。 请注意,不将 ACL 应用于跟踪文件,也不会执行数据屏蔽或模糊处理。 您应在使用完这些文件后迅速将其删除。

  • 将适当的 ACL 和保留策略应用于分布式重播功能所生成的所有中间文件和调度文件。

  • 使用传输层安全性 (TLS)(以前称为“安全套接字层 (SSL)”)来保护网络传输。

重要删除步骤

建议您仅在测试环境中使用分布式重播功能。 在您完成测试之后,并在您为其他任务设置这些计算机之前,请确保您已完成以下操作:

  • 卸载分布式重播功能,并从控制器和所有客户端中删除相关的配置文件。

  • 删除用于测试的任何跟踪数据库文件、中间数据库文件、调度数据库文件和 SQL Server 数据库文件。 中间文件和调度文件分别存储在控制器上的工作目录和客户端上的工作目录中。

另请参阅