服務帳戶和相依性
Azure DevOps Server 2022 |Azure DevOps Server 2020 |Azure DevOps Server 2019
如果您瞭解每個 Azure DevOps 部署所包含的服務和數個服務帳戶,以及每個部署相依於的數個服務帳戶,您可以更妥善地管理 Azure DevOps Server。 視您安裝及設定 Azure DevOps 的方式而定,這些服務和服務帳戶可能會全部在一部電腦上執行,或可能會在許多電腦上執行。 這會變更管理部署的某些層面。 例如,如果部署的伺服器端元件在多部計算機上執行,您必須確定部署所使用的服務帳戶具有正確運作所需的存取權和許可權。
Azure DevOps Server 具有在部署中下列計算機上執行的服務和服務帳戶:
- 裝載一或多個 Azure DevOps Server 資料庫的任何伺服器
- 裝載 Azure DevOps Server 應用層元件的任何伺服器
- 執行 Azure DevOps Server Proxy 的任何電腦
- 任何組建計算機
- 任何測試計算機
您可以透過各種方式安裝及部署 Azure DevOps Server 的不同功能。 部署中的功能散發會決定哪些服務和服務帳戶會在哪些實體計算機上執行。 此外,您可能需要針對設定為使用 Azure DevOps Server 的軟體程式管理服務帳戶,例如 SQL Server 的服務帳戶。
服務帳戶
雖然 Azure DevOps Server 使用數個服務帳戶,但您可以針對大部分或全部的網域或工作組帳戶使用相同的網域或工作組帳戶。 例如,您可以使用與 Azure DevOps Server (TFSService) 的服務帳戶相同的網域帳戶Contoso\\Example
,以及 SQL Server Reporting Services (TFSReports) 的數據源帳戶。 不過,不同的服務帳戶可能需要不同的許可權等級。 例如, TFSService 必須具有 「以服務 方式登入」許可權,而 TFSReports 必須具有 [允許在本機 登入] 許可權。 如果您針對這兩個帳戶使用相同的帳戶 Contoso\\Example
,則必須授與這兩個許可權。 此外,TFSService 需要比 TFSReports 所需的許可權更正確運作,如本主題稍後的表格所示。 基於安全性考慮,您應該考慮針對這兩個服務帳戶使用不同的帳戶。
重要
您不得使用用來安裝 Azure DevOps Server 的帳戶作為其中一個服務帳戶的帳戶。
如果您已在 Active Directory 網域中部署 Azure DevOps Server,您應該將帳戶設定 為敏感性,且無法委派 服務帳戶的選項。 例如,在下表中,您應該為 TFSService 設定該選項。 如需 Azure DevOps Server 檔中使用的必要服務帳戶和佔位元元名稱的詳細資訊,請參閱 Team Foundation 安裝指南中的<
因為您必須管理數個服務帳戶,因此每個服務帳戶都會以識別其函式的佔位元元名稱來參考,如本主題稍後的表格所列。 佔位元名稱不是您用於每個服務帳戶之帳戶的實際名稱。 帳戶的實際名稱會根據您的部署而有所不同。 在上一個範例中,用於 TFSService 和 TFSReports 的 帳戶是 Contoso\\Example
。 在您自己的部署中,您可以使用 和 TFSReports
的特定名稱TFSService
來建立網域帳戶,或者您可以使用系統帳戶網路服務作為 Team Foundation Server 的服務帳戶。
重要
除非另有明確說明,否則下表中沒有任何群組或帳戶應該是您部署 Azure DevOps Server 之任何伺服器上的 Administrators 群組成員。
下表列出大部分的服務帳戶,這些帳戶可用於 Azure DevOps Server 的部署。 如需此處未列出的其他服務帳戶,請參閱 許可權和群組、服務帳戶。
的服務帳戶
佔位元名稱和可用帳戶類型
必要許可權和群組成員資格
注意事項
Azure DevOps Services
帳戶服務 (CollectionName)
無。 只有在您使用 Azure DevOps 的託管部署時,才會使用此帳戶。
當您在 Azure DevOps Services 中建立組織時,會自動為您建立。 當用戶端與託管服務通訊,並可透過入口網站系統管理頁面檢視時,會使用它。
Azure DevOps Server
TFSService:可以是本機帳戶、網域帳戶、工作組中的本地服務,或網域中的網路服務
在應用層伺服器上以服務 身分登入
此服務帳戶會用於所有 Azure DevOps Web 服務。 如果您使用此帳戶的網域帳戶,它必須是整個部署完全信任之所有計算機的網域成員。
Team Foundation Build
TFSBuild,可以是工作組中的本機帳戶、網域帳戶或本機服務
登入為服務
設定組建時,以及組建狀態資訊在組建控制器與組建代理程式之間通訊時,會使用此服務帳戶。
SQL Server Reporting Services
TFSReports,可以是工作組中的本機帳戶、網域帳戶或本機服務
允許在 本機登入應用層伺服器,以及在報表伺服器上執行 SQL Server Reporting Services
TFSWareHouseDataReader 的伺服器上登入
此服務帳戶會從 Reporting Services 擷取報表的數據。
Azure DevOps Server Proxy
TFSProxy,可以是本機帳戶、網域帳戶、工作組中的本地服務,或網域中的網路服務
登入為服務
用於所有 Proxy 服務。 如果您使用此帳戶的網域帳戶,它必須是整個部署完全信任之所有計算機的網域成員。
測試代理程式和測試代理程式控制器
TFSTest:可以是網域中的本機帳戶、網域帳戶或網路服務。
登入為服務
當測試的相關信息在測試代理程式控制器與測試代理程式之間通訊時使用。
在服務帳戶下執行的服務
下表列出在內部部署 Azure DevOps 部署中的服務帳戶下執行的服務。
服務名稱 | 服務帳戶 | 邏輯層 |
---|---|---|
程式代碼涵蓋範圍服務 | TFSService | 應用層 |
Azure DevOps Server Web 服務 | TFSService | 應用層 |
SQL Server Reporting Services (如果使用具名實例,則為 MSSQLSERVER 或 InstanceName ) | 本機系統或網域帳戶 | 應用層 |
報表 Web 服務 | 本機系統、網路服務或網域帳戶 | 應用層 |
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 層 (僅限 Azure DevOps Services) |
如需 SQL Server 服務帳戶的詳細資訊,請參閱Microsoft網站上的下列頁面: 《SQL Server 在線叢書》。 如需 Azure DevOps Server 服務帳戶的最新資訊,請參閱 安裝和設定 Azure DevOps 內部部署。
注意
如果您變更 Team Foundation Build 的服務帳戶,您必須確定新的服務帳戶是組建服務群組的成員。 您也必須確定帳戶具有暫存資料夾和 ASP.NET 暫存資料夾的讀取/寫入許可權。 同樣地,如果您變更 Team Foundation Server Proxy 服務的服務帳戶,您必須確定帳戶是適當群組的成員。 如需詳細資訊,請參閱 設定組建系統。
問與答
問:服務帳戶是否指派給存取層級群組?
答: 根據預設,服務帳戶會新增至預設存取層級。 如果您將專案關係人設為預設存取層級,您必須將 Azure DevOps Server 服務帳戶新增至基本或進階群組。
問:服務帳戶是否需要授權?
A: 不可以。 服務帳戶不需要個別的授權。
問:如何? 變更服務帳戶的密碼或帳戶?
答: 請參閱 變更服務帳戶或密碼