サービス接続の管理

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure Pipelines から外部およびリモート サービスへの接続を作成し、ジョブのタスクを実行できます。 接続を確立したら、サービス接続の表示、編集、セキュリティの追加を行うことができます。

たとえば、次のいずれかのカテゴリとそのサービスに接続するとします。

  • Microsoft Azure サブスクリプション: Microsoft Azure サブスクリプションを含むサービス接続を作成し、リリース パイプラインの Azure Web サイト配置タスクでサービス接続の名前を使用します。
  • 異なるビルド サーバーまたはファイル サーバー: GitHub リポジトリに対する標準の GitHub Enterprise サーバー サービス接続を作成します。
  • オンライン継続的インテグレーション環境: Git リポジトリの継続的インテグレーションのために Jenkins サービス接続を作成します。
  • リモート コンピューターにインストールされているサービス: マネージド サービス ID を使用して VM への Azure Resource Manager サービス接続を作成します。

ヒント

Azure Resource Manager サービス接続は、サービス接続の 1 つの例です。 詳細については、「一般的なサービス接続の種類」を参照してください。

前提条件

割り当てられたユーザー ロールに基づいて、サービス接続を作成、表示、使用、および管理できます。 詳細については、「ユーザーのアクセス許可」を参照してください。

サービス接続を作成する

