Team Foundation Server の概念

Visual Studio Team Foundation Server を効率的に展開および管理するには、その機能、および Team Foundation の他のコンポーネントとの通信方法を理解する必要があります。 Team Foundation Server の管理者として、Windows 認証、ネットワーク プロトコルとトラフィック、および Team Foundation Server がインストールされるビジネス ネットワークの構造に精通している必要があります。 また、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 のすべてのデータの主な組織単位。 コレクションには、1 つ以上のチーム プロジェクトを含めることができます。 詳細については、「チーム プロジェクト コレクションの管理」を参照してください。

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

  • Team Foundation Server 管理コンソール: TFS の管理者がリソースの構成と管理を行うための一元的な管理ツール。 詳細については、「TFS リソースの構成と管理」を参照してください。

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

  • SharePoint 製品: チーム プロジェクト ポータルとダッシュ ボードのサポートを提供するソフトウェア。Team Foundation Server の展開の一部として 1 つ以上の SharePoint Web アプリケーションを含めることができます。 これらのアプリケーションのいずれかを含めるには、SharePoint 製品 用の Team Foundation Server 拡張機能をインストールして構成する必要があり、展開内のアクセス許可を設定する必要があります。 詳細については、「プロジェクト ポータルを使用した情報の共有」を参照してください。

  • SQL Server と SQL Server Reporting Services: データ ウェアハウジング用のデータベース プラットフォームと、データの統合、分析、およびレポート ソリューションのビジネス インテリジェンス プラットフォームを提供するソフトウェア。 TFS は SQL Server データベースにデータを保存します。 また、必要に応じて、SQL Server Reporting Services を実行し、チーム プロジェクトのレポートを自動的に生成するサーバーを含めることができます。 詳細については、「TFS のレポート、データ ウェアハウス、および Analysis Services キューブの管理」を参照してください。

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 プロキシを使用しているリモート クライアントの間で、Team Foundation Server のネットワーク トラフィックの受け渡しを許可する必要があります。 既定では、Team Foundation Server は Web サービスの HTTP を使用するように構成されています。 Team Foundation Server が使用するポートとサービス、およびアーキテクチャ内での利用方法の完全な一覧については、「Team Foundation Server のアーキテクチャ」を参照してください。

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 のトポロジの詳細については、「単純なトポロジの例」、「適度なトポロジの例」、「複雑なトポロジの例」、「Understanding Windows SharePoint Services」、および「SQL Server と SQL Server Reporting Services について」を参照してください。

認証

Team Foundation Server のセキュリティが Windows 統合認証と統合され、Windows オペレーティング システムのセキュリティ機能を使用します。Windows 統合認証を使用して、Team Foundation クライアントと TFS 間の接続、論理アプリケーションとデータ層をホストしているサーバー上の Web サービス、およびアプリケーション層サーバーとデータ層サーバー自体の間の接続のためのアカウントを認証することができます。

注意

TFS をインストールした後、クライアントとサーバーの両方の相互認証で Kerberos をサポートするために TFS を構成することができます。

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

承認

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 の有効なユーザーにそのユーザーまたはグループが自動的に追加されるため、特定のアクセス許可が既定で付与されます。 詳細については、「TFS でのユーザーまたはグループの管理」を参照してください。

Team Foundation Server 内での承認のためにアクセス許可を構成するだけでなく、バージョン コントロールと作業項目内での承認が必要となる可能性があります。 これらのアクセス許可をコマンド プロンプトで個別に管理しますが、チーム エクスプローラー のインターフェイスの一部として統合されます。

参照

処理手順

配置への SharePoint 製品の追加

概念

Team Foundation Server のアーキテクチャ

Team Foundation Server のアーキテクチャ

TFS でのユーザーまたはグループの管理

その他の技術情報

SharePoint Products and Technologies and Team Foundation Server