Team Foundation
Team Foundation
(通常記作“TFS”)是一種為 Microsoft 產品提供 源代碼管理、數據收集、報告和項目跟蹤,而為協作 軟體開發 的項目。可作為獨立的軟體,或 Visual Studio Team System (VSTS) 在伺服器端後端平台。
▲應用層、數據層、客戶端層:組成 Team Foundation Server 的邏輯層。這些層可能全部部署在同一台物理計算機上,也可能安裝在多台計算機上。
▲團隊項目集合:Team Foundation Server 中所有數據的主要組織單位。集合可以包含一個或多個團隊項目。
▲團隊項目:團隊用於共享開發特定軟體技術或產品所需的團隊活動的中心點。團隊項目以團隊項目集合進行組織。
▲Team Foundation 管理控制台:Team Foundation Server 中管理員的集中管理工具。您可以從管理控制台管理用戶和許可權,還可以創建和管理團隊項目集合、添加和管理 SharePoint Web 應用程序以在部署中使用、創建和管理虛擬實驗室以及檢查伺服器狀態。
▲服務帳戶:Team Foundation 中的 Web 服務和應用程序使用的帳戶。Team Foundation Server 需要使用服務帳戶在伺服器和 Web 服務之間執行操作。這些服務帳戶有特定要求。
▲SharePoint 產品:為基於 Web 的業務應用程序的協作和開發提供可伸縮、可管理的平台的軟體。您可以將一個或多個 SharePoint Web 應用程序包含為 Team Foundation Server 部署的組成部分。若要包含這些應用程序之一,必須為 SharePoint 產品安裝和配置 Team Foundation Server 擴展,並且必須在整個部署中配置許可權。
▲SQL Server 和 SQL Server Reporting Services:為大型聯機事務處理 (OLTP)、數據倉庫和電子商務應用程序提供資料庫平台的軟體。SQL Server 也是數據集成、分析和報告解決方案的業務智能平台。Team Foundation Server 在 SQL Server 資料庫中存儲其數據。您也可以選擇包含運行 SQL Server Reporting Services 的伺服器和自動生成團隊項目報告的伺服器。
▲拓撲,包括運行 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。
您可以在 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 安全性與 Windows 集成身份驗證和 Windows 操作系統的安全功能集成在一起,其實現也依賴於後兩個因素。可以使用 Windows 集成身份驗證對以下方面進行帳戶身份驗證:Team Foundation 客戶端與 Team Foundation Server 之間的連接、承載 Team Foundation 邏輯應用層和數據層的伺服器上的 Web 服務、應用層伺服器和數據層伺服器本身之間的連接。
不應將 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 的邏輯應用層、數據層和客戶端層
▲承載這些層的物理伺服器的位置
▲將在您的環境中運行的 Team Foundation Build 和生成計算機。
▲Team Foundation Server Proxy
此外,還必須考慮這些實體之間的交互。您必須知道使用哪些 Web 服務、資料庫和對象模型。而且,您還必須了解默認情況下使用哪些網路埠和協議,以及可以自定義哪些網路埠。
除了其本身的服務之外,Team Foundation Server 還需依靠其他服務才能運行。
通過 Team Foundation Server 的對象模型,Team Foundation 的邏輯層可以進行通信,軟體集成商及其他公司可以自定義和擴展 Team Foundation Server 功能。
Team Foundation Server 的對象模型是一組包含下列介面的託管 API:
▲Team Foundation Framework 服務
◆管理服務
◆事件服務
◆團隊項目集合服務
◆註冊服務
◆安全性服務
◆位置服務
◆標識管理服務
◆目錄服務
◆作業服務
◆屬性服務
▲版本控制對象模型
▲工作項跟蹤對象模型
▲Team Foundation Build 對象模型
Team Foundation Server 包含一組 Web 服務和資料庫,它們將單獨安裝和配置在承載 Team Foundation 的邏輯應用層、數據層和客戶端層的一台或多台伺服器上。
Team Foundation Server 依賴於 SQL Server、Internet 信息服務 (IIS) 和 Windows 操作系統。根據部署的不同,Team Foundation Server 可能還依賴於 SQL Server Reporting Services 或 SharePoint 產品。因此,Team Foundation Server 的配置信息可存儲在下列任意位置:
IIS 數據存儲區
Team Foundation Server 的配置文件
Reporting Services 的數據源(例如,TFSREPORTS 數據)
Team Foundation Server 的配置資料庫
Windows 註冊表
在維護 Team Foundation Server 部署時,必須考慮這些配置源。若要以任意方式更改配置,可能需要修改存儲在多個位置中的信息。此外,還可能需要更改數據層和客戶端層的配置信息。Team Foundation Server 包括一個管理控制台和多個命令行實用工具,可幫助您進行這些更改。不過,有些配置更改可能需要您手動進行一些調整。
★同步 Active Directory 與 Team Foundation Server 之間的組標識對於在 Active Directory 域中運行 Team Foundation Server 的部署,當發生以下任意事件時,均會同步組和標識信息:
Team Foundation 的應用層伺服器啟動。
在 Team Foundation Server 中向組添加 Active Directory 組。
超過計劃作業中指定的時間段。(默認值為一小時,Team Foundation Server 中的所有組每 24 小時更新一次。)
標識管理服務 (IMS) 與 Active Directory 同步,並且更改的標識會從伺服器傳播到客戶端。根據作業服務的同步計劃的不同,更改可能不會立即反映在 Team Foundation Server 中。默認情況下,將在 24 小時內更新所有組,但您可以自定義此設置以更加適合部署的需求。
Team Foundation Server 有自己的默認組和許可權,可在項目、集合或伺服器級別對它們進行設置。您可以創建自定義組,並在組和各個級別自定義許可權。不過,添加到 Team Foundation Server 的用戶或組不會自動添加到 Team Foundation Server 可依賴的兩個組件:SharePoint 產品和 Reporting Services。如果部署使用這些程序,您必須將用戶和組添加到這些程序中並向其授予適當的許可權,這些用戶或組才能在 Team Foundation Server 中正常執行所有操作。