Azure Pipelines のサービス接続を作成するには、次のステップを実行します。

  1. 組織 (https://dev.azure.com/{yourorganization}) にサインインし、プロジェクトを選択します。

  2. [プロジェクトの設定]>[サービス接続] を選択します。

  3. [+ 新しいサービス接続] を選択し、必要なサービス接続の種類を選択してから、[次へ] を選択します。

  4. 認証方法を選択し、[次へ] を選択します。

  5. サービス接続のパラメーターを入力します。 パラメーターの一覧は、サービス接続の種類ごとに異なります。 詳細については、サービス接続の種類と関連パラメーターの一覧に関する記事を参照してください。

  6. [保存] を選択して接続を作成します。

    Azure Resource Manager 接続ダイアログ

  7. 接続が作成されてパラメーターが入力された後、接続を検証します。 検証リンクでは、入力した情報を使用した外部サービスへの REST 呼び出しが使用され、呼び出しが成功したかどうかが示されます。

注意

新しいサービス接続ウィンドウは、さまざまな種類のサービス接続ごとに表示が異なることやパラメーターが異なることがあります。 サービス接続の各種類については、一般的なサービス接続の種類のパラメーターの一覧を参照してください。

サービス接続を編集する

サービス接続を編集するには、次のステップを実行します。

  1. 組織 (https://dev.azure.com/{yourorganization}) にサインインし、プロジェクトを選択します。

  2. [プロジェクトの設定]>[サービス接続] を選択します。

  3. 編集しようとするサービス接続を選択します。

  4. サービス接続の詳細が表示されている、サービス接続の [概要] タブを参照します。 たとえば、種類、作成者、認証の種類などの詳細を確認できます。 たとえば、トークン、ユーザー名/パスワード、OAuth などです。

    Azure Resource Manager 接続の概要

  5. [概要] タブの隣には [使用履歴] があり、ここにはサービス接続を使用するパイプラインの一覧が表示されます。

    Azure Resource Manager 使用履歴

  6. サービス接続を更新するには、[編集] を選択します。 [承認とチェック][セキュリティ]、および [削除] が、右上隅に他のオプションと一緒に含まれています。

    Azure Resource Manager のその他のオプション

サービス接続をセキュリティで保護する

サービス接続のセキュリティを管理するには、次のステップを実行します。

  1. 組織 (https://dev.azure.com/{yourorganization}) にサインインし、プロジェクトを選択します。

  2. [プロジェクトの設定]>[サービス接続] を選択します。

  3. 編集しようとするサービス接続を強調表示します。

  4. 右上隅にあるその他のオプションに移動し、[セキュリティ] を選択します。

    サービス接続のハブのセキュリティ

使用パターンに基づいて、サービス接続セキュリティは次のカテゴリに分類されます。 必要に応じてアクセス許可を編集します。

ユーザーのアクセス許可

ユーザー ロールを使用して、サービス接続を作成、表示、使用、管理できるユーザーを制御します。 [プロジェクト設定]>[サービス接続] で、継承されるハブ レベルのアクセス許可を設定できます。 各サービス接続のロールをオーバーライドすることもできます。

サービス接続に対するロール 目的
Creator このロールのメンバーは、プロジェクトでサービス接続を作成できます。 共同作成者は既定でメンバーとして追加されます
Reader このロールのメンバーはサービス接続を表示できます。
User このロールのメンバーは、ビルド パイプラインまたはリリース パイプラインの作成時、または yaml パイプラインの承認時にサービス接続を使用できます。
管理者 このロールのメンバーは、サービス接続を使用でき、プロジェクトのサービス接続に関する他のすべてのロールのメンバーシップを管理できます。 プロジェクト管理者は既定でメンバーとして追加されます。

注意

以前は、エンドポイント作成者グループおよびエンドポイント管理者グループを使用して、サービス接続を作成して管理できるユーザーを制御していました。 純粋な RBAC モデルに移行しましたが、ここではユーザー ロールが使用されます。 既存のプロジェクトの下位互換性のために、現在、エンドポイント管理者グループが管理者ロール、エンドポイント作成者グループが作成者ロールになり、これにより既存のサービス接続の動作に変化はありません。

また、プロジェクト間でのサービス接続の共有も導入されています。 この機能により、サービス接続は組織レベルのオブジェクトになりますが、既定では現在のプロジェクトにスコープが設定されます。 [ユーザーのアクセス許可] で、プロジェクト レベルと組織レベルのアクセス許可を確認できます。 管理者ロールの機能は、2 つのアクセス許可レベルに分割されます。

プロジェクト レベルのアクセス許可

プロジェクト レベルのアクセス許可とは、前述したように、プロジェクト スコープ内での閲覧者、ユーザー、作成者、管理者のロールを持つユーザーのアクセス許可です。 継承があり、ハブ レベルおよび各サービス接続でロールを設定できます。

プロジェクト レベルの管理者は、次のタスクを実行できます。

  • プロジェクト レベルで他のユーザーとロールを管理します
  • サービス接続の名前を変更し、説明を更新します
  • サービス接続を削除します (プロジェクトからサービス接続が削除されます)

Azure Resource Manager プロジェクトのセキュリティ

サービス接続を作成したユーザーは、そのサービス接続の管理者ロールに自動的に追加されます。 継承が有効になっている場合、ハブ レベルで管理者ロールが割り当てられたユーザーとグループは継承されます。

組織レベルのアクセス許可

組織レベルで設定されたアクセス許可は、サービス接続が共有されているすべてのプロジェクトに反映されます。 組織レベルのアクセス許可の継承はありません。

組織レベルの管理者は、次の管理タスクを実行できます。

  • 組織レベルのユーザーを管理します
  • サービス接続のすべてのフィールドを編集します
  • 他のプロジェクトとのサービス接続の共有および共有解除を行います

Azure Resource Manager 組織のセキュリティ

サービス接続を作成したユーザーは、そのサービス接続の組織レベルの管理者ロールとして自動的に追加されます。 既存のすべてのサービス接続で、接続の管理者は組織レベルの管理者になります。

パイプラインのアクセス許可

パイプラインのアクセス許可では、サービス接続を使用する権限を持つ YAML パイプラインを制御します。 パイプラインのアクセス許可では、クラシック パイプラインからのアクセスは制限されません。

次のオプションから選択できます。

  • サービス接続の [セキュリティ] タブの [パイプラインのアクセス許可] セクションの右上隅にあるその他のオプションで、サービス接続を利用するすべてのパイプラインのアクセスを開きます。

  • サービス接続をロックダウンし、選択した YAML パイプラインのみがサービス接続を利用できるようにします。 他の YAML パイプラインがサービス接続を参照する場合、承認要求が発生します。これは、接続管理者によって承認される必要があります。 これにより、クラシック パイプラインからのアクセスは制限されません。

Azure Resource Manager パイプラインのアクセス許可

プロジェクトのアクセス許可 - サービス接続のプロジェクト間共有

プロジェクトのアクセス許可によって、サービス接続を使用できるプロジェクトが制御されます。 既定では、サービス接続は他のプロジェクトと共有されません。

  • [ユーザーのアクセス許可] の組織レベル管理者のみが、他のプロジェクトとサービス接続を共有できます。
  • プロジェクトとサービス接続を共有するユーザーには、ターゲット プロジェクトにサービス接続を作成するためのアクセス許可が少なくとも必要です。
  • プロジェクトとサービス接続を共有するユーザーは、そのサービス接続のプロジェクト レベルの管理者になります。 プロジェクト レベルの継承は、ターゲット プロジェクトで "オン" に設定されます。
  • サービス接続名にプロジェクト名が付加されます。この名前はターゲット プロジェクト スコープで変更できます。
  • 組織レベルの管理者は、どの共有プロジェクトからもサービス接続の共有を解除できます。

Azure Resource Manager プロジェクトのアクセス許可

注意

プロジェクトのアクセス許可の機能は、新しいサービス接続の UI に応じて異なります。 この機能を有効にすると、古いサービス接続 UI は使用できなくなります。

サービス接続を使用する

いったんサービス接続を作成したら、次のステップを実行して使用します。

  1. 接続名を azureSubscription (または同等の接続名) の値としてコードに追加します。

YAML を使用している場合。

  1. 次のいずれかの手法を使用してサービス接続を承認します。
  • 任意のパイプラインでサービス接続を使用することを承認するには、[Azure Pipelines] に移動し、 [設定] ページを開きます。 [サービス接続] を選択し、接続の [この接続の使用をすべてのパイプラインに許可します] オプションを有効にします。

  • 特定のパイプラインのサービス接続を承認するには、[編集] を選択し、ビルドを手動でキューに追加することでパイプラインを開きます。 リソース承認エラーと、エラーに対する [リソースの承認] アクションが表示されます。 このアクションを選択して、サービス接続の承認済みユーザーとしてパイプラインを明示的に追加します。

独自のカスタム サービス接続を作成することもできます。

一般的なサービス接続の種類

Azure Pipelines では、既定で次のサービス接続の種類がサポートされています。

Azure クラシック | Azure Repos/TFS | Azure Resource Manager | Azure Service Bus | Bitbucket | Cargo | Chef | Docker Hub またはその他 | その他の Git | 汎用 | GitHub | GitHub Enterprise サーバー | Jenkins | Kubernetes | Maven | npm | NuGet | Python パッケージ ダウンロード | Python パッケージ アップロード | Service Fabric | SSH | Subversion | Visual Studio App Center |

Azure クラシック サービス接続

次のパラメーターを使用し、Microsoft Azure サブスクリプションへの接続を定義し、Azure 資格情報または Azure 管理証明書を使用してセキュリティで保護します。

新しいサービス接続を作成する方法

パラメーター 説明
[認証の種類] 必須です。 [資格情報] または [証明書ベース] を選択します。
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
環境 必須。 サブスクリプションが定義されている、[Azure Cloud][Azure Stack]、または定義済みの Azure Government クラウドのいずれかを選択します。
サブスクリプション ID 必須です。 Azure サブスクリプションの GUID などの識別子 (サブスクリプション名ではありません)。 サブスクリプション ID は、Azure portal からコピーできます。
サブスクリプション名 必須です。 Microsoft Azure サブスクリプションの名前。
ユーザー名 資格情報の認証に必要です。 職場または学校アカウントのユーザー名 (例: @fabrikam.com))。 Microsoft アカウント (例: @live または @hotmail)) はサポートされていません。
Password 資格情報の認証に必要です。 上記で指定したユーザーのパスワード。
管理証明書 証明書ベースの認証に必要です。 発行の設定の XML ファイルまたは Azure portal から管理証明書キーの値をコピーします。

サブスクリプションが Azure Government クラウドに定義されている場合は、アプリケーションが関連するコンプライアンス要件を満たしていることを確認してから、サービス接続を構成します。

Azure Repos

次のパラメーターを使用し、別の Azure DevOps 組織への接続を定義してセキュリティで保護します。

パラメーター 説明
(認証) [基本] または [Token Based] (トークン ベース) の認証を選択します。
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 これは Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
接続 URL 必須。 TFS またはその他の Azure DevOps 組織の URL。
ユーザー名 基本認証に必要です。 サービスに接続するためのユーザー名。
Password 基本認証に必要です。 指定したユーザー名のパスワード。
個人用アクセス トークン トークン ベースの認証に必要です (TFS 2017 以降と Azure Pipelines のみ)。 サービスでの認証に使用するトークン。 詳細については、こちらを参照してください

[接続の確認] リンクを使用して、接続情報を検証します。

詳細については、「Azure DevOps で個人用アクセス トークンを使用してアクセスを認証する」を参照してください。

Azure Resource Manager サービス接続

次のパラメータを使用して、Microsoft Azure サブスクリプションへの接続を定義し、サービス プリンシパルの認証 (SPA) または Azure マネージド サービス ID を使用してセキュリティで保護します。 ダイアログには、次の 2 つの主なモードがあります。

  • サブスクリプションの自動検出。 このモードでは、Azure Pipelines によって、アクセス権を持つすべてのサブスクリプションとインスタンスを求めるクエリが Azure に対して実行されます。 Azure Pipelines で現在サインインしている資格情報 (Microsoft アカウント、学校または職場アカウントを含む) が使用されます。

使用するサブスクリプションが表示されない場合は、Azure Pipelines からサインアウトし、適切なアカウント資格情報を使用してもう一度サインインします。

  • 手動サブスクリプション パイプライン。 このモードでは、Azure への接続に使用するサービス プリンシパルを指定する必要があります。 サービス プリンシパルによって、接続で使用できるリソースとアクセス レベルが指定されます。

この方法は、Azure Pipelines で現在サインインしている資格情報とは異なる資格情報を使用して Azure アカウントに接続する必要がある場合に使用します。 これはセキュリティを最大化し、アクセスを制限するための便利な方法です。 サービス プリンシパルは 2 年間有効です。

詳細については、「Microsoft Azure に接続する」を参照してください

注意

Azure サブスクリプションまたはインスタンスが表示されない場合、または接続の検証で問題が発生する場合は、「Azure Resource Manager のサービス接続のトラブルシューティング」を参照してください。

Azure Service Bus サービス接続

次のパラメーターを使用し、Microsoft Azure Service Bus キューへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 この名前は Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
Service Bus 接続文字列 Azure Service Bus インスタンスの URL。 詳細については、こちらを参照してください。
Service Bus キュー名 既存の Azure Service Bus キューの名前。

Bitbucket Cloud のサービス接続

[認証付与] で OAuth を使用するか、[基本認証] でユーザー名とパスワードを使用して、Bitbucket Cloud への接続を定義します。 パイプラインが機能し続けるためには、リポジトリへのアクセスがアクティブなままである必要があります。

認証付与

パラメーター 説明
OAuth 構成 必須。 Bitbucket への OAuth 接続。

[基本認証]

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
ユーザー名 必須。 サービスに接続するためのユーザー名。
Password 必須。 指定したユーザー名のパスワード。

Cargo サービス接続

次のパラメーターを使用して、Cargo 成果物リポジトリへの接続を定義してセキュリティで保護します。

パラメーター 説明
認証方法 成果物リポジトリの認証方法として、[基本ユーザー名/パスワード (Azure DevOps PAT を含む)] または [認証値 (crates.io トークンを含む)] を選択します。
リポジトリ URL リポジトリの URL。 crates.io の場合は、https://crates.io を使用します
ユーザー名 エンドポイントに接続するためのユーザー名。 個人用アクセス トークンまたは認証値の認証方法を使用する場合、値は任意にできます。
Password エンドポイントに接続するためのパスワード。 Azure DevOps Services 組織には、個人用アクセス トークンを使用できます。
サービス接続名 サービス接続の名前
説明 サービス接続の説明 (省略可能)

Chef サービス接続

次のパラメーターを使用し、Chef オートメーション サーバーへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
サーバー URL 必須。 Chef オートメーション サーバーの URL。
ノード名 (ユーザー名) 必須。 接続先のノードの名前。 通常、これはユーザー名です。
クライアント キー 必須。 Chef .pem ファイルで指定されたキー。

Docker ホスト サービス接続

次のパラメーターを使用し、Docker ホストへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
サーバー URL 必須。 Docker ホストの URL。
CA 証明書 必須です。 ホストでの認証に使用する信頼された証明機関の証明書。
Certificate 必須。 ホストでの認証に使用するクライアント証明書。
キー 必須。 Docker key.pem ファイルで指定されたキー。

Docker ホストへの接続の保護の詳細については、「Docker デーモン ソケットを保護する」を参照してください。

Docker レジストリ サービス接続

次のパラメーターを使用し、Azure Container Registry または Docker Hub またはその他のコンテナー レジストリへの接続を定義します。

Azure Container Registry

パラメーター 説明
[接続名] 必須。 タスクの入力でこのサービス接続を参照するために使用する名前。
Azure サブスクリプション 必須。 サービス接続の作成に使用されるコンテナー レジストリを含む Azure サブスクリプション。
Azure Container Registry 必須です。 サービス接続の作成に使用される Azure Container Registry。

Docker Hub またはその他

パラメーター 説明
[接続名] 必須。 タスクの入力でこのサービス接続を参照するために使用する名前。
Docker レジストリ 必須。 Docker レジストリの URL。
Docker ID 必須。 Docker アカウント ユーザーの識別子。
Password 必須。 上で指定したアカウント ユーザーのパスワード。 (Docker Hub ではパスワードではなく PAT が必要です。)
電子メール 省略可能。 通知を受信するためのメール アドレス。

その他の Git サービス接続

次のパラメーターを使用し、外部 Git リポジトリ サーバーへの接続を定義してセキュリティで保護します。 GitHub および GitHub Enterprise サーバーには特定のサービス接続があります。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
サーバー URL 必須。 Git リポジトリ サーバーの URL。
Azure Pipelines からこの Git サーバーにアクセスしてみる オンにすると、Azure Pipelines はパイプラインの実行をキューに入れる前にリポジトリへの接続を試みます。 パブリックにアクセスできないリポジトリを操作する場合は、この設定を無効にしてパフォーマンスを向上させることができます。 その他の Git リポジトリにパブリックにアクセスできない場合、CI トリガーは機能しないことに注意してください。 パイプラインの実行は手動またはスケジュールによってのみ開始できます。
ユーザー名 必須。 Git リポジトリ サーバーに接続するためのユーザー名。
パスワード/トークン キー 必須。 指定したユーザー名のパスワードまたはアクセス トークン。

詳細については、「成果物ソース」を参照してください。

汎用サービス接続

次のパラメーターを使用し、種類が汎用であるすべてのサービスまたはアプリケーションへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
サーバー URL 必須です。 サービスの URL。
ユーザー名 省略可能。 サービスに接続するためのユーザー名。
パスワード/トークン キー 省略可能。 指定したユーザー名のパスワードまたはアクセス トークン。

GitHub サービス接続

次のパラメーターを使用し、GitHub リポジトリへの接続を定義します。

ヒント

その他の Git サーバーおよび GitHub Enterprise サーバー接続には特定のサービス接続があります。

パラメーター 説明
認証の選択 必須。 [認証付与] または [個人用アクセス トークン]。 下記の「注意」を参照してください。
トークン 個人用アクセス トークンの承認に必要です。 下記の「注意」を参照してください。
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。

注意

[認証の選択] オプションで [認証付与] を選択した場合、GitHub 署名ページを開くための[承認] ボタンがダイアログに表示されます。 [個人用アクセス トークン] を選択した場合は、[トークン] テキストボックスに貼り付けます。 ダイアログにトークンの推奨スコープ (repo、user、admin:repo_hook) が表示されます。 詳細については、「コマンド ラインで使用するためにアクセス トークンを作成する」を参照してください。その後、次のステップを実行して、GitHub アカウントをプロファイルに登録します。

  1. Azure Pipelines ページの見出しの右側のアカウント名から [ユーザー設定] を開きます。
  2. [個人用アクセス トークン] を選択します。
  3. [追加] を選択し、トークンの作成に必要な情報を入力します。

詳細については、「成果物ソース - バージョン管理」を参照してください。

GitHub Enterprise サーバー サービス接続

次のパラメーターを使用し、GitHub リポジトリへの接続を定義します。

ヒント

その他の Git サーバーおよび標準 GitHub サービス接続には特定のサービス接続があります。

パラメーター 説明
認証の選択 必須。 [個人用アクセス トークン][ユーザー名とパスワード]、または [OAuth2]。 下記の「注意」を参照してください。
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 これは Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
サーバー URL 必須です。 サービスの URL。
信頼されていない TLS/SSL 証明書を受け入れる このオプションを設定すると、証明書を TFS サービス ロールにインストールしたり、エージェントをホストするコンピューターにインストールしたりする代わりに、クライアントが自己署名証明書を受け入れることができます。
トークン 個人用アクセス トークンの承認に必要です。 下記の「注意」を参照してください。
ユーザー名 ユーザー名とパスワードの認証に必要です。 サービスに接続するためのユーザー名。
Password ユーザー名とパスワードの認証に必要です。 指定したユーザー名のパスワード。
OAuth 構成 OAuth2 承認に必要です。 アカウントで指定された OAuth 構成。
GitHub Enterprise サーバー構成 URL URL は OAuth 構成からフェッチされます。

注意

[個人用アクセス トークン] (PAT) を選択した場合は、PAT を [トークン] テキストボックスに貼り付ける必要があります。 ダイアログにトークンの推奨スコープ (repo、user、admin:repo_hook) が表示されます。 詳細については、「コマンド ラインで使用するためにアクセス トークンを作成する」を参照してください。その後、次のステップを実行して、GitHub アカウントをプロファイルに登録します。

  1. Azure Pipelines ページの見出しの右側のアカウント名から [ユーザー設定] を開きます。
  2. [個人用アクセス トークン] を選択します。
  3. [追加] を選択し、トークンの作成に必要な情報を入力します。

Jenkins サービス接続

次のパラメーターを使用し、Jenkins サービスへの接続を定義します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
サーバー URL 必須です。 サービスの URL。
信頼されていない TLS/SSL 証明書を受け入れる このオプションを設定すると、証明書を TFS サービス ロールにインストールしたり、エージェントをホストするコンピューターにインストールしたりする代わりに、クライアントが自己署名証明書を受け入れることができます。
ユーザー名 必須。 サービスに接続するためのユーザー名。
Password 必須。 指定したユーザー名のパスワード。

詳細については、「Azure Pipelines と Jenkins の統合」および「成果物ソース - Jenkins」を参照してください。

Kubernetes サービス接続

次のパラメーターを使用して、Kubernetes クラスターへの接続を定義します。 次のサービス接続オプションから選択します。

  • Azure サブスクリプション
  • サービス アカウント
  • Kubeconfig

Azure サブスクリプション オプション

パラメーター 説明
[接続名] 必須。 タスクの入力でこのサービス接続を参照するために使用する名前。
Azure サブスクリプション 必須です。 サービス接続の作成に使用されるクラスターを含む Azure サブスクリプション。
クラスター Azure Kubernetes Service クラスターの名前。
名前空間 クラスター内の名前空間。

Azure RBAC 対応クラスターの場合、選択した名前空間に ServiceAccount が RoleBinding オブジェクトと共に作成されます。作成された ServiceAccount は、選択した名前空間のみでアクションを実行できます。

Azure RBAC が無効なクラスターの場合、選択した名前空間に ServiceAccount が作成されますが、作成された ServiceAccount にはクラスター全体の (名前空間にまたがる) 特権があります。

注意

このオプションによって、サービス接続作成者が "さまざまな Azure テナント間" へのアクセスを持つすべてのサブスクリプションが一覧表示されます。 他の Azure テナントからのサブスクリプションが表示されない場合は、それらのテナントでの Microsoft Entra アクセス許可を調べてください。

サービス アカウント オプション

パラメーター 説明
[接続名] 必須。 タスクの入力でこのサービス接続を参照するために使用する名前。
サーバー URL 必須です。 クラスターの API サーバー URL。
Secret 配置に使用するサービス アカウントに関連付けられているシークレット

次のコマンドを使用して、サーバー URL をフェッチします。

kubectl config view --minify -o 'jsonpath={.clusters[0].cluster.server}'

次の一連のコマンドを使用して、クラスターに接続して認証するために必要な Secret オブジェクトをフェッチします。

kubectl get serviceAccounts <service-account-name> -n <namespace> -o 'jsonpath={.secrets[*].name}'

次のコマンドで、service-account-secret-name を前のコマンドの出力で置き換えます。

kubectl get secret <service-account-secret-name> -n <namespace> -o json

YAML 形式でフェッチされたシークレット オブジェクトをコピーして [シークレット] テキスト フィールドに貼り付けます。

注意

サービス アカウント オプションを使用する際には、RoleBinding が存在することを確認してください。これによって、editClusterRole のアクセス許可が目的のサービス アカウントに付与されます。 これは、Azure Pipelines がサービス アカウントを使用して、選択した名前空間内にオブジェクトを作成するために必要です。

Kubeconfig オプション

パラメーター 説明
[接続名] 必須。 タスクの入力でこのサービス接続を参照するために使用する名前。
Kubeconfig 必須。 kubeconfig ファイルの内容。
Context クラスターの識別に使用される kubeconfig ファイル内のコンテキスト。

Maven サービス接続

次のパラメーターを使用し、Maven リポジトリへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
レジストリ URL 必須。 Maven リポジトリの URL。
レジストリ ID 必須。 これは、Maven から接続しようとしているリポジトリまたはミラーの ID 要素と一致するサーバーの ID です。
ユーザー名 接続の種類が [ユーザーとパスワード] の場合に必須です。 認証のユーザー名。
Password 接続の種類が [ユーザーとパスワード] の場合に必須です。 そのユーザー名のパスワード。
個人用アクセス トークン 接続の種類が [認証トークン] の場合に必須です。 サービスでの認証に使用するトークン。 詳細については、こちらを参照してください

npm サービス接続

次のパラメーターを使用し、npm サーバーへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
レジストリ URL 必須。 npm サーバーの URL。
ユーザー名 接続の種類が [ユーザーとパスワード] の場合に必須です。 認証のユーザー名。
Password 接続の種類が [ユーザーとパスワード] の場合に必須です。 そのユーザー名のパスワード。
個人用アクセス トークン 接続の種類が [External Azure Pipelines] (外部 Azure Pipelines) の場合は必須です。 サービスでの認証に使用するトークン。 詳細については、こちらを参照してください

NuGet サービス接続

次のパラメーターを使用し、NuGet サーバーへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
フィード URL 必須。 NuGet サーバーの URL。
ApiKey 接続の種類が [ApiKey] の場合に必須です。 認証キー。
個人用アクセス トークン 接続の種類が [External Azure Pipelines] (外部 Azure Pipelines) の場合は必須です。 サービスでの認証に使用するトークン。 詳細については、こちらを参照してください
ユーザー名 接続の種類が [基本認証] の場合に必須です。 認証のユーザー名。
Password 接続の種類が [基本認証] の場合に必須です。 そのユーザー名のパスワード。

NuGet が Azure Artifacts およびその他の NuGet リポジトリで認証するように構成するには、「NuGet 認証」を参照してください。

Python パッケージ ダウンロード サービス接続

次のパラメーターを使用して、Python パッケージをダウンロードするための Python リポジトリへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
ダウンロード用の Python リポジトリ URL 必須。 Python リポジトリの URL。
個人用アクセス トークン 接続の種類が [認証トークン] の場合に必須です。 サービスでの認証に使用するトークン。 詳細については、こちらを参照してください
ユーザー名 接続の種類が [ユーザーとパスワード] の場合に必須です。 認証のユーザー名。
Password 接続の種類が [ユーザーとパスワード] の場合に必須です。 そのユーザー名のパスワード。

Python パッケージ アップロード サービス接続

次のパラメーターを使用して、Python パッケージをアップロードするための Python リポジトリへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
アップロード用の Python リポジトリ URL 必須。 Python リポジトリの URL。
EndpointName 必須です。 Twine のアップロードに使用される一意のリポジトリ名。 スペースと特殊文字は使用できません。
個人用アクセス トークン 接続の種類が [認証トークン] の場合に必須です。 サービスでの認証に使用するトークン。 詳細については、こちらを参照してください
ユーザー名 接続の種類が [ユーザーとパスワード] の場合に必須です。 認証のユーザー名。
Password 接続の種類が [ユーザーとパスワード] の場合に必須です。 そのユーザー名のパスワード。

Service Fabric サービス接続

次のパラメーターを使用し、Service Fabric クラスターへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
クラスター エンドポイント 必須です。 クラスターの TCP エンドポイント。
サーバー証明書の拇印 接続の種類が [証明書ベース] または [Microsoft Entra ID] のときに必須です。
クライアント証明書 接続の種類が [証明書ベース] の場合に必須です。
Password 接続の種類が [証明書ベース] の場合に必須です。 証明書パスワード。
ユーザー名 接続の種類が [Microsoft Entra ID] のときに必須です。 認証のユーザー名。
Password 接続の種類が [Microsoft Entra ID] のときに必須です。 そのユーザー名のパスワード。
Windows セキュリティを使用する 接続の種類が [その他] の場合に必須です。
クラスター SPN 接続の種類が [その他] で、Windows セキュリティを使用している場合に必須です。

SSH サービス接続

次のパラメーターを使用して、リモート ホストへの接続を定義し、Secure Shell (SSH) を使用してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
ホスト名 必須です。 リモート ホスト マシンの名前または IP アドレス。
ポート番号 必須。 接続先のリモート ホスト マシンのポート番号。 既定では、ポート 22 です。
ユーザー名 必須。 リモート ホスト マシンに接続するときに使用するユーザー名。
パスワードまたはパスフレーズ 指定したユーザー名のパスワードまたはパスフレーズ (キーペアを資格情報として使用する場合)。
秘密キー 秘密キー ファイルの内容全体 (この種類の認証を使用している場合)。

詳細については、「SSH タスク」と「SSH によるファイルのコピー」を参照してください。

Subversion サービス接続

次のパラメーターを使用し、Subversion リポジトリへの接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
Server repository URL (サーバー リポジトリ URL) 必須。 リポジトリの URL。
信頼されていない TLS/SSL 証明書を受け入れる このオプションを設定すると、エージェント コンピューターにインストールされている自己署名証明書をクライアントが受け入れることができます。
領域名 省略可能。 ビルド パイプラインまたはリリース パイプラインで複数の資格情報を使用する場合は、このパラメーターを使用して、サービス接続に指定された資格情報を含む領域を指定します。
ユーザー名 必須。 サービスに接続するためのユーザー名。
Password 必須。 指定したユーザー名のパスワード。

Visual Studio App Center サービス接続

次のパラメーターを使用し、Visual Studio App Center への接続を定義してセキュリティで保護します。

パラメーター 説明
[接続名] 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure アカウントまたはサブスクリプションの名前ではありません。 YAML を使用している場合は、スクリプトで azureSubscription または同等サブスクリプション名の値を名前として使用します。
API トークン 必須。 サービスでの認証に使用するトークン。 詳細については、「API ドキュメント」を参照してください。

その他のサービス接続向けの拡張機能

その他のサービス接続の種類とタスクは、拡張機能としてインストールできます。 拡張機能が用意されているサービス接続の例を次に示します。

  • Azure Pipelines 用の TFS 成果物。 TFS マシンに Azure Pipelines から直接アクセスできない場合でも、TFS サービス接続とチーム ビルド (外部) 成果物を介してオンプレミス TFS ビルドを Azure Pipelines に配置します。 詳細については、「外部 TFS」およびこのブログ投稿を参照してください。

  • Azure Pipelines 用の TeamCity 成果物。 この拡張機能では、TeamCity サービス接続を介した TeamCity との統合が提供され、TeamCity で生成される成果物を Azure Pipelines を使用して配置できます。 詳細については、「TeamCity」を参照してください。

  • System Center Virtual Machine Manager (SCVMM) 統合。 SCVMM サーバーに接続して仮想マシンをプロビジョニングし、その上で、チェックポイントの管理、仮想マシン (VM) の起動と停止、PowerShell スクリプトの実行などのアクションを実行します。

  • VMware リソースの配置。 Visual Studio Team Services または TFS から VMware vCenter サーバーに接続してプロビジョニングします。 VMware 仮想マシンの起動、停止、またはスナップショットを行います。

  • Power Platform Build Tools. Microsoft Power Platform Build Tools を使用して、Microsoft Power Platform 上でビルドされたアプリに関連する一般的なビルド タスクや配置タスクを自動化します。 拡張機能をインストールした後、Power Platform サービス接続の種類には次のプロパティが含まれます。

パラメーター 説明
接続名 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。
サーバー URL 必須です。 Power Platform インスタンスの URL。 例: https://contoso.crm4.dynamics.com
テナント ID 必須。 認証対象のテナント ID (Azure portal ではディレクトリ ID とも呼ばれます)。 テナント ID を表示し、アプリケーション ID と関連するクライアント シークレットを構成するスクリプトの詳細については、https://aka.ms/buildtools-spn を参照してください。 アプリケーション ユーザーを CDS で作成することも必要です
アプリケーション ID 必須です。 認証に使用する Azure アプリケーション ID。
Client secret of Application ID (アプリケーション ID のクライアント シークレット) 必須。 ID を証明するために使用される、上記のアプリケーション ID に関連付けられているサービス プリンシパルのクライアント シークレット。

独自のカスタム サービス接続を作成することもできます。

ヘルプとサポート