Team Foundation Server 安全结构

更新:2007 年 11 月

若要分析并制定 Team Foundation Server 安全计划,必须考虑 Team Foundation 应用层、Team Foundation 数据层、Team Foundation 客户端层、Team Foundation Build、Team Foundation Server Proxy 以及这些实体之间的交互。您必须了解使用了哪些 Web 服务、数据库及对象模型。而且,您还必须了解默认情况下使用哪些网络端口和协议,以及哪些网络端口是可自定义的。

除了其本身的服务之外,Team Foundation Server 还需依靠其他服务才能运行。有关 Team Foundation Server 依赖项的更多信息,请参见 Team Foundation Server 安全概念

对象模型

Team Foundation Server 包含一个对象模型,该模型使 Team Foundation 客户端层和 Team Foundation 应用层之间可以进行通信。此对象模型还使得软件集成商和第三方能够自定义和扩展 Team Foundation Server 功能。

Team Foundation Server 对象模型

Team Foundation Server 对象模型是一组包含下列接口的托管 API。

  • Team Foundation 通用服务

    • 注册服务

    • 安全性服务

    • 链接服务

    • 事件服务

    • 分类服务

  • 版本控制对象模型

  • 工组项跟踪对象模型

  • Team Foundation Build 对象模型

Team Foundation Server 对象模型公开记录在 Visual Studio SDK 中的 Team Foundation Server 扩展性文档中。

Web 服务和数据库

Team Foundation Server 包括一组 Web 服务和数据库。分别在 Team Foundation 应用层、数据层及客户端层上安装和配置这些服务和数据库。下面的图提供了 Team Foundation Server 及客户端计算机上的 Web 服务、应用程序和数据库的高级视图。

服务器体系结构示意图客户端体系结构示意图

应用层

Team Foundation 应用层包含下列 ASP.NET Web 服务,它们分别对应于客户端层上的相应代理或对象模型。这些 Web 服务不供第三方集成商进行编程。此策略的一个例外是在 Visual Studio SDK 中的 Team Foundation Server 扩展性文档中记录的 MSBuild Web 服务。

  • Team Foundation 通用服务

    • 注册 Web 服务

    • 安全性 Web 服务

    • 链接 Web 服务

    • 事件 Web 服务

    • 分类 Web 服务

  • 版本控制 Web 服务

  • 工作项跟踪 Web 服务

  • Team Foundation Build Web 服务

数据层

Team Foundation 数据层由 SQL Server 2005 内的下列操作存储区组成。这包括数据、存储过程及其他关联的逻辑。这些操作存储区通常不供第三方集成商进行编程。

  • 工作项跟踪

  • 版本控制

  • Team Foundation 通用服务

  • Team Foundation Build

  • 报表仓库

客户端层

客户端层使用应用层中列出的相同 Web 服务来与 Team Foundation 应用层进行通信。它通过 Team Foundation Server 对象模型进行通信。除了 Team Foundation Server 对象模型之外,Team Foundation 客户端层还包括 Visual Studio Industry Partner (VSIP) 组件、Microsoft Office 集成、命令行接口,以及用于与 Team Foundation Server 集成和自定义集成的签入策略框架。有关如何扩展和自定义客户端层的更多信息,请参见 Visual Studio SDK 中的扩展性文档。

Team Foundation Server 配置信息

由于 Team Foundation Server 依赖于 SQL Server、SQL Server Reporting Services、Internet 信息服务 (IIS)、Windows 操作系统以及 Windows SharePoint Services,因此 Team Foundation Server 的配置信息存储在五个位置:

  • Internet 信息服务 (IIS) 数据存储区 - Team Foundation 应用层

  • Team Foundation Server 配置文件(web.config、proxy.config)- Team Foundation 应用层

  • SQL Server Reporting Services 数据源(例如 TFSREPORTS 数据)- Team Foundation 应用层

  • Team Foundation Server 集成数据库 - Team Foundation 数据层

  • Windows 注册表 - Team Foundation 应用层、数据层和客户端层

