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 内のすべてのデータの主要組織単位です。 コレクションには、1 つ以上のチーム プロジェクトを含めることができます。 詳細については、「チーム プロジェクト コレクションを使用したサーバーの整理」を参照してください。

  • チーム プロジェクト: 特定のソフトウェア テクノロジや製品を開発する際に必要なチーム アクティビティをチームで共有するために使用される中心点となる場所です。 チーム プロジェクトは、チーム プロジェクト コレクション内に編成されます。 詳細については、「プロジェクトの計画および追跡」を参照してください。

  • Team Foundation 管理コンソール: Team Foundation Server の管理者用の一元管理ツールです。 管理コンソールでは、ユーザーとアクセス許可の管理、チーム プロジェクト コレクションの作成と管理、配置で使用する SharePoint Web アプリケーションの追加と管理、仮想ラボの作成と管理、およびサーバーの状態の確認が可能です。 詳細については、「Team Foundation の管理コンソール」を参照してください。

  • サービス アカウント: Team Foundation の Web サービスとアプリケーションで使用される 1 つ以上のアカウントです。 Team Foundation Server でサーバー間および Web サービス間の操作を実行するには、サービス アカウントが必要になります。 これらのサービス アカウントには、固有の要件があります。 詳細については、「Team Foundation Server におけるサービス アカウントと依存関係」を参照してください。

  • SharePoint 製品: Web ベースのビジネス アプリケーションのコラボレーションおよび開発用にスケーラブルで管理しやすいプラットフォームを提供するソフトウェアです。Team Foundation Server の配置の一部として、1 つ以上の SharePoint Web アプリケーションを組み入れることができます。 これらのアプリケーションのいずれかを組み入れるには、SharePoint 製品対応の Team Foundation Server 拡張機能をインストールおよび構成し、さらに配置全体におけるアクセス許可を構成する必要があります。 詳細については、「配置への SharePoint Web アプリケーションの追加」および「SharePoint 製品と Team Foundation Server」を参照してください。

  • SQL Server および SQL Server Reporting Services: 大規模なオンライン トランザクション処理 (OLTP: Online Transaction Processing)、データ ウェアハウジング、および電子商取引アプリケーション用のデータベース プラットフォームを提供するソフトウェアです。 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 のセキュリティを検討する場合は、認証と承認の違いを理解する必要があります。 認証は、クライアント、サーバー、またはプロセスから実行される接続の試みに対する資格情報の検査です。 承認は、接続を試みている ID がオブジェクトまたはメソッドにアクセスするためのアクセス許可を持っているかどうかの検査です。 承認は、認証が正常に行われた後でのみ発生します。 接続が認証されない場合、承認のチェックを実行する前にエラーが発生します。 接続の認証に成功した段階では、そのユーザーまたはグループは固有の操作を実行する承認を得ていないため、その操作はまだ許可されません。

トポロジ、ポート、およびサービス

Team Foundation Server の配置とセキュリティでは、配置の各コンポーネントが相互に接続して通信できるかどうかが最も重要な要素になります。 目的は、Team Foundation クライアントと Team Foundation Server の間の接続を可能にし、それ以外の接続の試みを制限または阻止することです。

Team Foundation Server は特定のポートとサービスを使用して機能します。 業務上のセキュリティのニーズを満たすために、これらのポートをセキュリティで保護して監視できます。 Team Foundation クライアント、Team Foundation のアプリケーション層とデータ層の論理コンポーネントをホストするサーバー、Team Foundation ビルド用のコンピューター、および Team Foundation Server Proxy を使用しているリモート クライアントの間で Team Foundation Server のネットワーク トラフィックのやり取りを許可する必要があります。 既定では、Team Foundation Server は Web サービスで HTTP を使用するように構成されています。 Team Foundation Server で使用されるすべてのポートとサービスの一覧および Team Foundation Server アーキテクチャ内でそれらを使用する方法については、「Team Foundation Server のアーキテクチャ」を参照してください。

Team Foundation Server は、Active Directory ドメインまたはワークグループに配置できます。 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 のインストール後、クライアントとサーバーの両方の相互認証で Kerberos をサポートするように Team Foundation Server を構成できます。

Team Foundation Server と SharePoint 製品の間の SQL Server データベース接続では、SQL Server 認証を使用するように構成しないでください。この認証は、Windows 認証よりも安全性が劣るためです。 データベースに接続すると、データベース管理者アカウントのユーザー名とパスワードが暗号化されないまま送信されます。 Windows 統合認証では、ユーザー名とパスワードは送信されません。 代わりに、ホストのインターネット インフォメーション サービス (IIS: Internet Information Services) アプリケーション プールに関連付けられたサービス アカウント ID 情報が、Windows 統合認証セキュリティ プロトコルを使用して SQL Server に転送されます。

承認

Team Foundation Server の承認は、Team Foundation のユーザーとグループ、そのユーザーとグループの両方に直接割り当てられているアクセス許可、およびそのユーザーとグループが Team Foundation Server の他のグループに所属することによって継承されるアクセス許可に基づきます。 Team Foundation のユーザーとグループは、ローカル ユーザーとローカル グループ、Active Directory ユーザーと Active Directory グループ、またはその両方の場合があります。

Team Foundation Server では、サーバー レベル、コレクション レベル、およびプロジェクト レベルの既定のグループがあらかじめ構成されています。 これらのグループは、個々のユーザーを追加することにより設定できます。 ただし、Active Directory のセキュリティ グループを使用してグループを設定した方が管理しやすくなる場合があります。 この方法を使用すると、複数のコンピューターまたはアプリケーション (たとえば、SharePoint 製品と SQL Server) にわたるグループ メンバーシップとアクセス許可をより効率的に管理できます。

特定の配置では、複数のコンピューターといくつかのアプリケーションで、ユーザー、グループ、およびアクセス許可を構成することが必要になる場合があります。 たとえば、配置の一部としてレポートおよびプロジェクト ポータルを組み入れる場合、Reporting Services、SharePoint 製品、および Team Foundation Server でユーザーとグループのアクセス許可を構成する必要があります。 Team Foundation Server では、各プロジェクト、各コレクション、および配置全体 (サーバー レベル) を対象としてアクセス許可を設定できます。 また、Team Foundation Server に追加したユーザーまたはグループは自動的に "Team Foundation 有効ユーザー" に追加されるため、これらのユーザーまたはグループには既定で特定のアクセス許可が付与されます。 アクセス許可の構成方法の詳細については、「アクセス許可の管理」を参照してください。 Team Foundation Server のユーザーとグループの詳細については、「ユーザー、グループ、およびアクセス許可の構成」を参照してください。

Team Foundation Server の承認に対するアクセス許可の構成に加えて、バージョン管理項目内および作業項目内で承認が必要になる場合があります。 これらのアクセス許可はコマンド プロンプトで個別に管理しますが、チーム エクスプローラー のインターフェイスにも組み込まれています。

参照

概念

Team Foundation Server のアーキテクチャ

その他の技術情報

アクセス許可の管理

ユーザー、グループ、およびアクセス許可の構成