Подключение облачного агента GitHub Copilot с помощью Azure MCP Server с помощью azd extensions

Используйте расширение (azure.coding-agent) Azure Developer CLI (azd), чтобы предоставить облачному агенту GitHub Copilot безопасный и ограниченный доступ к Azure с помощью управляемого удостоверения. Расширение создает управляемое удостоверение, настраивает федеративные учетные данные и настраивает рабочий процесс GitHub Actions в репозитории.

См. Обзор расширений, чтобы узнать, как расширения добавляют возможности к azd.

Предпосылки

  • Установите интерфейс командной строки разработчика Azure (azd). См. инструкции по установке.
  • Подписка Azure, которая позволяет создавать группы ресурсов и управляемые удостоверения.
  • Локальный клон репозитория GitHub, который вы подключаете для облачного агента Copilot.
  • Разрешения репозитория для:
    • copilot Обновите среду GitHub.
    • Настройте параметры облачного агента Copilot.
    • Отправка изменений в папку .github/workflows .
  • По крайней мере один настроенный удалённый репозиторий Git для хранилища (требуется для федеративных учетных данных).

Установка или обновление расширения Copilot облачного агента

  1. Установка в первый раз

    azd extension install azure.coding-agent
    

    Обновление до последней версии

    azd extension upgrade azure.coding-agent
    
  2. Убедитесь, что он установлен:

    azd extension list --installed
    

    Вы увидите azure.coding-agent в списке.

Используйте расширение облачного агента Copilot

Расширение облачного агента Copilot автоматизирует настройку доступа к Azure с помощью управляемого удостоверения для облачного агента Copilot. Чтобы завершить настройку, вам также потребуется выполнить несколько действий вручную.

Включение доступа к Azure

  1. В корневом каталоге локального репозитория выполните следующую команду:

    azd coding-agent config
    
  2. Следуйте инструкциям на экране, чтобы завершить рабочий процесс расширения.

    Во время настройки расширение:

    • Создает (или повторно использует) группу ресурсов.
    • Создает управляемое удостоверение в Azure.
    • Назначает роль читателя данному удостоверению на область группы ресурсов.
    • Устанавливает федеративные учетные данные, связывающие репозиторий GitHub с управляемым удостоверением.
    • Добавляет (или обновляет) рабочий copilot-setup-steps.yml процесс и связанные ресурсы.
    • Руководство по настройке параметров среды GitHub для copilot.

Проверка установки (необязательно)

  1. Перечислите управляемую идентификацию в созданной (или обновленной) группе ресурсов.

    az identity list --resource-group <resource-group-name>
    
  2. В GitHub откройте среду Параметры>Среды>copilot и подтвердите федеративную запись учетных данных, ссылающуюся на управляемое удостоверение (издатель субъекта должен отображать GitHub).

Настройка сервера MCP Azure для облачного агента Copilot

  1. Расширение azd coding-agent создает pull-реквест для ветки с новым файлом рабочего процесса GitHub по адресу origin/azd-enable-copilot-coding-agent-with-azure. Если вы хотите использовать подключение к серверу Azure MCP в ветви main , объедините этот pr-запрос.

    Описание запроса на включение изменений и журналы вывода расширения в консоли оба содержат фрагмент конфигурации в формате JSON, который можно использовать для настройки Azure MCP Server для облачного агента Copilot:

    {
        "mcpServers": {
            "Azure": {
                "type": "local",
                "command": "npx",
                "args": [
                    "-y",
                    "@azure/mcp@latest",
                    "server",
                    "start"
                ],
                "tools": [
                    "*"
                ]
            }
        }
    }
    
  2. Чтобы настроить сервер Azure MCP, перейдите на страницу параметров репозитория.

  3. Выберите агент Copilot>Cloud в области навигации слева.

  4. Вставьте фрагмент JSON из pr в поле конфигурации MCP и нажмите кнопку "Сохранить конфигурацию MCP".

    Снимок экрана: настройка сервера MCP Azure для облачного агента Copilot.

Тестирование расширения Copilot облачного агента

  1. Перейдите в репозиторий в GitHub.

  2. Щелкните значок "Открыть панели агентов" в правом верхнем углу панели навигации.

  3. На панели всплывающих элементов выберите репозиторий и ветвь, которые использовались для azd команды. Если вы объединили пулл-запрос main, выберите main.

  4. Введите запрос, который специально указывает Copilot облачному агенту использовать настроенный Azure MCP-сервер, например:

    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 указание создать и выполнить новую задачу.

    Замечание

    Вы также можете запускать задачи облачного агента Copilot в ветви, отличной от main, выбрав эту ветвь на выдвижной панели.

  5. Выберите задачу, которая отображается в нижней части панели, чтобы перейти на страницу сведений о задаче.

    Снимок экрана, показывающий, как создать новую задачу для облачного агента Copilot.

  6. Просмотрите результаты, чтобы увидеть облачный агент Copilot:

    • Запустите сервер Azure MCP:

      Снимок экрана: запуск сервера Azure MCP.

    • Вызовите различные средства для сбора сведений о ресурсах Azure:

      Снимок экрана, на котором показан вызов инструмента группы ресурсов.

    • Отображение группы ресурсов в выходных данных:

      Снимок экрана: обнаруженные группы ресурсов.

Настройка разрешений для управляемой идентификации

Расширение azd coding-agent создает управляемое удостоверение Azure, которое сервер Azure MCP использует для доступа к ресурсам. Эта настройка позволяет назначать разные роли управляемому удостоверению для управления возможностями и разрешениями Azure MCP Server.

По умолчанию расширение назначает только 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

Должен иметь права администратора на репозиторий

Настройка репозитория GitHub для Copilot облачного агента требует прав администратора. Без этих прав вы не сможете обновить окружение 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

Все внутренние команды и их вывод отображаются на консоли.

Дальнейшие шаги

  • Увеличьте разрешения удостоверений (только при необходимости) с помощью назначений ролей
  • Интеграция дополнительной автоматизации путем расширения рабочего процесса в .github/workflows/
  • Обзор других возможностей расширения: общие сведения о расширениях
  • Обзор концепций Azure RBAC

Contributing

Сведения о участии в ресурсах интерфейса командной строки разработчика Azure см. в руководстве по участию. Запросы на вытягивание могут потребовать подписания лицензионного соглашения участника.

Кодекс поведения

Этот проект следует Microsoft Open Source Code of Conduct.