有关 Team Foundation Server 的信任和目录林的注意事项

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

Visual Studio Team Foundation Server 为不同的域甚至不同的林之间的跨组协作提供了基础。 通过遵循以下重要准则,可确保服务器和域的安全和稳定性。 Team Foundation 应用层和数据层最好位于同一个域中,但连接的客户端可处于不同的域位置。

Team Foundation Server 在以下 Active Directory 模式和功能级别中受到支持:

  • 本机模式下的 Windows 2000 Active Directory。

  • Windows 2000 本机模式下的 Windows Server 2003 Active Directory。

  • Windows Server 2003 功能级别中的 Windows Server 2003 Active Directory。

  • Windows Server 2003 R2 Active Directory 林功能级别中的 Windows Server 2003 R2。

备注

Team Foundation Server 不支持任何支持 Windows NT Server 4.0 的域身份验证模式或功能级别。

主题内容

  • 域信任

  • Team Foundation Server 组件之间的信任关系要求

    • 客户端和 Team Foundation 应用层服务器之间的信任

    • 客户端和 Team Foundation Server Proxy 之间的信任

    • Team Foundation Server Proxy 和 Team Foundation 应用层服务器之间的信任

    • Team Foundation 应用层服务器和 Team Foundation 数据层服务器之间的信任

    • Team Foundation Build 和 Team Foundation 应用层服务器之间的信任

  • 其他域配置和注意事项

  • 不受支持的域配置

域信任

在受支持的域信任方面,Team Foundation Server 没有任何特定要求。 可以使用的信任类型取决于公司网络中所部署的林和域的类型。 Team Foundation Server 可能需要某些信任关系,具体取决于 Team Foundation 组件在公司网络中的部署方式。

通常,Team Foundation Server 用户和服务必须经过身份验证才能访问服务器组件。 从信任关系的角度来看,Team Foundation Server 必须信任定义了用户或服务帐户的域。

Team Foundation Server 组件之间的信任关系要求

本节介绍各种 Team Foundation Server 组件之间所需的最小信任关系。 本节还介绍信任关系对部署配置可能具有的特殊含义。 在确定 Team Foundation 组件之间的信任关系是否足够时(例如,如果要验证潜在 Team Foundation 客户端计算机和 Team Foundation Server 之间的信任关系),可以使用 Web 浏览器来验证客户端是否可以访问承载逻辑 Team Foundation 应用层组件的服务器上的文件夹或共享。 如果该客户端无法访问共享,则说明该配置对于 Team Foundation Server 无效。

在 Team Foundation Server 中,可以在团队资源管理器中和 Team Foundation 的管理控制台中或通过 TFSSecurity 和 **TF **命令行实用工具来管理服务器及其资源的组成员资格及访问权限(授权)。 将在应用层服务器上对这种指定用户进行检查,以确认该用户是受信任的域的成员。

Team Foundation Server 将同步 Active Directory 中用户和组的属性。 关键信任要求是,Team Foundation Server 使用的服务帐户 (TFSService) 可与将用户和组分配到部署的每个域进行身份验证。 理想情况下,必须在所有域中信任该服务帐户。 在缺少这种信任的情况下,您仍能够将可由 Windows 验证的域帐户添加到 Team Foundation Server。 这些用户帐户可以访问 Team Foundation Server,但不能同步用户和组成员资格的详细属性,除非该服务帐户是受信任的。 系统不会显示这些用户的显示名称;将只显示登录名。 此外,如果从不信任 Team Foundation 的服务帐户的域添加组,则不会同步这些组的成员资格,也不会选取对这些组或嵌套组的更改。 这会导致使用 Active Directory 组来管理 Team Foundation Server 的效果会很差。

客户端和 Team Foundation 应用层服务器之间的信任

当客户端应用程序(例如团队资源管理器)连接到 Team Foundation 应用层服务器时,该服务器将尝试对运行客户端应用程序的用户标识进行身份验证。 如果 Team Foundation 应用层服务器所在的域信任用户所属的域,则会在 Windows 集成身份验证过程中自动对用户进行身份验证。 如果不存在该信任,则客户端应用程序将显示一个用户名和密码对话框,以便用户提供用于连接到服务器的其他凭据。 完成身份验证后,Team Foundation Server 将检查经过身份验证的用户是否有权访问该服务器。 为此,该用户必须是**“Team Foundation Valid User”**组的成员。 在将该用户标识添加到现有的 Team Foundation Server 组或添加到某个服务器或项目时,会自动将该用户添加到“Team Foundation Valid User”组。 有关更多信息,请参见配置用户、组和权限  

Team Foundation 应用层服务器服务在 TFSService 帐户下运行。 因此,Team Foundation 应用层服务器的域必须信任 TFSService 帐户所属的域。 大多数情况下,Team Foundation 应用层服务器和 TFSService 帐户将属于同一个域。

组件域

信任

组件域

Team Foundation 应用层服务器所在的域

单向信任

Team Foundation 用户所在的域

Team Foundation 应用层服务器所在的域

单向信任

TFSService 帐户所在的域

