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

由系統管理員進行設定

請參閱

概念

Team Foundation Server 安全性概念

Team Foundation Server 使用權限

其他資源

Team Foundation Server 拓樸