Team Foundation Server におけるサービス アカウントと依存関係

TFS のすべての配置で使用され、すべての配置が依存するサービスと各種サービス アカウントについて理解しておくと、Visual Studio Team Foundation Server (TFS) の管理に役立ちます。 TFS のインストールおよび構成方法に応じて、これらのサービスおよびサービス アカウントは、1 つのコンピューターですべて実行されることも、複数のコンピューターで実行されることもあります。 これにより、配置管理の特定の要素が変更されます。 たとえば、配置におけるサーバー側のコンポーネントが複数のコンピューター上で実行されている場合は、配置で使用するサービス アカウントに、正常に機能するために必要なアクセスおよびアクセス許可が与えられていることを確認する必要があります。

Team Foundation Server のサービスとサービス アカウントは、配置内の次のコンピューターで実行されます。

  • Team Foundation Server の 1 つ以上のデータベースをホストする任意のサーバー

  • Team Foundation のアプリケーション層のコンポーネントをホストする任意のサーバー

  • Team Foundation Server Proxy を実行している任意のコンピューター

  • 任意のビルド コンピューター

  • 任意のテスト コンピューター

  • Visual Studio Lab Management の 1 つ以上のコンポーネントを実行している任意のコンピューター

各種の TFS の機能は、さまざまな方法でインストールして配置することができます。配置において機能を分散することで、どのサービスとサービス アカウントがどの物理コンピューターで実行するかを決定します。 また、ソフトウェア プログラムを TFS と連携して動作するように構成している場合、そのプログラムのサービス アカウント (SharePoint 製品 や SQL Server のサービス アカウントなど) の管理も必要になることがあります。

Team Foundation Server のサービス アカウント

TFS で使用されるサービス アカウントは複数ありますが、それらの大部分またはすべてに同じドメイン アカウントまたはワークグループ アカウントを使用できます。 たとえば、Team Foundation Server のサービス アカウント(TFSService) と SQL Server Reporting Services のデータ ソース アカウント (TFSReports) の両方に、同じドメイン アカウント "Contoso\Example" を使用できます。 ただし、各種サービス アカウントで必要となるアクセス許可レベルは異なる場合があります。 たとえば、TFSService には [サービスとしてログオン] のアクセス許可が必要であり、TFSReports には [ローカル ログオンを許可する] のアクセス許可が必要です。 両方に同じアカウント "Contoso\Example" を使用する場合、そのアカウントにはこれら両方のアクセス許可を付与する必要があります。 また、TFSService を正しく動作させるには、TFSReports よりもはるかに多くのアクセス許可が必要になります。詳細については、このトピックの後半の表を参照してください。 セキュリティ上の理由で、これらの 2 つのサービス アカウントには別々のアカウントを使用することを検討してください。

重要

Team Foundation Server のインストールに使用したアカウントは、これらのサービス アカウントのどちらのアカウントとしても使用しないでください。

Team Foundation Server を Active Directory ドメインに配置した場合は、サービス アカウントに対して [アカウントは重要なので委任できない] オプションを設定する必要があります。 たとえば、このオプションは、次の表に示す TFSService に対して設定する必要があります。 Team Foundation Server のドキュメントで使用されている必須のサービス アカウントおよびプレースホルダー名の詳細については、Team Foundation のインストール ガイドの「Team Foundation Server のインストールに必要なアカウント」を参照してください。 Active Directory でアカウント委任を制限する方法の詳細については、Microsoft Web サイトの「委任認証の有効化」を参照してください。

複数のサービス アカウントを管理する必要があるため、各サービス アカウントは、このトピックの後半の表に示すように、それぞれの機能を示すプレースホルダー名で参照されます。 プレースホルダー名は、各サービス アカウントに使用するアカウントの実際の名前ではありません。 アカウントの実際の名前は、配置によって異なります。 前の例では、TFSService と TFSReports の両方に使用されていたアカウントは "Contoso\Example" でした。独自の配置においては、"TFSService" と "TFSReports" の固有名を持つドメイン アカウントを作成することも、Team Foundation Server のサービス アカウントとして Network Service システム アカウントを使用することもできます。