在维护 Team Foundation Server 部署时,必须考虑这些配置源。若要以任意方式更改配置,必须修改在应用层上的多个位置中存储的信息。还必须更改数据层和客户端层上的配置信息。Team Foundation Server 包括许多命令行实用工具,可帮助您进行这些更改。但在某些情况下,您还需要手动进行更改。

同步 Active Directory 与 Team Foundation Server 之间的组标识

对于在 Active Directory 域中运行 Team Foundation Server 的部署,当发生以下任意事件时,均会同步组和标识信息:

  • Team Foundation 的应用层服务器启动。

  • 在 Team Foundation Server 中向组添加 Active Directory 组。

  • 在 web.config 文件中指定的时间已过。(默认值为 1 小时。)

Active Directory 与通用安全服务 (GSS) 同步,后者再与 Team Foundation Server 同步。更改的标识将从服务器传播到客户端。根据在 web.config 文件中配置的同步间隔以及对组和用户进行的更改的本质,可能需要一些时间才能在 Team Foundation Server 中反映对 Active Directory 用户和组的更改。

组和权限

Team Foundation Server 具有自己的一组默认组。而且,它还具有可在多个级别设置的权限。您可以创建自定义组,并在组和各个级别自定义权限。但是,在将用户或组添加到 Team Foundation Server 时,该用户或组不会自动添加到 Team Foundation Server 依赖的以下两个组件:Windows SharePoint Services 和 SQL Server Reporting Services。必须先将用户和组添加到这些程序并授予相应权限,然后这些用户或组才能在所有 Team Foundation Server 操作中正常工作。有关更多信息,请参见管理用户和组管理权限Windows SharePoint Services 角色SQL Server Reporting Services 角色

网络端口和协议

默认情况下,Team Foundation Server 配置为使用特定的网络端口和网络协议。下面的关系图阐释了示例部署中的 Team Foundation Server 网络通信。

端口和通信示意图

默认网络设置

默认情况下,Team Foundation 应用层、Team Foundation 数据层、生成计算机和 Team Foundation Server Proxy 之间使用以下列表中的协议和端口进行通信。如果端口号后面带有星号 (*),则可自定义该端口。

服务和层

协议

端口

应用层 - Web 服务

HTTP

8080

应用层 - Windows SharePoint Services 管理

HTTP

17012*(如果随 Team Foundation Server 一起安装);否则将随机生成

应用层 – Windows SharePoint Services 和 SQL Reporting Services

HTTP

80

生成计算机 - 从 Team Foundation 应用层服务器远程访问

HTTP 上的 SOAP

9191*

数据层

MS-SQL TCP

1443*

Team Foundation Server Proxy:客户端到代理

HTTP

8081*

Team Foundation Server Proxy:代理到应用层

HTTP

8080*

客户端层 - Reporting Services

HTTP

80

客户端层 - Web 服务

HTTP

8080*

可自定义的网络设置

您可以修改 Team Foundation Server 以使用一些自定义端口。可将应用层、数据层和客户端层之间的通信更改为如上表中所述。作为示例,下表描述从 HTTP 到 HTTPS 的端口更改。

说明:

配置 Team Foundation Server 以使用 HTTPS 和 SSL 是一项复杂的任务,要做的工作远不止为 HTTPS 网络通信启用端口。有关更多信息,请参见使用 HTTPS 和安全套接字层 (SSL) 保护 Team Foundation Server

服务和层

协议

端口

应用层 – 使用 SSL 的 Web 服务

HTTPS

由管理员配置

应用层 - Windows SharePoint Services 管理

HTTPS

由管理员配置

应用层 – Windows SharePoint Services 和 SQL Reporting Services

HTTPS

443

客户端层 - Reporting Services

HTTPS

443

客户端层 - Web 服务

HTTPS

由管理员配置

请参见

概念

Team Foundation Server 安全概念

Team Foundation Server 权限

其他资源

Team Foundation Server 拓扑