分享方式:


Distributed Replay 安全性

適用於: 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 功能之前,您應該先檢閱本主題中的重要安全性資訊。 本主題描述的是使用 Distributed Replay 之前必須進行的安裝後安全性設定步驟。 本主題也描述與資料保護和重要移除步驟有關的重要考量。

使用者和服務帳戶

下表描述用於 Distributed Replay 的帳戶。 安裝 Distributed Replay 之後,您必須指派用以執行 Controller 和 Client 服務帳戶的安全性主體。 因此,我們建議您在安裝 Distributed Replay 功能之前設定對應的網域使用者帳戶。

使用者帳戶 需求
SQL Server Distributed Replay 控制器服務帳戶 可以是網域使用者帳戶或本機使用者帳戶。 如果您使用本機使用者帳戶,管理工具、Controller 和 Client 都必須在同一部電腦上執行。

** 安全性注意事項 ** 建議您不要將此帳戶設定為 Windows 本機 Administrators 群組的成員。
SQL Server Distributed Replay 用戶端服務帳戶 可以是網域使用者帳戶或本機使用者帳戶。 如果您使用本機使用者帳戶,Controller、Client 和目標 SQL Server 都必須在同一部電腦上執行。

** 安全性注意事項 ** 建議您不要將此帳戶設定為 Windows 本機 Administrators 群組的成員。
用來執行 Distributed Replay 管理工具的互動式使用者帳戶 可以是本機使用者或網域使用者帳戶。 若要使用本機使用者帳戶,管理工具和控制器必須在同一部電腦上執行。

重要

當您設定 Distributed Replay Controller 時,可以指定將用來執行 Distributed Replay Client 服務的一或多個使用者帳戶。 下列是支援帳戶的清單:

  • 網域使用者帳戶

  • 使用者建立的本機使用者帳戶

  • 系統管理員

  • 虛擬帳戶和 MSA (受管理的服務帳戶)

  • 網路服務、本機系統和系統

不接受群組帳戶 (本機或網域) 和其他內建帳戶 (例如 Everyone)。

若要在安裝 Distributed Replay 之後設定服務帳戶或其密碼,您可以使用 Windows 服務工具。 若要變更與 Distributed Replay Controller 或 Client 服務相關聯的服務帳戶,請遵循下列步驟進行:

  1. 請根據作業系統執行下列其中一項作業:

    • 選取 [開始],並在 [搜尋] 方塊中輸入 services.msc,然後按 ENTER。

    • 選取 [開始],並選取 [執行],再輸入 services.msc,然後按 ENTER。

  2. 在 [服務] 對話方塊中,以滑鼠右鍵按一下您想要設定的服務,然後選取 [內容]。

  3. 在 [登入] 索引標籤上,選取 [此帳戶]。

  4. 設定您想要使用的使用者帳戶。

檔案和資料夾權限

指定了服務帳戶之後,您必須將必要的檔案和資料夾權限授與這些服務帳戶。 請根據下表設定檔案和資料夾權限:

帳戶 資料夾權限
SQL Server Distributed Replay 控制器服務帳戶 <Controller_Installation_Path>\DReplayController (讀取、寫入、刪除)

DReplayServer.xml 檔案 (讀取、寫入)
SQL Server Distributed Replay 用戶端服務帳戶 <Client_Installation_Path>\DReplayClient (讀取、寫入、刪除)

DReplayClient.xml 檔案 (讀取、寫入)

工作和結果目錄,分別由 WorkingDirectoryResultDirectory 元素指定於 Client 組態檔中 (讀取、寫入)。

DCOM 權限

DCOM 是用於 Controller 與管理工具以及 Controller 與所有 Client 之間的遠端程序呼叫 (RPC) 通訊。 安裝了 Distributed Replay 功能之後,您必須在 Controller 上設定整部電腦和應用程式特定的 DCOM 權限。