重要

特に記載がない限り、次の表に示すグループまたはアカウントは、Team Foundation Server の配置に含まれるどのサーバーにおいても Administrators グループのメンバーにしないでください。

TFS の配置で使用できるすべてのサービス アカウントを次の表に示します。

サービス アカウント

プレースホルダー名と使用できるアカウントの種類

必要なアクセス許可とグループ メンバーシップ

メモ

Team Foundation Server のサービス アカウント

TFSService (ローカル アカウント、ドメイン アカウント、ワークグループのローカル サービス、またはドメインのネットワーク サービス)

  • アプリケーション層サーバーでの "サービスとしてログオン" のアクセス許可

  • Team Foundation Server で使用される SharePoint Web アプリケーションの "Farm Administrators" グループ1 

  • TFSExecRole、またはこのロールがデータベースに存在しない場合は、Team Foundation Server で使用される任意のデータベースに対する次のロールの組み合わせ

    • db_owner

    • db_create

このサービス アカウントは、Team Foundation Server のすべての Web サービスに対して使用されます。 このアカウントにドメイン アカウントを使用する場合は、配置全体のすべてのコンピューターで完全に信頼されているドメインのメンバーにする必要があります。

SQL Server Reporting Services のデータ ソース アカウント

TFSReports (ローカル アカウント、ドメイン アカウント、またはワークグループのローカル サービス)

  • アプリケーション層サーバーおよび SQL Server Reporting Services を実行しているサーバーでの "ローカル ログオンを許可する" アクセス許可

  • レポート サーバーでの TFSWareHouseDataReader

このサービス アカウントは、Reporting Services からレポートのデータを取得します。

Team Foundation ビルド のサービス アカウント

TFSBuild (ローカル アカウント、ドメイン アカウント、またはワークグループのローカル サービス)

サービスとしてログオン

このサービス アカウントは、ビルドの構成時、およびビルド コントローラーとビルド エージェントの間でビルド状態情報がやり取りされるときに使用されます。

Lab Management のサービス アカウント

TFSLab (ローカル アカウント、ドメイン アカウント、ワークグループのローカル サービス、またはドメインのネットワーク サービス)

サービスとしてログオン

このサービス アカウントは、Lab Management と、仮想マシンを実行しているラボ エージェントの間で Team Foundation Server に関する情報がやり取りされるときに使用されます。

Team Foundation Server Proxy のサービス アカウント

TFSProxy (ローカル アカウント、ドメイン アカウント、ワークグループのローカル サービス、またはドメインのネットワーク サービス)

サービスとしてログオン

このサービス アカウントは、すべてのプロキシ サービスに対して使用されます。 このアカウントにドメイン アカウントを使用する場合は、配置全体のすべてのコンピューターで完全に信頼されているドメインのメンバーにする必要があります。

テスト エージェントおよびテスト エージェント コントローラーのサービス アカウント

TFSTest (ローカル アカウント、ドメイン アカウント、またはドメインのネットワーク サービス)。

サービスとしてログオン

このサービス アカウントは、テスト エージェント コントローラーとテスト エージェントの間でテストに関する情報がやり取りされるときに使用されます。

SharePoint Web アプリケーションのサービス アカウント

WebAppService

ローカル ログオンを許可する

Team Foundation Server で使用するように構成している SharePoint Web アプリケーションごとに少なくとも 1 つのサービス アカウントを追加する必要があります。 このサービス アカウントは、チーム プロジェクト ポータルを作成したり、ダッシュボード機能を有効にしたりするために使用されます。

Visual Studio Online のサービス アカウント

アカウント サービス (CollectionName)

