方法: テストおよびワークフローの統合用のサービス アカウントを構成する
アプリケーションのビルド、配置、およびテスト、または仮想環境での自動テストまたは手動テストの実行に Lab Management ワークフローを使用する場合は、ラボ サービス アカウントを構成する必要があります。 ここでは、ラボ サービス アカウントの機能、アクセス許可、および構成について説明します。 この Microsoft Web サイトにもラボ サービス アカウントに関する追加情報が記載されています。
ここでは、ラボ サービス アカウントの機能、アクセス許可、および構成について説明します。 ラボ サービス アカウントの詳細については、Microsoft Web サイトを参照してください。
ラボ サービス アカウント
Lab Management では、テスト エージェントとテスト コントローラー間、およびビルド エージェントと Team Foundation 間の通信にラボ サービス アカウントを使用します。
注意
ラボ サービス アカウントの使用は推奨されますが、必須ではありません。各コンピューター上のローカル アカウントを使用してもかまいません。 ただし、Team Foundation 管理コンソールでラボ サービス アカウントを構成することで、アクセス許可を手動で設定したり、特定のサービス アカウントにエージェントやコントローラーを割り当てたりするために時間を割く必要がなくなります。
ラボ サービス アカウントを使用すると、任意のシステム アカウントでビルド エージェント、テスト エージェント、およびラボ エージェントを実行できます。 ただし、ラボ サービス アカウントを構成した場合、アカウントに自動的に与えられるアクセス許可は、テストエージェントとビルド エージェントがコントローラーと通信するために必要な最低限のセットです。 これらのアクセス許可では、次のような通信ができます。
テスト エージェントは、テスト コントローラーと通信できます。 テスト対応仮想環境では、テスト エージェントはラボ サービス アカウントを使用してテスト コントローラーと通信します。 このアカウントは、テスト エージェントとテスト コントローラー間の通信チャネルとしてのみ使用され、実際にテスト エージェントを実行するためには使用されません。 テスト エージェントは、引き続きテストを実行し、ログを収集します。 テスト エージェントは、テスト エージェント構成ツールを使用したときに構成されたアカウントを使用します。
ビルド エージェントは、Team Foundation Server と通信できます。 ラボ サービス アカウントが自動的に [プロジェクト コレクション ビルド サービス アカウント] グループに追加されます。 ワークフロー対応仮想環境では、ビルド エージェントはラボ サービス アカウントを使用して Team Foundation と通信します。 このアカウントは、ビルド エージェントと Team Foundation 間の通信にのみ使用され、ビルド エージェントを実行するためには使用されません。 ビルド エージェントは、管理コンソールを使用したときに構成されたアカウントを使用します。 ビルド エージェントがローカル コンピューターに対する管理者特権を持つドメインまたはシステム アカウントで実行されることを確認してください。
ヒント
ラボ サービス アカウントを構成しても、ビルドの格納場所に対する読み取りアクセス許可を自動的に与えられるわけではありません。 ビルドの格納場所を読み取ることのできるアカウントに手動でラボ サービス アカウントを追加する必要があります。
ビルド エージェントは、ラボ サービス アカウントを使用してビルドの格納場所にアクセスします。 ラボ ワークフローで使用するビルド エージェントは、ビルドのコンパイルに使用するビルド エージェントと同じアクセス許可では構成されません。 ソース ファイルのコンパイルに使用するビルド エージェントには、ソース管理システム内の読み取りアクセス許可が与えられます。 ラボ ワークフローで使用するビルド エージェントはソース ファイルを読み取る必要がないので、プロジェクト コレクション内のソース管理成果物に対するすべてのアクセス許可が明示的に拒否されます。 ラボ ワークフローのビルド エージェントは、ワークフロー テンプレートで指定された配置スクリプトを実行するためにのみ使用されます。 各配置スクリプトの実行前に、ビルド エージェントは、ラボ サービス アカウントを使用して、現在ログオンしているセッションが格納場所にアクセスするように構成します。 スクリプトが完了すると、ビルド エージェントはその構成を削除します。
サービス アカウントの構成
ラボ サービス アカウントを初めて構成するときは、Team Foundation 管理コンソールを使用してください。 詳細については、「Lab Management の初めての構成」を参照してください。 ラボ サービス アカウントにシステム アカウントを選択した場合は、次のガイドラインに従ってください。
ラボ サービス アカウントは、ドメイン アカウントである必要があります。
ラボ サービス アカウントは、どのコンピューターでも Administrators セキュリティ グループのメンバー以外にする必要があります。 ラボ サービス アカウントのアカウント情報は Team Foundation Server に安全に保管されますが、個々の仮想マシンでは安全に保管されない可能性もあります。
ビルド コントローラー、テスト コントローラー、またはその他の信頼されたサービスのアカウントに使用されるアカウントはサービス アカウントにしないでください。 これらのサービス アカウントは、エージェントよりも多くのアクセス許可を必要とします。
サービス アカウントには制限されたユーザーのアクセス許可を指定してください。
注意
このアカウントのパスワードが変更されたときにテスト機能またはワークフロー機能が使用できなくなるリスクを低減するために、このサービス アカウントに使用する 2 つのアカウントを作成することをお勧めします。
サービス アカウントのパスワードを変更するアクセス許可を持つのはチーム プロジェクト コレクション管理者のみにする必要があります。
チーム プロジェクト コレクションのラボ サービス アカウントを構成したら、Team Foundation 管理コンソールのプロジェクト コレクションの [Lab Management] タブで構成済みのアカウント情報を表示できます。 セキュリティ上の理由により、このサービス アカウントは定期的に変更することをお勧めします。
サービス アカウントは、Team Foundation の管理コンソールを使用して変更できます。 また、コマンド ラインを使用してサービス アカウントを変更することもできます。 コマンド ライン ユーティリティ TFSLabConfig 詳細情報:「TFSLabConfig を使用した Lab Management の構成」を参照してください。
サービスを構成するには、次の手順に従います。
テスト機能およびビルド ワークフロー機能が有効になるようにサービス アカウントを構成するには
Team Foundation 管理コンソールで、[アプリケーション層] の [チーム プロジェクト コレクション] をクリックします。
右側のペインで、プロジェクト コレクションの一覧から適切なチーム プロジェクト コレクションをクリックします。
[Lab Management] タブをクリックし、[サービス アカウントの構成] をクリックします。
サービス アカウントを変更するには、[サービス アカウント] をクリックします。
[サービス アカウント] タブで、[アカウント名] にアカウント名を入力し、[パスワード] にパスワードを入力します。
ユーザー アカウントが有効であることを確認するには、[テスト] をクリックします。
[OK] をクリックします。
注意
このサービス アカウントを変更するときに既存の環境がある場合、これらの環境は自動的に更新されません。 テスト機能とワークフロー機能は、準備が完了していないという状態を示す場合があります。 Microsoft テスト マネージャー の [環境] ビューに表示されるエラー メッセージの [再試行] をクリックすると、新しいユーザー名とパスワードが更新されます。 これで、機能は準備が完了した状態になります。 また、次のコマンド ライン ユーティリティ TFSLabConfig TFSLabConfig UpdateServiceAccountOnDeployedEnvironments コマンド を使用しても、既存のすべての環境を更新できます。 このコマンド ライン ユーティリティは、現在実行中のワークフローやテストなどの操作には影響しません。
サービス アカウントを切り替えるには、次の手順に従います。 これにより、テスト機能またはワークフロー機能が使用できなくなるリスクが低減されます。
テスト機能またはワークフロー機能が使用できなくなるリスクを低減するために 2 つのサービス アカウントを切り替えるには
ドメインに適用するパスワード有効期限ポリシーを見つけます。 この手順では、42 日間という既定値を前提にしています。
Account1 と Account2 という 2 つのアカウントのパスワードの有効期限を 42 日間に設定します。
Account1 をサービス アカウントとして使用します。
21 日 (有効期間の半分) 経過した後、Account2 のパスワードをリセットします。 次に、前の手順を使用して、Account2 がサービス アカウントになるように構成します。
21 日 (有効期間の半分) ごとに、パスワードをリセットし、現在使用されていないアカウントがサービス アカウントになるように構成することによって、手順 4. を繰り返します。
Team Foundation のサービス アカウントを構成または更新した場合、既存の各環境ではアカウントは自動的に更新されません。 更新されたアカウントを既存の環境に反映させるには、次の 2 つのオプションがあります。
コマンド UpdateServiceAccountOnDeployedEnvironments を実行します。これにより、アカウントがプロジェクト コレクション内の各環境にプッシュされます。 このコマンド詳細情報:「TFSLabConfig UpdateServiceAccountOnDeployedEnvironments コマンド」を参照してください。
各環境で次のいずれかの操作を行います。
テスト機能またはワークフロー機能を修復する。
仮想環境を変更する。
環境をスナップショットに復元する。
サービス アカウントの更新には、UpdateServiceAccountOnDeployedEnvironments コマンドを使用することをお勧めします。 このコマンドを使用しても、ワークフローやテスト実行など、どの環境で実行中の操作にも影響しません。 このコマンドを使用すると、アカウントが環境にプッシュされ、エージェントにより次のようにコマンドが適用されます。
テストの実行でビジーになっていないテスト エージェントでは即座に適用されます。
テストを実行しているテスト エージェントでは、テストの実行の完了後に適用されます。
ビルド エージェントでは、ビルド エージェント サービスの再開時に新しいサービス アカウントが適用されます。 エージェント サービスは、ワークフロー機能が修復された場合、環境が開始された場合、または環境のスナップショットが復元された場合に再開されます。
参照
処理手順
概念
Team Foundation 管理コンソールを使用したサーバーの構成