Team Foundation Server 安全性架構
更新:2007 年 11 月
若要分析和規劃 Team Foundation Server 安全性,您必須考慮 Team Foundation 應用程式層、Team Foundation 資料層、Team Foundation 用戶層 (Client Tier)、Team Foundation Build、Team Foundation Server Proxy,以及這些實體之間的互動。您必須知道要使用哪些 Web 服務、資料庫和物件模型,此外,您也必須知道預設會使用的網路通訊埠和通訊協定,以及可自訂的網路通訊埠。
除了本身擁有的服務以外,Team Foundation Server 還必須依賴其他服務才能正常運作。如需 Team Foundation Server 相依性的詳細資訊,請參閱 Team Foundation Server 安全性概念。
物件模型
Team Foundation Server 包含的物件模型 (Object Model) 可以在 Team Foundation 用戶層與 Team Foundation 應用程式層之間進行通訊。這個物件模型還可以讓軟體整合業者和協力廠商自訂及擴充 Team Foundation Server 功能。
Team Foundation Server 物件模型
Team Foundation Server 物件模型是一組包含下列介面的 Managed 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 服務,分別對應至用戶層上各自的 Proxy 或物件模型。這些 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 中的下列作業存放區所組成,其中包含資料、預存程序 (Stored Procedure) 和其他相關聯的邏輯。這些作業存放區通常並不是要讓協力廠商整合業者用於設計程式。
工作項目追蹤
版本控制
Team Foundation 通用服務
Team Foundation Build
報表倉儲
用戶層
用戶層會使用應用程式層中所列的相同 Web 服務,與 Team Foundation 應用程式層進行通訊,而通訊方式是透過 Team Foundation Server 物件模型。除了 Team Foundation Server 物件模型以外,Team Foundation 用戶層還包含 Visual Studio 產業夥伴 (VSIP) 元件、Microsoft Office 整合元件、命令列介面和簽入原則架構,可用於 Team Foundation Server 整合與自訂整合。如需如何擴充和自訂用戶層的詳細資訊,請參閱 Visual Studio SDK 中的擴充性文件。
Team Foundation Server 組態資訊
因為 Team Foundation Server 是取決於 SQL Server、SQL Server Reporting Services、網際網路資訊服務 (IIS)、Windows 作業系統和 Windows SharePoint Services,所以 Team Foundation Server 的組態資訊是儲存在五個位置中:
網際網路資訊服務 (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 之間的群組識別身分
在 Team Foundation Server 執行於 Active Directory 網域的部署中,在發生下列任一事件時,會同步 (Synchronize) 群組和識別身分資訊:
啟動 Team Foundation 的應用程式層伺服器。
將 Active Directory 群組加入至 Team Foundation Server 的群組。
已超過 web.config 檔中指定的時間量 (預設值為 1 個小時)。
Active Directory 會先與 Generic Security Services (GSS) 同步,然後 Generic Security Services (GSS) 會與 Team Foundation Server 同步。而變更的識別身分會從伺服器傳送到用戶端。視 web.config 檔中設定的同步處理間隔以及群組和使用者的變更本質而定,可能需要一點時間讓 Active Directory 使用者和群組的變更反映在 Team Foundation Server 中。
群組和使用權限
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 之間的通訊會使用下列清單中的通訊協定和通訊埠。如果通訊埠編號後面有星號 (*),則表示可以自訂該通訊埠。
服務和層級 |
通訊協定 |
Port |
---|---|---|
應用程式層 - Web 服務 |
HTTP |
8080 |
應用程式層 - Windows SharePoint Services 管理 |
HTTP |
17012* (如果與 Team Foundation Server 一起安裝);否則會隨機產生 |
應用程式層 - Windows SharePoint Services 和 SQL Reporting Services |
HTTP |
80 |
組建電腦 - 從 Team Foundation 應用程式層伺服器遠端存取 |
SOAP over HTTP |
9191* |
資料層 |
MS-SQL TCP |
1443* |
Team Foundation Server Proxy:用戶端到 Proxy |
HTTP |
8081* |
Team Foundation Server Proxy:Proxy 到應用程式層 |
HTTP |
8080* |
用戶層 - Reporting Services |
HTTP |
80 |
用戶層 - Web 服務 |
HTTP |
8080* |
可自訂的網路設定
您可以修改 Team Foundation Server 以使用一些自訂通訊埠,也可以變更應用程式層、資料層與用戶層之間的通訊,如上表所述。例如,下表描述將通訊埠從 HTTP 變更為 HTTPS。
注意事項: |
---|
將 Team Foundation Server 設定為使用 HTTPS 和 SSL 是一項複雜的工作,不僅僅是啟用通訊埠以處理 HTTPS 網路流量而已。如需詳細資訊,請參閱使用 HTTPS 和 Secure Sockets Layer (SSL) 保護 Team Foundation Server。 |
服務和層級 |
通訊協定 |
Port |
---|---|---|
應用程式層 - 使用 SSL 的 Web 服務 |
HTTPS |
由系統管理員進行設定 |
應用程式層 - Windows SharePoint Services 管理 |
HTTPS |
由系統管理員進行設定 |
應用程式層 - Windows SharePoint Services 和 SQL Reporting Services |
HTTPS |
443 |
用戶層 - Reporting Services |
HTTPS |
443 |
用戶層 - Web 服務 |
HTTPS |
由系統管理員進行設定 |