azd 拡張機能GitHub Copilot使用して Azure MCP Server にクラウド エージェントを接続する

Azure Developer CLI (azd) 拡張機能 (azure.coding-agent) を使用して、GitHub Copilotクラウド エージェントにマネージド ID を使用したセキュリティで保護されたスコープAzureアクセスを提供します。 拡張機能によってマネージド ID が作成され、フェデレーション資格情報が構成され、リポジトリに GitHub Actions ワークフローが設定されます。

拡張機能をazdに機能を追加する方法については、「拡張機能の概要」を参照してください。

[前提条件]

  • Azure Developer CLI (azd) をインストールします。 インストール手順を参照してください。
  • リソース グループとマネージド ID を作成できる Azure サブスクリプション。
  • Copilotクラウド エージェントに対して有効にするGitHub リポジトリのローカル クローン。
  • リポジトリのアクセス許可:
    • copilot GitHub 環境を更新します。
    • Copilot クラウド エージェントの設定を行います。
    • .github/workflows フォルダーに変更をプッシュします。
  • リポジトリには、フェデレーション資格情報を利用するために必要な構成済みの Git リモートが少なくとも 1 つ含まれていることが必須です。

Copilot クラウド エージェント拡張機能をインストールまたはアップグレードする

  1. 初めてインストールする

    azd extension install azure.coding-agent
    

    最新バージョンにアップグレードする

    azd extension upgrade azure.coding-agent
    
  2. インストールされていることを確認します。

    azd extension list --installed
    

    一覧に azure.coding-agent が表示されます。

Copilot クラウド エージェント拡張機能を使用する

Copilot クラウド エージェント拡張機能は、Copilot クラウド エージェントのマネージド ID を介したAzure アクセスの構成を自動化します。 また、セットアップを完了するには、いくつかの手動手順を実行する必要があります。

Azure アクセスを有効にする

  1. ローカル リポジトリ ディレクトリのルート内で、次のコマンドを実行します。

    azd coding-agent config
    
  2. 画面の指示に従って、拡張機能のワークフローを完了します。

    構成中に、拡張機能は次の処理を行います。

    • リソース グループを作成 (または再利用) します。
    • Azure マネージド ID を作成します。
    • リソース グループをスコープとする ID に閲覧者ロールを割り当てます。
    • GitHub リポジトリをマネージド ID にリンクするフェデレーション資格情報を確立します。
    • copilot-setup-steps.yml ワークフローと関連資産を追加 (または更新) します。
    • copilot環境の GitHub 環境設定を完了するためのガイドです。

セットアップの確認 (省略可能)

  1. 作成された (または更新された) リソース グループ内のマネージド ID を一覧表示します。

    az identity list --resource-group <resource-group-name>
    
  2. GitHub で Settings>Environments>copilot 環境を開き、マネージド ID を参照するフェデレーション資格情報エントリを確認します (サブジェクト発行者は GitHub を反映する必要があります)。

Copilot クラウド エージェントAzure MCP サーバーを構成する

  1. azd coding-agent拡張機能は、origin/azd-enable-copilot-coding-agent-with-azureに新しい GitHub ワークフロー ファイルを含むブランチのプル要求を作成します。 main ブランチで Azure MCP サーバー接続を使用する場合は、この PR をマージします。

    コンソールの pull request の説明と拡張機能の出力ログには、どちらも、Copilot クラウド エージェントの MCP サーバー Azure構成するために使用できる JSON 構成スニペットが含まれています。

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Azure MCP サーバーを構成するには、リポジトリの [設定] ページに移動します。

  3. 左側のナビゲーションで Copilot>Cloud エージェントを選択します。

  4. PR の JSON スニペットを MCP 構成 ボックスに貼り付け、[ MCP 構成の保存] を選択します。

    Copilot クラウド エージェントAzure MCP サーバーを構成する方法を示すスクリーンショット。

