Azure Resource Manager サービス接続の特殊なケース

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

Azure Resource Manager サービス接続に推奨されるオプションは、アプリの登録またはマネージド ID と共にワークロード ID フェデレーションを使用することですが、代わりにエージェント割り当てマネージド ID または発行プロファイルの使用が必要になる場合もあります。 この記事では、Azure 仮想マシン上のセルフホステッド エージェントに接続する Azure Resource Manager サービス接続の作成方法と、発行プロファイルを使用してAzure アプリ サービス アプリへのサービス接続を作成する方法について説明します。

Azure Resource Manager を使用して、Azure Government Cloud と Azure Stack に接続することもできます。

マネージド ID を使用する VM への Azure Resource Manager サービス接続を作成する

Note

マネージド ID を使用して認証するには、Azure 仮想マシン (VM) 上でセルフホステッド エージェントを使用する必要があります。

Microsoft Entra ID の Azure マネージド IDを使用するように Azure VM 上のセルフホステッド エージェントを構成できます。 このシナリオでは、エージェント割り当てマネージド ID を使用して、Microsoft Entra ID をサポートする任意の Azure リソース (Azure Key Vault のインスタンスなど) へのアクセス権をエージェントに付与します。

  1. Azure DevOps プロジェクトで、 プロジェクト設定 > サービスに移動します。

    詳細については、. プロジェクト設定を開くを参照してください。

  2. [新しいサービス接続] を選択し、次に [Azure Resource Manager] を選択します。

    サービス接続の種類を選択する様子を示すスクリーンショット。

  3. ID の種類として [マネージド ID (エージェント割り当て)] を選択します 。

  4. [環境] では、環境名 (Azure CloudAzure Stack、または Government クラウド オプション) を選択します。

  5. [スコープ レベル] を選択します。 [サブスクリプション][管理グループ]、または [Machine Learning ワークスペース] を選択します。 管理グループは、複数のサブスクリプションのアクセス、ポリシー、コンプライアンスを管理するのに役立つコンテナーです。 Machine Learning ワークスペースは機械学習アーティファクトを作成するための場所です。

    • [サブスクリプション] スコープに次のパラメーターを入力します。

      パラメーター 説明
      サブスクリプション ID 必須。 Azure サブスクリプション ID を入力します。
      サブスクリプション名 必須。 Azure サブスクリプション名を入力します。
    • [管理グループ] スコープに次のパラメーターを入力します。

      パラメーター 説明
      管理グループ ID 必須。 Azure 管理グループ ID を入力します。
      管理グループ名 必須。 Azure 管理グループ名を入力します。
    • [Machine Learning ワークスペース] スコープに次のパラメーターを入力します。

      パラメーター 説明
      サブスクリプション ID 必須。 Azure サブスクリプション ID を入力します。
      サブスクリプション名 必須。 Azure サブスクリプション名を入力します。
      リソース グループ 必須。 ワークスペースを含むリソース グループを選択します。
      ML ワークスペース名 必須。 既存の Azure Machine Learning ワークスペースの名前を入力します。
      ML ワークスペースの場所 必須。 既存の Azure Machine Learning ワークスペースの場所を入力します。
  6. [テナント ID] を入力します。

  7. [Service connection name] (サービス接続名) を入力します。

  8. 必要に応じて、サービス接続の説明を入力します。

  9. [すべてのパイプラインにアクセス許可を付与する] をオンにし、すべてのパイプラインがこのサービス接続を使用できるようにします。 このオプションを選択しない場合は、このサービス接続を使用する各パイプラインへのアクセス権を手動で付与する必要があります。

  10. [保存] を選択します。

  11. 新しいサービス接続が作成されたら、次の手順に従います。

    • UI でサービス接続を使用する場合は、パイプラインのAzure サブスクリプション設定で割り当てた接続名を選択します。
    • YAML ファイルでサービス接続を使用する場合は、接続名を azureSubscriptionの値としてコードにコピーします。
  12. VM (エージェント) に適切なアクセス許可があることを確認します。

    たとえば、コードで Azure 資源管理者を呼び出す必要がある場合は、Microsoft Entra ID のロールベースのアクセス制御 (RBAC) を使用して、VM に適切なロールを割り当てます。

    詳細については、Azure リソースの管理された ID をどのように使用できますか?、および Azure サブスクリプションのリソースへのアクセスを管理するためのロールベースのアクセス制御の使用を参照してください。

プロセスの詳細については、Azure Resource Manager サービス接続のトラブルシューティングを参照してください。

発行プロファイルを使用して Azure Resource Manager サービス接続を作成する

発行プロファイルを使用してサービス接続を作成できます。 発行プロファイルを使用して、Azure App Service へのサービス接続を作成できます。

  1. Azure DevOps プロジェクトで、 プロジェクト設定 > サービスに移動します。

    詳細については、. プロジェクト設定を開くを参照してください。

  2. [新しいサービス接続][Azure Resource Manager][次へ] の順に選択します。

    Azure Resource Manager の選択のスクリーンショット。

  3. ID の種類として [発行プロファイル] を選択します。

  4. 次のパラメーターを入力します。

    パラメーター 説明
    サブスクリプション 必須。 既存の Azure サブスクリプションを選択します。 Azure サブスクリプションまたはインスタンスが表示されない場合は、「Azure資源管理者サービス接続のトラブルシューティング」を参照してください。
    WebApp 必須。 Azure App Service アプリの名前を入力します。
    サービス接続名 必須。 タスクのプロパティでこのサービス接続を参照するために使用する名前。 Azure サブスクリプションの名前ではありません。
    説明 省略可。 サービス接続の説明。
  5. [すべてのパイプラインにアクセス許可を付与する] をオンにし、すべてのパイプラインがこのサービス接続を使用できるようにします。 このオプションを選択しない場合は、このサービス接続を使用する各パイプラインへのアクセス権を手動で付与する必要があります。

  6. [保存] を選択します。

新しいサービス接続が作成されたら、次の手順に従います。

  • UI でサービス接続を使用する場合は、パイプラインのAzure サブスクリプション設定で割り当てた接続名を選択します。
  • YAML ファイルでサービス接続を使用する場合は、接続名をコピーし、azureSubscriptionの値としてコードに貼り付けます。

Azure Government クラウドに接続する

Azure Government Cloud への接続については、「Azure Pipelines から接続する (Azure Government Cloud)」を参照してください。

Azure Stack への接続

Azure Stack への接続については、次の記事を参照してください:

詳細については、Azure Resource Manager サービス接続のトラブルシューティングを参照してください。

ヘルプとサポート