Team Foundation Server 中的服務帳戶與相依性

如果您了解每個 Visual Studio Team Foundation Server (TFS) 部署所包含,以及每個部署依賴的服務和幾個服務帳戶,就可以更有效管理 TFS。 根據您安裝和設定 TFS 的方式,這些服務和服務帳戶可能都在一部電腦上執行,或可能會在多部電腦上執行。 這將會變更管理部署的某些層面。 例如,如果部署的伺服器端元件會在一部以上的電腦上執行,就必須確保您的部署所使用的服務帳戶擁有正常運作所需的存取及使用權限。

Team Foundation Server 的服務和服務帳戶可在部署中的下列電腦上執行:

  • 任何裝載一個或多個 Team Foundation Server 資料庫的伺服器

  • 任何裝載 Team Foundation 之應用程式層元件的伺服器

  • 任何執行 Team Foundation Server Proxy 的電腦

  • 任何組建電腦

  • 任何測試電腦

  • 任何執行 Visual Studio Lab Management 之一個或多個元件的電腦

您可以用各種方式,安裝和部署 TFS 的不同功能。部署中的功能分配,會決定哪些服務和服務帳戶要在哪個實體電腦上執行。 此外,您可能需要管理設定為與 TFS 搭配使用之軟體程式的服務帳戶,例如 SharePoint 產品 及 SQL Server 服務帳戶。

Team Foundation Server 的服務帳戶

雖然 TFS 使用數個服務帳戶,但是其中大部分或所有帳戶可以使用同一個網域或工作群組帳戶。 例如,您可以使用相同的網域帳戶 "Contoso\Example",同時做為 Team Foundation Server (TFSService) 的服務帳戶,以及 SQL Server Reporting Services (TFSReports) 的資料來源帳戶。 不過,不同的服務帳戶也需要不同的使用權限層級。 例如,TFSService 必須具有以服務方式登入權限,TFSReports 必須具有 [允許本機登入] 權限。 如果您使用同一個帳戶 "Contoso\Example" 做為這兩個帳戶,則您必須授與該帳戶這兩個使用權限。 此外,TFSService 需要比 TFSReports 所需更多權限才能正確執行,如本主題後面的表格所示。 為了安全性目的,您應考慮對這兩個服務帳戶使用不同的帳戶。

重要

您不可以使用安裝 Team Foundation Server 時所使用的帳戶做為這些服務帳戶的其中任一個帳戶。

如果您已在 Active Directory 網域中部署 Team Foundation Server,您應該為服務帳戶設定 [這是機密帳戶,無法委派] 選項。 例如,在下表中,您應該針對 TFSService 設定該選項。 如需 Team Foundation Server 文件中所使用之必要服務帳戶和預留位置名稱的詳細資訊,請參閱《Team Foundation 安裝指南》中的Team Foundation Server 安裝時所需的帳戶主題。 如需如何限制 Active Directory 中帳戶委派的詳細資訊,請參閱 Microsoft 網站上的下列網頁:啟用委派驗證

因為您必須管理數個服務帳戶,所以每個服務帳戶都由預留位置名稱參照以指示其功能,如本主題後面的表格所示。 預留位置名稱不是您用於每個服務帳戶的實際帳戶名稱。 帳戶的實際帳戶名稱會根據您的部署而有所不同。 在之前的範例中,用於 TFSService 和 TFSReports 的帳戶是 "Contoso\Example"。在您自己的部署中,您可以建立具有特定名稱 ("TFSService" 和 "TFSReports") 的網域帳戶,或者可以使用系統帳戶 (例如 Network Service) 做為 Team Foundation Server 的服務帳戶。

重要

除非另外特別指出,下表中的群組或帳戶不應是 Team Foundation Server 的部署中任何伺服器上的 Administrators 群組成員。

下表顯示可以在 TFS 的部署中使用的所有服務帳戶:

服務帳戶

預留位置名稱和可用帳戶類型

必要的權限和群組成員資格

備註

Team Foundation Server 的服務帳戶

TFSService,可以是本機帳戶、網域帳戶、工作群組中的本機服務或網域中的網路服務。

  • 應用程式層伺服器上的 [以服務方式登入]

  • Team Foundation Server 使用的任何 SharePoint Web 應用程式 Farm Administrators 群組1 

  • TFSExecRole,或者如果資料庫沒有此角色,則為 Team Foundation Server 使用的任何資料庫下列角色的組合:

    • db_owner

    • db_create

此服務帳戶用於 Team Foundation Server 的所有 Web 服務。 如果您針對此帳戶使用網域帳戶,則它必須是整個部署中所有電腦都信任之網域的成員。

SQL Server Reporting Services 的資料來源帳戶

TFSReports,可以是本機帳戶、網域帳戶或工作群組中的本機服務。

  • 應用程式層伺服器上和執行 SQL Server Reporting Services 之伺服器上的 [允許本機登入]。

  • 報告伺服器上的 TFSWareHouseDataReader

此服務帳戶會從 Reporting Services 擷取資料。

Team Foundation Build 的服務帳戶

