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

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 サーバー プロキシを実行しているコンピューター
  • 任意のビルド コンピューター
  • 任意のテスト マシン

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

サービス アカウント

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

重要

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

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

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

重要

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

次の表に、Azure DevOps Server のデプロイで使用される可能性があるほとんどのサービス アカウントを示します。 ここに記載されていないその他のサービス アカウントについては、「 Permissions and groups,Service accounts」を参照してください。

サービス アカウント

プレースホルダー名と使用可能なアカウントの種類

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

ノート


Azure DevOps Services

Account Service (CollectionName)

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

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

Azure DevOps Server

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

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

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

Team Foundation ビルド

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

サービスとしてログオン

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

SQL Server Reporting Services

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

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

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

Azure DevOps サーバー プロキシ

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 バックグラウンド ジョブ エージェント 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 のインストールと構成を参照してください。

Note

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

Q & A

Q: サービス アカウントはアクセス レベル グループに割り当てられますか?

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

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

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

Q: サービス アカウントのパスワードまたはアカウントを変更操作方法ですか?

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