Copilot クラウド エージェント拡張機能をテストする

  1. GitHub でリポジトリに移動します。

  2. 右上のナビゲーション バーにある [ エージェント パネルを開く ] アイコンを選択します。

  3. ポップアップ パネルで、 azd コマンドに使用したリポジトリとブランチを選択します。 生成されたプル要求を mainにマージした場合は、 mainを選択します。

  4. 構成した Azure MCP サーバーを使用するように Copilot クラウド エージェントに具体的に指示するプロンプトを入力します。次に例を示します。

    Use the Azure MCP Server to list the resource groups in my subscription.
    Do not traverse or analyze the repository at all. Use only the Azure MCP Server.
    

    Enter キーを押してプロンプトを実行し、クラウド エージェントCopilot新しいタスクを作成して実行するように指示します。

    注

    また、フライアウト パネルでそのブランチを選択することで、main 以外のブランチでも Copilot のクラウド エージェント タスクを実行できます。

  5. パネルの下部に表示されるタスクを選択して、タスクの詳細ページに移動します。

    Copilot クラウド エージェント用の新しいタスクを作成する方法を示したスクリーンショット。

  6. 出力に目を通して、Copilot クラウド エージェントを確認します。

    • Azure MCP サーバーを起動します。

      Azure MCP サーバーの起動を示すスクリーンショット。

    • さまざまなツールを呼び出して、Azure リソースに関する情報を収集します。

      呼び出されているリソース グループ ツールを示すスクリーンショット。

    • 最終的な出力にリソース グループを表示します。

      検出されたリソース グループを示すスクリーンショット。

マネージド ID に対するアクセス許可を構成する

azd coding-agent拡張機能は、Azure MCP Server がリソースへのアクセスに使用する Azure マネージド ID を作成します。 このセットアップにより、マネージド ID に異なるロールを割り当てて、MCP サーバーの機能とアクセス許可Azure制御できます。

既定では、拡張機能はリソース グループ スコープに Reader ロールのみを割り当てます。 エージェントにさらに多くの機能が必要な場合は、追加のロールを割り当てるか、スコープを広げます。 組み込みロールを参照してください。

たとえば、リソース グループ スコープで Contributor ロールを割り当てるには、次のようにします。

az role assignment create --assignee <principal-id-or-client-id> --role Contributor --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>

トラブルシューティング

次のセクションでは、発生する可能性がある一般的な問題について説明します。

Git リモートが構成されていない

フェデレーション資格情報を生成できるようにリモートを追加します。

git remote add origin <https://github.com/<your-org>/<your-repo>.git>
git fetch origin

リポジトリに対する管理者権限が必要

Copilot クラウド エージェントのGitHub リポジトリを構成するには、管理者権限が必要です。 これらの権限がないと、マネージド ID 資格情報を使用するようにCopilot環境を更新したり、リポジトリの MCP 構成を更新したりすることはできません。

このエラーが表示された場合は、権限を昇格する必要があります。

(!) An error occurred, see the readme for troubleshooting and prerequisites:
    https://github.com/Azure/azure-dev/blob/main/cli/azd/extensions/azure.coding-agent/README.md
Error: failed to create GitHub environment copilot in repository owner/repository: exit code: 1, stdout: {"message":"Must have admin rights to Repository.","documentation_url":"https://docs.github.com/rest/deployments/environments#create-or-update-an-environment","status":"403"}, stderr: gh: Must have admin rights to Repository. (HTTP 403)

更新トークンの有効期限が切れています

もう一度サインインします。

azd auth login

必要に応じて、 --tenant-id <tenant-id> や --use-device-code などのフラグを追加します。

診断出力の向上

デバッグ モードを使用します。

azd coding-agent config --debug

すべての内部コマンドとその出力がコンソールに出力されます。

次のステップ

  • ロールの割り当てを使用して (必要に応じてのみ) ID のアクセス許可を拡張する
  • ワークフローを拡張して追加の自動化を統合する .github/workflows/
  • その他の拡張機能を確認する: 拡張機能の概要
  • Azure RBAC の概念を確認する

Contributing

Azure Developer CLI リソースに貢献するには、 投稿ガイドを参照してください。 プル要求では、共同作成者ライセンス契約への署名が必要になる場合があります。

倫理規定

このプロジェクトは、 Microsoft オープン ソースの行動規範に従います。