Team Foundation Server のセキュリティのアーキテクチャ
更新 : 2007 年 11 月
Team Foundation Server のセキュリティの分析および計画を行うには、Team Foundation アプリケーション層、Team Foundation データ層、Team Foundation クライアント層、Team Foundation ビルド、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 ビルド オブジェクト モデル
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 サービスは、サードパーティ インテグレータによってプログラミングされることを意図していません。このポリシーの例外の 1 つに、MSBuild の Web サービスがあります。これについては、Visual Studio SDK の Team Foundation Server の機能拡張に関するドキュメントを参照してください。
Team Foundation 共通サービス
登録 Web サービス
セキュリティ Web サービス
リンク Web サービス
イベント Web サービス
分類 Web サービス
バージョン管理 Web サービス
作業項目トラッキング Web サービス
Team Foundation ビルド Web サービス
データ層
Team Foundation のデータ層は、SQL Server 2005 内の次の運営ストアで構成されます。これには、データ、ストアド プロシージャ、および他の関連付けられているロジックが含まれます。一般に、これらの運営ストアは、サードパーティ インテグレータによってプログラミングされることを意図していません。
作業項目トラッキング
バージョン管理
Team Foundation の共有サービス
Team Foundation ビルド
レポート ウェアハウス
クライアント層
クライアント層は、アプリケーション層の説明で示したのと同じ Web サービスを使用して、Team Foundation のアプリケーション層と通信します。ここでは Team Foundation Server のオブジェクト モデルを介して通信します。Team Foundation のクライアント層は、Team Foundation Server のオブジェクト モデルに加えて、VSIP (Visual Studio Industry Partner) のコンポーネント、Microsoft Office 統合、コマンド ライン インターフェイス、および Team Foundation Server との統合とカスタマイズされた統合のためのチェックイン ポリシー フレームワークで構成されています。クライアント層を拡張およびカスタマイズする方法の詳細については、Visual Studio SDK で機能拡張に関するドキュメントを参照してください。
Team Foundation Server の構成情報
Team Foundation Server は SQL Server、SQL Server Reporting Services、インターネット インフォメーション サービス (IIS: Internet Information Services)、Windows オペレーティング システム、および Windows SharePoint Services に依存しているため、Team Foundation Server の構成情報は 5 つの場所に格納されます。
インターネット インフォメーション サービス (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 間でのグループ ID の同期
Team Foundation Server が Active Directory ドメインで実行されている配置では、次のいずれかのイベントが発生したときにグループと ID の情報が同期されます。
Team Foundation のアプリケーション層サーバーが起動される。
Active Directory グループが Team Foundation Server のグループに追加される。
web.config ファイルに指定された時間が経過する (既定値は 1 時間です)。
Active Directory が Generic Security Services (GSS) と同期され、その後、Generic Security Services (GSS) が Team Foundation Server と同期されます。変更後の ID は、サーバーからクライアントへ反映されます。web.config ファイルで構成される同期間隔およびグループやユーザーに加えられた変更によっては、Active Directory のユーザーとグループへの変更が Team Foundation Server に反映されるまでに時間がかかることがあります。
グループとアクセス許可
Team Foundation Server には、独自の既定のグループのセットがあります。また、複数のレベルで設定できるアクセス許可があります。グループまたは個々のレベルで、カスタム グループを作成したりアクセス許可をカスタマイズしたりすることができます。ただし、Team Foundation Server にユーザーまたはグループを追加した場合、そのユーザーまたはグループが、Team Foundation Server が必要とする 2 つのコンポーネント (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 プロキシの間の通信には、次の一覧に示すプロトコルおよびポートが使用されます。ポート番号の後ろにアスタリスク (*) がある場合は、そのポートをカスタマイズできます。
サービスおよび層 |
プロトコル |
ポート |
---|---|---|
アプリケーション層 - 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 : クライアントからプロキシ |
HTTP |
8081* |
Team Foundation Server Proxy : プロキシからアプリケーション層 |
HTTP |
8080* |
クライアント層 - Reporting Services |
HTTP |
80 |
クライアント層 - Web サービス |
HTTP |
8080* |
カスタマイズできるネットワーク設定
Team Foundation Server を変更して、一部のカスタム ポートを使用できます。アプリケーション層、データ層、およびクライアント層の間の通信は、前の表に示すように変更できます。例として、HTTP から HTTPS へのポートの変更を次の表で説明します。
メモ : |
---|
HTTPS および SSL を使用するように Team Foundation Server を構成する作業は複雑です。HTTPS ネットワーク トラフィックのポートを有効にするだけでは完了しません。詳細については、「HTTPS と Secure Sockets Layer (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 のアクセス許可