なし。 このアカウントは、TFS でホストされた配置を使用している場合にのみ使用されます。 自動的に作成され、Team Web Access の管理ページから表示することができます。

このサービス アカウントは Visual Studio Online でコレクションを作成すると自動作成され、クライアントがホストされているサービスと通信する際に使用されます。

1 このアクセス許可がなくても配置に SharePoint 製品を統合できますが、サービス アカウントがファーム管理者グループのメンバーでない場合は、追加の手順を実行する必要があります。 詳細については、「Integrate with SharePoint Products Without Administrative Permissions」を参照してください。

サービス アカウントで実行されるサービス

Team Foundation Server の配置の各サービス アカウントでは、次のサービスが実行されます。

サービス名

サービス アカウント

論理層

コード カバレッジ サービス

TFSService

アプリケーション層

Team Foundation Server Web サービス

TFSService

アプリケーション層

SQL Server Reporting Services (MSSQLSERVER、または InstanceName (名前付きインスタンスを使用している場合))

ローカル システムまたはドメイン アカウント

アプリケーション層

レポート Web サービス

ローカル システム、ネットワーク サービス、またはドメイン アカウント

アプリケーション層

SharePoint 管理 (SharePoint 製品 で使用するように Team Foundation Server をインストールして構成している場合)

ローカル システム、ネットワーク サービス、またはドメイン アカウント

アプリケーション層

SharePoint Timer (SharePoint 製品 で使用するように Team Foundation Server をインストールして構成している場合)

ドメイン アカウント

アプリケーション層

Visual Studio Team Foundation ビルド サービス ホスト (Team Foundation ビルドをインストールしている場合)

TFSBuild

ビルド コンピューター

Visual Studio Team Foundation Background Job Agent

TFSService

アプリケーション層

Visual Studio Test Controller

TFSTest

任意のコンピューター

Visual Studio Test Agent

TFSTest

テスト コンピューター

分析サーバー (MSSQLSERVER、または InstanceName (名前付きインスタンスを使用している場合))

ローカル システムまたはドメイン アカウント

データ層

SQL Server Browser

ローカル サービスまたはドメイン アカウント

データ層

SQL Server (MSSQLSERVER、または InstanceName (名前付きインスタンスを使用している場合))

ローカル システム、ネットワーク サービス、またはドメイン アカウント

データ層

SQL Server エージェント (MSSQLSERVER、または InstanceName (名前付きインスタンスを使用している場合))

ローカル システム、ネットワーク サービス、またはドメイン アカウント

データ層

アカウント サービス (CollectionName)

自動

Web 層 (Visual Studio Online のみ)

SQL Server のサービス アカウントの詳細については、Microsoft Web サイトのページ「SQL Server 2014 オンライン ブック」を参照してください。 Team Foundation のサービス アカウントの最新詳細については、「Team Foundation Server インストール ガイド」を参照してください。

注意

Team Foundation ビルドのサービス アカウントを変更する場合は、新しいサービス アカウントがビルド サービス グループのメンバーであることを確認する必要があります。また、そのアカウントに一時フォルダーおよび ASP.NET 一時フォルダーへの読み取り/書き込みアクセス許可が付与されていることも確認してください。同様に、Team Foundation Server Proxy サービスを変更する場合は、アカウントが適切なグループのメンバーであることを確認する必要があります。詳細については、「Setting Up a Build Computer」を参照してください。

Q & A

Q: サービス アカウントはアクセス レベルのグループに割り当てられているのでしょうか。

A: 既定では、サービス アカウントは既定のアクセス レベルに追加されます。 利害関係者を既定のアクセス レベにするには、基本グループまたは上級グループに TFS サービス アカウントを追加する必要があります。

Q: サービス アカウントにはライセンスが必要ですか。

A: いいえ。 サービス アカウントに個別のライセンスは必要ありません。

Q: サービス アカウントのパスワードやアカウントを変更するにはどのようにすればよいでしょうか。

A: 次のトピックを参照してください。