Team Foundation Server 中的服务帐户和依赖项

如果了解每个 TFS 部署包含的服务和若干服务帐户以及每个部署的依赖项,就可以更好地管理 Visual Studio Team Foundation Server (TFS)。根据安装和配置 TFS 的方式,这些服务和服务帐户可能全部运行在一台计算机上,也可能运行在多台计算机上。这将更改管理您的部署的某些方面。例如,如果部署的服务器端组件在多台计算机上运行,必须确保配置所使用的服务帐户具有访问权限和正确运行所必需的权限。

Team Foundation Server 在部署中包含在下列计算机上运行的服务和服务帐户:

  • 承载 Team Foundation Server 的一个或多个数据库的任何服务器

  • 承载 Team Foundation 的应用层组件的任何服务器

  • 运行 Team Foundation Server 代理的任何计算机

  • 任何生成计算机

  • 任何测试计算机

  • 运行 Visual Studio 实验室管理工具版 的一个或多个组件的任何计算机

您可以通过多种方式来安装和部署 TFS 的不同功能。您的部署中的功能分布情况决定了物理计算机所运行的服务和服务帐户。此外,您可能还需要管理配置为与 TFS 一起运行的软件程序的服务帐户,例如 SharePoint 产品 和 SQL Server 的服务帐户。

主题内容

  • Team Foundation Server 的服务帐户

  • 在服务帐户下运行的服务

Team Foundation Server 的服务帐户

虽然 TFS 使用多个服务帐户,但您可以对其中大多数或所有服务帐户使用同一域或工作组帐户。例如,可以将同一个域帐户“Contoso\Example”同时用作 Team Foundation Server (TFSService) 的服务帐户和 SQL Server Reporting Services (TFSReports) 的数据源帐户。但是,不同服务帐户的权限级别要求有所不同。例如,TFSService 必须具有**“作为服务登录”权限,而 TFSReports 必须具有“允许在本地登录”**权限。如果对它们使用同一个帐户“Contoso\Example”,则必须向该帐户授予这两个权限。此外,与 TFSReports 所需的权限相比,TFSService 需要更多的权限才能正常运行,如本主题后面的表所示。为安全起见,应考虑对这两个服务帐户使用不同的帐户。

重要说明重要事项

不能将用于安装 Team Foundation Server 的帐户用作这两个服务帐户中任意一个的帐户。

如果在 Active Directory 域中部署了 Team Foundation Server,则应该为服务帐户设置**“敏感帐户,不能被委派”**选项。例如,在下表中,应对 TFSService 设置该选项。有关 Team Foundation Server 文档中用到的所需服务帐户和占位符名称的更多信息,请参见 Team Foundation 安装指南中的主题“安装 Team Foundation Server 所需的帐户”。有关如何在 Active Directory 中限制帐户委托的更多信息,请参见 Microsoft 网站上的以下网页:Enabling Delegated Authentication(启用委托身份验证)。

因为您必须管理多个服务帐户,所以各服务帐户由标识其功能的占位符名称(在本主题后面的表中列出)指代。该占位符名称不是用于各服务帐户的帐户的实际名称。帐户的实际名称因您的部署而异。在前面的示例中,同时用于 TFSService 和 TFSReports 的帐户为“Contoso\Example”。在您自己的部署中,可以用“TFSService”和“TFSReports”的特定名称创建域帐户,也可以将系统帐户 Network Service 用作 Team Foundation Server 的服务帐户。

重要说明重要事项

除非另有特殊说明,否则下表中的任何组或帐户都不能是 Team Foundation Server 部署中任何服务器上的 Administrators 组的成员。

下表显示可用在 TFS 部署中的所有服务帐户:

服务帐户

占位符名称和适用的帐户类型

所需权限和组成员资格

注释

Team Foundation Server 的服务帐户

TFS 服务,可以是本地帐户、域帐户、工作组中的 Local Service,或域中的 Network Service

  • 应用层服务器上的“作为服务登录”

  • 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,可以是本地帐户、域帐户或工作组中的 Local Service

  • 应用层服务器及运行 SQL Server Reporting Services 的服务器上的“允许在本地登录”

  • 报表服务器上的 TFSWareHouseDataReader