TFSBuild,可以是本機帳戶、網域帳戶或工作群組中的本機服務。

以服務方式登入

當設定組建以及當組建狀態資訊在組建控制器和組建代理程式之間進行通信時,就會使用這個服務帳戶。

Lab Management 的服務帳戶

TFSLab,可以是本機帳戶、網域帳戶、工作群組中的本機服務或網域中的網路服務。

以服務方式登入

當有關 Lab Management 的資訊在 Team Foundation Server 與在虛擬機器上執行之實驗室代理程式之間進行通信時,就會使用這個服務帳戶。

Team Foundation Server Proxy 的服務帳戶

TFSProxy,可以是本機帳戶、網域帳戶、工作群組中的本機服務或網域中的網路服務。

以服務方式登入

此服務帳戶用於所有 Proxy 服務。 如果您針對此帳戶使用網域帳戶,則它必須是整個部署中所有電腦都信任之網域的成員。

測試代理程式和測試代理程式控制器的服務帳戶

TFSTest,可以是本機帳戶、網域帳戶或網域中的網路服務。

以服務方式登入

當有關測試的資訊在測試代理程式控制器與測試代理程式之間進行通信時,就會使用這個服務帳戶。

SharePoint Web 應用程式的服務帳戶

WebAppService

允許本機登入

針對設定為與 Team Foundation Server 搭配使用的每個 SharePoint Web 應用程式,您必須至少加入一個服務帳戶。 此服務帳戶可用於建立 Team 專案入口網站和啟用儀表板功能。

Visual Studio Online 的服務帳戶

帳戶服務 (CollectionName)

無。 只有在使用 TFS 的裝載部署時,才會使用這個帳戶。 這會為您自動建立,而且可以透過 Team Web Access 的管理頁面來檢視。

當您在 Visual Studio Online 建立集合時會自動建立這個服務帳戶,並且會在用戶端與裝載服務通訊時使用該服務帳戶。

1 您可以將部署與 SharePoint 產品整合,而無需此使用權限,但如果服務帳戶不是 Farm Administrators 群組的成員,則您必須執行其他步驟。 如需詳細資訊,請參閱Integrate with SharePoint Products Without Administrative Permissions

服務帳戶下執行的服務

下列服務可在 Team Foundation Server 部署的服務帳戶下執行:

服務名稱

服務帳戶

邏輯層

程式碼涵蓋範圍服務

TFSService

應用程式層

Team Foundation Server Web 服務

TFSService

應用程式層

SQL Server Reporting Services (MSSQLSERVER,如果使用具名執行個體則為 InstanceName)

本機系統或網域帳戶

應用程式層

報告 Web 服務

本機系統、網路服務或網域帳戶

應用程式層

SharePoint Administration (如果 SharePoint 產品 已安裝,並設定為與 Team Foundation Server 搭配使用)

本機系統、網路服務或網域帳戶

應用程式層

SharePoint Timer (如果 SharePoint 產品 已安裝,並設定為與 Team Foundation Server 搭配使用)

網域帳戶

應用程式層

Visual Studio Team Foundation Build Service Host (如果 Team Foundation Build 已安裝)

TFSBuild

組建電腦

Visual Studio Team Foundation 背景工作代理程式

TFSService

應用程式層

Visual Studio Test Controller

TFSTest

任何電腦

Visual Studio Test Agent

TFSTest

測試電腦

Analysis Server (MSSQLSERVER,如果使用具名執行個體則為 InstanceName)

本機系統或網域帳戶

資料層

SQL Server Browser

本機服務或網域帳戶

資料層

SQL Server (MSSQLSERVER,如果使用具名執行個體則為 InstanceName)

本機系統、網路服務或網域帳戶

資料層

SQL Server Agent (MSSQLSERVER,如果使用具名執行個體則為 InstanceName)

本機系統、網路服務或網域帳戶

資料層

帳戶服務 (CollectionName)

自動

Web 層 (僅限 Visual Studio Online)

如需 SQL Server 的服務帳戶的詳細資訊,請參閱下列 Microsoft 網站的頁面:SQL Server 線上叢書。 如需 Team Foundation 中服務帳戶的最新資訊,請參閱Team Foundation Server 安裝指南

注意事項注意事項

如果您變更 Team Foundation Build 的服務帳戶,則必須確定新服務帳戶為 Build Services 群組的成員。您也必須確定此帳戶對暫存資料夾、以及 ASP.NET 暫存資料夾具有讀取/寫入權限。同樣地,如果您變更 Team Foundation Server Proxy 服務的服務帳戶,則必須確定帳戶為適當群組的成員。如需詳細資訊,請參閱Setting Up a Build Computer

問與答

問:服務帳戶會指派給存取層級群組嗎?

**答:**根據預設,會將服務帳戶加入預設存取層級。 如果您為專案關係人設定預設存取層級,則必須將 TFS 服務帳戶加入「基本」或「進階」群組。

問:服務帳戶需要授權嗎?

:不需要。 服務帳戶不需要個別的授權。

問:如何變更服務帳戶的密碼或帳戶?

**答:**請參閱下列主題: