サービス アカウントと依存関係

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Azure DevOps のすべてのデプロイに含まれるサービスといくつかのサービス アカウントと、すべてのデプロイが依存するサービスと複数のサービス アカウントを理解している場合は、Azure DevOps Serverをより適切に管理できます。 Azure DevOps のインストール方法と構成方法によっては、これらのサービスとサービス アカウントはすべて 1 台のコンピューターで実行される場合もあれば、多くのコンピューターで実行される場合もあります。 これにより、配置管理の特定の要素が変更されます。 たとえば、配置におけるサーバー側のコンポーネントが複数のコンピューター上で実行されている場合は、配置で使用するサービス アカウントに、正常に機能するために必要なアクセスおよびアクセス許可が与えられていることを確認する必要があります。

Azure DevOps Serverには、展開内の次のコンピューターで実行されるサービスとサービス アカウントがあります。

  • Azure DevOps Server用に 1 つ以上のデータベースをホストする任意のサーバー
  • Azure DevOps Serverのアプリケーション層のコンポーネントをホストする任意のサーバー
  • プロキシを実行しているコンピューター Azure DevOps Server
  • 任意のビルド コンピューター
  • 任意のテスト コンピューター

さまざまな方法でAzure DevOps Serverのさまざまな機能をインストールして展開できます。 配置された機能によって、どのサービスとサービス アカウントがどの物理コンピューターで実行されるかが決まります。 さらに、SQL Serverのサービス アカウントなど、Azure DevOps Serverで動作するように構成されているソフトウェア プログラムのサービス アカウントを管理することが必要な場合があります。

サービス アカウント

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

重要

これらのサービス アカウントのアカウントとして、Azure DevOps Serverのインストールに使用されたアカウントを使用しないでください。

Azure DevOps Serverを Active Directory ドメインにデプロイした場合は、[アカウントは機密性が高く、サービス アカウントに委任できない] オプションを設定する必要があります。 たとえば、次の表では、 TFSService にそのオプションを設定する必要があります。 Azure DevOps Serverのドキュメントで使用される必須のサービス アカウントとプレースホルダー名の詳細については、Team Foundation のインストール ガイドの「Azure DevOps Serverのインストールに必要なアカウント」を参照してください。 Active Directory でのアカウント委任の詳細については、Microsoft Web サイトの「 Active Directory での機関の委任」のページを参照してください。

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

重要

特に明記されていない限り、次の表に示すグループまたはアカウントは、Azure DevOps Serverの展開内のサーバーの Administrators グループのメンバーである必要があります。

次の表に、Azure DevOps Serverのデプロイで使用できるサービス アカウントの大部分を示します。 ここに記載されていないその他のサービス アカウントについては、「 アクセス許可とグループ、サービス アカウント」を参照してください。

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

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

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

ノート


Azure DevOps Services

Account Service (CollectionName)

[なし] : このアカウントは、Azure DevOps のホストされたデプロイを使用している場合にのみ使用されます。

Azure DevOps Servicesでorganizationを作成すると、自動的に作成されます。 これは、クライアントがホストされたサービスと通信するときに使用され、Web ポータルの管理ページから表示できます。

Azure DevOps Server

TFSService: ローカル アカウント、ドメイン アカウント、ワークグループ内のローカル サービス、またはドメイン内のネットワーク サービスを指定できます

アプリケーション層サーバーでサービスとしてログオンする

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

Team Foundation ビルド

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

サービスとしてログオン

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

SQL Server Reporting Services

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

アプリケーション層サーバーと、レポート サーバー上の TFSWareHouseDataReader SQL Server Reporting Services
実行しているサーバーで、ローカルでログオンを許可する

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

Azure DevOps Server プロキシ

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

サービスとしてログオン

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

テスト エージェントとテスト エージェント コントローラー

TFSTest: ドメイン内のローカル アカウント、ドメイン アカウント、またはネットワーク サービスを指定できます。

サービスとしてログオン

テストに関する情報がテスト エージェント コントローラーとテスト エージェントの間で通信されるときに使用されます。


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

次の表に、オンプレミスの Azure DevOps デプロイのサービス アカウントで実行されるサービスの一覧を示します。

サービス名 サービス アカウント 論理層
コード カバレッジ サービス TFSService アプリケーション層は
Azure DevOps Server Web サービス TFSService アプリケーション層は
SQL Server Reporting Services (名前付きインスタンスを使用している場合は MSSQLSERVER または InstanceName) ローカル システムまたはドメイン アカウント アプリケーション層は
レポート Web サービス ローカル システム、ネットワーク サービス、またはドメイン アカウント アプリケーション層は
Visual Studio Team Foundation Build Service Host (Team Foundation Build がインストールされている場合) TFSBuild ビルド コンピューター
Visual Studio Team Foundation Background Job Agent TFSService アプリケーション層は
Visual Studio Test Controller TFSTest 任意のコンピューター
Visual Studio Test Agent TFSTest テスト コンピューター
Analysis Server (名前付きインスタンスを使用している場合は MSSQLSERVER または InstanceName ) ローカル システムまたはドメイン アカウント データ層
SQL Server Browser ローカル サービスまたはドメイン アカウント データ層
SQL Server (名前付きインスタンスを使用する場合は MSSQLSERVER または InstanceName) ローカル システム、ネットワーク サービス、またはドメイン アカウント データ層
SQL Server エージェント (名前付きインスタンスを使用している場合は MSSQLSERVER または InstanceName) ローカル システム、ネットワーク サービス、またはドメイン アカウント データ層
Account Service (CollectionName) 自動 Web 層 (Azure DevOps Servicesのみ)

SQL Serverのサービス アカウントの詳細については、Microsoft Web サイトの「オンライン ブックのSQL Server」を参照してください。 Azure DevOps Server サービス アカウントに関する最新の情報については、「Azure DevOps をオンプレミスにインストールして構成する」を参照してください。

注意

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

Q & A

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

A: 既定では、サービス アカウントは既定のアクセス レベルに追加されます。 利害関係者を既定のアクセス レベルにする場合は、Azure DevOps Server サービス アカウントを Basic または Advanced グループに追加する必要があります。

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

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

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

A:「サービス アカウントまたはパスワードを変更する」を参照してください