若要設定 Controller DCOM 權限,請遵循下列步驟進行:

  1. 開啟 dcomcnfg.exe,[元件服務] 嵌入式管理單元:此為用來設定 DCOM 權限的工具。

    1. 在控制器電腦上,選取 [開始]。

    2. 在 [搜尋] 方塊中,輸入 dcomcnfg.exe

    3. 按 ENTER 鍵。

  2. 設定整部電腦的 DCOM 權限:針對下表所列的每個帳戶授與對應的整部電腦 DCOM 權限。 如需如何設定整部電腦權限的詳細資訊,請參閱 檢查清單:管理 DCOM 應用程式

  3. 設定應用程式限定的 DCOM 權限:針對下表所列的每個帳戶授與對應的應用程式限定的 DCOM 權限。 控制器服務的 DCOM 應用程式名稱是 DReplayController。 如需如何設定應用程式特定權限的詳細資訊,請參閱 檢查清單:管理 DCOM 應用程式

下表描述哪些 DCOM 權限是管理工具互動式使用者帳戶和 Client 服務帳戶所需的權限:

功能 帳戶 Controller 的必要 DCOM 權限
Distributed Replay 管理工具 互動式使用者帳戶 本機存取

遠端存取

本機啟動

遠端啟動

本機啟用

遠端啟用
Distributed Replay Client SQL Server Distributed Replay 用戶端服務帳戶 本機存取

遠端存取

本機啟動

遠端啟動

本機啟用

遠端啟用

重要

為了有效抵禦惡意查詢或阻斷服務攻擊,請務必只將信任的使用者帳戶用於 Client 服務帳戶。 此帳戶將能夠針對目標 SQL Server 執行個體連線並重新執行工作負載。

SQL Server 權限

SQL Server Distributed Replay 用戶端服務帳戶是用來連線至工作負載的目標 SQL Server 執行個體。 這些連接僅支援 Windows 驗證模式。

當您在一組電腦上安裝 SQL Server Distributed Replay 用戶端服務之後,用於這些服務帳戶的安全性主體必須被授與您要重新執行追蹤工作負載之目標 SQL Server 執行個體的 sysadmin 伺服器角色。 在 Distributed Replay 安裝期間,不會自動執行此步驟。

資料保護

在 Distributed Replay 環境中,下列使用者帳戶會被授與 SQL Server 之目標伺服器執行個體、輸入追蹤資料和結果追蹤檔案的完整存取權:

  • 用來執行管理工具的互動式使用者帳戶。

  • Controller 服務帳戶。

  • Client 服務帳戶。

  • Controller 上本機 Administrators 群組的成員。

  • Client 上本機 Administrators 群組的成員。

    重要

    這些帳戶對於 Distributed Replay 所使用之追蹤、中繼、分派或 SQL Server 資料檔案中包含的任何個人識別資訊 (PII) 或機密資訊擁有完整存取權。

我們建議您採取下列安全性預防措施:

  • 將輸入追蹤資料、輸出追蹤結果和資料庫檔案儲存在使用 NTFS 檔案系統 (NTFS) 的位置,並且套用適當的存取控制清單 (ACL)。 必要時,請加密儲存在 SQL Server 電腦上的資料。 請注意,ACL 不會套用至追蹤檔案,因此沒有任何資料遮罩或模糊化。 您應該在使用後盡快刪除這些檔案。

  • 將適當的 ACL 和保留原則套用至 Distributed Replay 所產生的所有中繼和分派檔案。

  • 使用「傳輸層安全性」(TLS) (先前稱為「安全通訊端層」(SSL)) 來協助保護網路傳輸。

重要移除步驟

我們建議您僅在測試環境中使用 Distributed Replay。 在您完成測試之後,針對不同的工作佈建這些電腦之前,請務必執行下列作業:

  • 解除安裝 Distributed Replay 功能並且從 Controller 和所有 Client 中移除相關的組態檔。

  • 刪除用於測試的任何追蹤、中繼、分派和 SQL Server 資料庫檔案。 中繼和分派檔案會分別儲存在 Controller 和 Client 的工作目錄中。

另請參閱