Team Foundation Server 概念
为有效部署和管理 Visual Studio Team Foundation Server,您必须了解它的工作原理以及它与其他 Team Foundation 组件的通信方式。 作为 Team Foundation Server 管理员,应该熟悉 Windows 身份验证、网络协议和通信,以及安装 Team Foundation Server 的业务网络的结构。 此外,还应了解 Team Foundation Server 中的组和权限。您可能还会发现,了解 SQL Server、SQL Server Reporting Services 和 SharePoint 产品对管理 Team Foundation Server 很有用。
了解组件和术语
如果了解以下组件和术语,可以更好地规划、部署和管理 Team Foundation Server:
应用层、数据层、客户端层:组成 Team Foundation Server 的逻辑层。 这些层可能全部部署在同一台物理计算机上,也可能安装在多台计算机上。 有关更多信息,请参见简单拓朴示例、中等复杂程度的拓扑的示例、复杂拓扑示例和Team Foundation Server 体系结构。
团队项目集合:Team Foundation Server 中所有数据的主要组织单位。 集合可以包含一个或多个团队项目。 有关更多信息,请参见使用团队项目集合组织服务器。
团队项目:团队用于共享开发特定软件技术或产品所需的团队活动的中心点。 团队项目以团队项目集合进行组织。 有关更多信息,请参见计划和跟踪项目。
Team Foundation 管理控制台:Team Foundation Server 中管理员的集中管理工具。 您可以从管理控制台管理用户和权限,还可以创建和管理团队项目集合、添加和管理 SharePoint Web 应用程序以在部署中使用、创建和管理虚拟实验室以及检查服务器状态。 有关更多信息,请参见Team Foundation 管理控制台。
服务帐户:Team Foundation 中的 Web 服务和应用程序使用的帐户。 Team Foundation Server 需要使用服务帐户在服务器和 Web 服务之间执行操作。 这些服务帐户有特定要求。 有关更多信息,请参见Team Foundation Server 中的服务帐户和依赖项。
SharePoint 产品:为基于 Web 的业务应用程序的协作和开发提供可伸缩、可管理的平台的软件。您可以将一个或多个 SharePoint Web 应用程序包含为 Team Foundation Server 部署的组成部分。 若要包含这些应用程序之一,必须为 SharePoint 产品安装和配置 Team Foundation Server 扩展,并且必须在整个部署中配置权限。 有关更多信息,请参见向部署中添加 SharePoint Web 应用程序和SharePoint 产品与 Team Foundation Server。
SQL Server 和 SQL Server Reporting Services:为大型联机事务处理 (OLTP)、数据仓库和电子商务应用程序提供数据库平台的软件。 SQL Server 也是数据集成、分析和报告解决方案的业务智能平台。 Team Foundation Server 在 SQL Server 数据库中存储其数据。 您也可以选择包含运行 SQL Server Reporting Services 的服务器和自动生成团队项目报告的服务器。 有关更多信息,请参见Team Foundation Server 体系结构和SQL Server 和 Team Foundation Server。
了解 Team Foundation Server 安全
若要优化 Team Foundation Server 的安全性,应了解以下概念:
拓扑,包括运行 Team Foundation 组件的服务器的部署位置和部署方式、在 Team Foundation Server 和 Team Foundation 客户端之间传递的网络通信以及必须在 Team Foundation Server 上运行的服务。
身份验证,包括确定 Team Foundation Server 中的用户、组和服务的有效性。
授权,包括确定 Team Foundation Server 中的有效用户、组和服务是否有执行特定操作的相应权限。
此外,您还应考虑 Team Foundation Server 依赖的其他组件和服务。
在考虑 Team Foundation Server 的安全性时,必须了解身份验证和授权之间的差别。 “身份验证”是指对来自客户端、服务器或进程的连接尝试所提供的凭据进行验证。 “授权”是指验证尝试连接的身份是否具有访问对象或方法的权限。 授权只在身份验证成功之后进行。 如果连接没有通过身份验证,它在执行任何授权检查操作之前就会失败。 连接成功通过身份验证后,特定操作仍可能因用户或组没有被授权执行该操作而被禁止。
拓扑、端口和服务
Team Foundation Server 部署和安全性的首要因素是部署的各个组件是否能够彼此连接以进行通信。 您的目标是启用 Team Foundation 客户端与 Team Foundation Server 之间的连接,同时限制或阻止其他连接尝试。
Team Foundation Server 需要依靠一些特定的端口和服务才能发挥作用。 可以对这些端口进行保护和监视以帮助满足业务安全的需要。 必须允许 Team Foundation Server 网络通信在 Team Foundation 客户端、承载 Team Foundation 应用层和数据层的各个逻辑组件的服务器、Team Foundation Build 计算机以及使用 Team Foundation Server Proxy 的远程客户端之间进行传递。 默认情况下,Team Foundation Server 配置为对其 Web 服务使用 HTTP。 有关 Team Foundation Server 使用的端口和服务的完整列表以及它们在其体系结构中的使用方法,请参见 Team Foundation Server 体系结构。
您可以在 Active Directory 域或工作组中部署 Team Foundation Server。 与工作组相比,Active Directory 提供的内置安全功能更多。 可以使用 Active Directory 功能帮助保护 Team Foundation Server 部署的安全。 例如,可以将 Active Directory 配置为禁止使用重复的计算机名称,这样,恶意用户就无法用运行 Team Foundation Server 的非法服务器来假冒计算机名称。 若要降低同类威胁在工作组中的影响,必须配置计算机证书。
无论是在工作组中还是在域中部署 Team Foundation Server,都必须符合 Team Foundation Server 本身的要求所规定的约束。 有关 Team Foundation Server 的拓扑的更多信息,请参见简单拓朴示例、中等复杂程度的拓扑的示例、复杂拓扑示例、SharePoint 产品和 Team Foundation Server 之间的交互 和了解 SQL Server 和 SQL Server Reporting Services。
身份验证
Team Foundation Server 安全性与 Windows 集成身份验证和 Windows 操作系统的安全功能集成在一起,其实现也依赖于后两个因素。可以使用 Windows 集成身份验证对以下方面进行帐户身份验证:Team Foundation 客户端与 Team Foundation Server 之间的连接、承载 Team Foundation 逻辑应用层和数据层的服务器上的 Web 服务、应用层服务器和数据层服务器本身之间的连接。
提示
安装 Team Foundation Server 后,可以将 Team Foundation Server 配置为支持客户端和服务器使用 Kerberos 进行相互身份验证。
不应将 Team Foundation Server 与 SharePoint 产品之间的任何 SQL Server 数据库连接配置为使用 SQL Server 身份验证,因为这种方式的安全性没有 Windows 身份验证高。 在连接至数据库时,数据库管理员帐户的用户名和密码会以不加密的格式发送。 Windows 集成身份验证并不发送用户名和密码, 而是使用 Windows 集成身份验证安全协议向 SQL Server 传输与宿主 Internet 信息服务 (IIS) 应用程序池关联的服务帐户标识信息。
授权
Team Foundation Server 授权基于下列因素:Team Foundation 用户和组、直接分配给这些用户和组的权限,以及这些用户和组由于属于其他 Team Foundation Server 组而可能继承的权限。 Team Foundation 用户和组可以是本地用户或组、Active Directory 用户和组,或者同时属于这两者。
Team Foundation Server 预先配置了服务器、集合和项目级别的默认组。 您可以通过添加各个用户填充这些组。 但是,使用 Active Directory 安全组来填充这些组可能更易于管理。 利用这种方法,可以更有效地管理多台计算机或多个应用程序(如 SharePoint 产品和 SQL Server)中的组成员资格和权限。
特定的部署可能要求您在多台计算机上以及多个应用程序中配置用户、组和权限。 例如,如果要将报表和项目门户网站包含在部署中,必须在 Reporting Services、SharePoint 产品和 Team Foundation Server 中配置用户和组的权限。 在 Team Foundation Server 中,可以为每个项目、每个集合设置权限,也可以在整个部署(服务器级别)中设置权限。 此外,某些权限将默认授予添加到 Team Foundation Server 中的任何用户或组,因为该用户或组会自动添加到**“Team Foundation Valid Users”**中。 有关如何配置权限的更多信息,请参见管理权限。 有关 Team Foundation Server 中的用户和组的更多信息,请参见配置用户、组和权限。
除了在 Team Foundation Server 中通过配置权限进行授权外,可能还需要在版本控制和工作项中进行授权。 这些权限在命令提示符上单独进行管理,但是它们已集成为团队资源管理器界面的一部分。