为了避免 Team Foundation 客户端应用程序每次连接 Team Foundation Server 时都要键入用户名和密码,Team Foundation 客户端所在的域必须信任 Team Foundation 应用层服务器所在的域。

客户端和 Team Foundation Server Proxy 之间的信任

Team Foundation Server Proxy 计算机所在的域必须信任用户所在的域,该代理才能正常工作。

组件域

信任

组件域

Team Foundation Server Proxy 计算机所在的域

单向信任

Team Foundation 用户所在的域

Team Foundation Server Proxy 和 Team Foundation 应用层服务器之间的信任

在 Active Directory 的上下文中,Team Foundation Server Proxy 是 Team Foundation Server 的另一个客户端。

组件域

信任

组件域

Team Foundation 应用层服务器所在的域

单向信任

Team Foundation Server Proxy 服务帐户域

Team Foundation Server Proxy 计算机所在的域

单向信任

Team Foundation Server Proxy 用户帐户域

为了避免 Team Foundation 客户端应用程序每次连接 Team Foundation Server 时都要键入用户名和密码,Team Foundation 客户端所在的域必须信任 Team Foundation 应用层服务器所在的域。

Team Foundation 应用层服务器和 Team Foundation 数据层服务器之间的信任

Team Foundation 应用层服务器通过使用服务帐户(通常称为 TFSService 帐户)连接至 Team Foundation 数据层服务器。 Team Foundation Server Web 服务也在此帐户下运行。 因此,Team Foundation 数据层服务器所在的域必须信任 TFSService 帐户所在的域。 此外,Team Foundation Server 部署中的每个域必须信任 TFSService 帐户本身(不管是通过域信任关系,还是通过显式授权)。 Team Foundation 数据层服务器所在的域还必须信任 TFSReports 帐户所在的域。 TFSReport 帐户是用于访问 Team Foundation Server 报告数据源的帐户。

此外,Reporting Services 在 Team Foundation 应用层服务器的网络服务帐户下运行。 因此,Team Foundation 数据层服务器所在的域将信任 Team Foundation 应用层服务器所在的域。 如果组织不希望 Team Foundation 层之间存在信任关系,则您可以重新配置系统,使 Reporting Services 在不属于 Team Foundation 应用层服务器域的命名服务帐户下运行。 但是,这种配置相当复杂,需要从单服务器部署迁移至双服务器部署,还需要手动重新配置报表服务器,才能使用命名服务帐户运行。

组件域

信任

组件域

Team Foundation 数据层服务器所在的域

单向信任

TFSService 帐户所在的域

Team Foundation 数据层服务器所在的域

单向信任

TFSReport 帐户所在的域

Team Foundation 数据层服务器所在的域

单向信任

Team Foundation 应用层服务器所在的域

Team Foundation Build 和 Team Foundation 应用层服务器之间的信任

Team Foundation Build 在 Windows 服务帐户下运行。 因此,Team Foundation Build 计算机所在的域必须信任此服务帐户所在的域。 此服务帐户通常为 TFSService 帐户,但可以手动配置为在其他帐户下运行。 如果 Team Foundation Build 不在 TFSService 帐户下运行,则必须将服务名称添加到“[项目]\Build Services”应用程序组。

备注

创建生成后,新的生成将放置在“Build Drop”共享文件夹中。您必须确保此文件夹由所有用户共享,并且 TFSService 帐户可完全控制该文件夹。必须在 Team Foundation Build 计算机上打开 Windows 防火墙中的“文件和打印机共享”端口,才能进行文件共享。

组件域

信任

组件域

Team Foundation Build 计算机所在的域

单向信任

服务帐户所在的域(通常为 TFSService)

Team Foundation 应用层服务器所在的域

单向信任

服务帐户所在的域(通常为 TFSService)

其他域配置和注意事项

所有其他 Active Directory 域配置都不受支持,因而不应使用。 应确保安装有 Team Foundation Server 的域支持 Team Foundation Server,并且安装有 Team Foundation Server 的各台计算机均位于相应的域环境中。 如果 Team Foundation Server 支持跨多个林的工作,则必须存在相应的跨林信任。

为安全起见,请在 Windows Server 2003 域环境中安装 Team Foundation Server。 为避免受到模拟攻击,应禁止使用重复的名称,并且创建者应保障计算机名称的安全。 有关更多信息,请参见位于 https://go.microsoft.com/fwlink/?linkid=47541 上的“Windows Server 2003 活动目录”。

不受支持的域配置

支持 Windows NT Server 4.0 功能模式的域配置不受支持。 例如,以下域配置不受支持:

  • Windows 2000 混合模式域

  • 运行 Windows Server 2003 并针对 Windows 2000 混合模式功能级别进行配置的域控制器

  • 在域中配置应用层并在工作组中配置数据层

  • 在工作组中配置应用层并在域中配置数据层

您可在简单拓朴示例中等复杂程度的拓扑的示例复杂拓扑示例中找到支持的域拓扑的示例。

请参见

概念

在工作组中管理 Team Foundation Server

其他资源

Managing Team Foundation Server in an Active Directory Domain

Team Foundation Server Topologies