此服务帐户从 Reporting Services 检索报表数据。

Team Foundation Build 的服务帐户

TFSBuild,可以是本地帐户、域帐户或工作组中的 Local Service

作为服务登录

在配置生成时以及在生成控制器和生成代理之间传输生成状态信息时使用此服务帐户。

实验室管理工具版 的服务帐户

TFSLab,可以是本地帐户、域帐户、工作组中的 Local Service 或域中的 Network Service

作为服务登录

在 Team Foundation Server 与在虚拟机上运行的实验室代理之间传输有关 实验室管理工具版 的信息时使用此服务帐户。

Team Foundation Server 代理的服务帐户

TFSProxy,可以是本地帐户、域帐户、工作组中的 Local Service 或域中的 Network Service

作为服务登录

此服务帐户用于所有代理服务。如果对此帐户使用域帐户,则该域帐户必须是部署中所有计算机均信任的域的成员。

测试代理和测试代理控制器的服务帐户

TFSTest,可以是本地帐户、域帐户或域中的 Network Service。

作为服务登录

在测试代理控制器与测试代理之间传输有关测试的信息时使用此服务帐户。

SharePoint Web 应用程序的服务帐户

WebAppService

允许在本地登录

对于配置用于 Team Foundation Server 的各 SharePoint Web 应用程序,必须至少为其添加一个服务帐户。此服务帐户用于创建团队项目门户网站及启用面板功能。

Team Foundation Service 预览的服务帐户

账户服务 (CollectionName)

无。如果您使用的是托管的 TFS 的部署,则只使用此帐户。它是自动创建的,并可以通过 Team Web Access 的管理页查看。

在 Team Foundation Service 预览中创建集合时将自动创建此服务帐户并在客户端与承载服务通信时使用。

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;如果使用的是命名实例,则为 实例名称)

Local System 或域帐户

应用层

报表 Web 服务

Local System、Network Service 或域帐户

应用层

SharePoint 管理(如果 SharePoint 产品 安装并配置为与 Team Foundation Server 一起使用)

Local System、Network Service 或域帐户

应用层

SharePoint 计时器(如果 SharePoint 产品 安装并配置为与 Team Foundation Server 一起使用)。

域帐户

应用层

Visual Studio Team Foundation 生成服务主机(如果安装了 Team Foundation Build)

TFSBuild

生成计算机

Visual Studio Team Foundation 后台作业代理

TFSService

应用层

Visual Studio 测试控制器

TFSTest

任何计算机

Visual Studio Test Agent

TFSTest

测试计算机

分析服务器(MSSQLSERVER;如果使用的是命名实例,则为 实例名称)

Local System 或域帐户

数据层

SQL Server Browser

Local Service 或域帐户

数据层

SQL Server(MSSQLSERVER 或实例名称,如果在使用命名实例)

Local System、Network Service 或域帐户

数据层

SQL Server 代理(如果使用命名实例,则为 MSSQLSERVER 或 InstanceName)

Local System、Network Service 或域帐户

数据层

账户服务 (CollectionName)

自动

Web 层(仅限 Team Foundation Service 预览)

有关 SQL Server 的服务帐户的更多信息,请参见 Microsoft 网站上的以下网页:SQL Server 联机丛书。有关 Team Foundation 中服务帐户的最新信息,请参见 安装 Team Foundation Server 和 Visual Studio ALM

说明说明

如果更改 Team Foundation Build 的服务帐户,则必须确保新服务帐户是 Build Services 组的成员。另外,还要确保该帐户对临时文件夹和 ASP.NET 临时文件夹具有读/写权限。同样,如果更改 Team Foundation Server Proxy 服务的服务帐户,则必须确保该帐户是相应组的成员。有关更多信息,请参见Setting Up a Build Computer

请参见

任务

更改 SQL Server Reporting Services 的服务帐户或密码

更改 Team Foundation Server 的服务帐户或密码

其他资源

使用 TFSConfig 管理服务器配置