Управление инструментами MCP с помощью шлюза ИИ (предварительная версия)

Управление доступом агентов к внешним средствам путем маршрутизации трафика протокола MCP через шлюз AI в Microsoft Foundry. Шлюз искусственного интеллекта предоставляет единую управляемую точку входа, в которой можно применить проверку подлинности, ограничения скорости, ограничения IP и ведение журнала аудита, не изменяя серверы MCP или код агента.

Эта функция доступна в предварительной версии. Только новые средства MCP, созданные на портале Foundry, которые не используют управляемый OAuth, направляются через шлюз искусственного интеллекта.

Необходимые условия

  • Шлюз искусственного интеллекта должен быть подключен к ресурсу Microsoft Foundry. Выполните действия, описанные в разделе "Настройка шлюза ИИ" в ресурсах Foundry.

    Управление активируется на уровне ресурса Microsoft Foundry. Все функции управления зависят от этого подключения.

  • Вам нужны разрешения на управление политиками управления API: участник службы управления API или роль владельца в подключенном экземпляре службы управления API. Дополнительные сведения см. в разделе "Использование управления доступом на основе ролей" для управления API.

  • Сервер MCP должен поддерживать один из следующих методов проверки подлинности:

    • Управляемое удостоверение (Microsoft Entra)
    • На основе ключа (API-ключ или токен)
    • Сквозная аутентификация с индивидуальной идентификацией OAuth
    • Не прошедший проверку подлинности (если применимо)

Ключевые преимущества

  • Безопасная маршрутизация для всех новых средств MCP через конечную точку шлюза
  • Согласованное управление доступом и применение проверки подлинности
  • Централизованная наблюдаемость трафика шлюза (например, журналы и метрики)
  • Унифицированные политики для ограничения скорости, ограничений IP-адресов и маршрутизации
  • Простое повторное использование средств через общедоступные и частные каталоги

Управление инструментом

В следующих разделах описано, как настроить шлюз ИИ в качестве управляемой точки входа.

Добавление инструмента

Чтобы добавить средство для управления, используйте любой из этих методов на портале Foundry:

  • Используйте каталог инструментов, выбравкаталог>. Затем выберите сервер MCP для добавления.
  • Добавьте настраиваемый инструмент, выбрав Сборка>Средства>Настраиваемые>Протокол модели контекста. Затем вставьте конечную точку сервера MCP и выберите тип проверки подлинности.

После добавления средства убедитесь, что конечная точка сервера MCP в конфигурации средства отображает URL-адрес шлюза ИИ (например, https://<your-API-Management-instance>.azure-api.net/mcp/...), а не ПРЯМОЙ URL-адрес сервера MCP.

Дополнительные сведения о средствах MCP см. в разделе "Подключение к серверам контекста модели".

Подтверждение маршрутизации

Перед применением политик проверьте эти параметры на портале Foundry:

  • Удаленная конечная точка сервера MCP: убедитесь, что он указывает на URL-адрес шлюза ИИ, а не исходный сервер MCP.
  • URL-адрес перенаправления: если вы используете пользовательскую сквозную идентификацию OAuth, убедитесь, что URL-адрес перенаправления соответствует регистрации вашего приложения OAuth.
  • Метод проверки подлинности: убедитесь, что метод (на основе ключей или OAuth) соответствует требованиям сервера MCP.
  • Использование агента: Обратите внимание, какие агенты ссылаются на это средство, чтобы проверить после применения правил.

Применение политик

На портале Azure перейдите к вашему ресурсу. Выберите "Управление API" , чтобы применить политики для управления.

Необходимо применить политики через Azure API Management. К общим политикам относятся:

  • Ограничение скорости: ограничение количества вызовов проекта или пользователя в одну минуту.

    <inbound>
      <base />
      <rate-limit-by-key calls="60" renewal-period="60" counter-key="@(context.Request.IpAddress)" />
    </inbound>
    
  • Фильтрация IP-адресов: разрешить запросы только из доверенных сетей.

    <inbound>
      <base />
      <ip-filter action="allow">
        <address>10.0.0.0/24</address> <!-- internal network -->
        <address>20.50.123.45</address> <!-- trusted app -->
      </ip-filter>
    </inbound> 
    
  • Идентификатор корреляции: добавьте уникальный идентификатор запроса, чтобы можно было отслеживать запросы позже в журналах.

    <inbound>
      <base />
        <set-header name="X-Correlation-Id" exists-action="override"> 
        <value>@(context.RequestId)</value>
      </set-header>
    </inbound>
    
  • Удаление конфиденциальных заголовков: очистка входящих запросов для защиты учетных данных или данных сеанса.

    <inbound>
      <base />
      <set-header name="Cookie" exists-action="delete" />
      <set-header name="Referer" exists-action="delete" />
    </inbound>
    

    Важно

    Избегайте удаления заголовков проверки подлинности (например Authorization, если вы не уверены, что сервер MCP не требует их.

  • Простой элемент управления маршрутизацией: если у вас есть разные серверные части (например, для разных регионов), можно направлять запросы на основе заголовка.

    <inbound>
      <base />
      <choose>
        <when condition="@(context.Request.Headers.GetValueOrDefault('X-Region','us') == 'eu')">
          <set-backend-service base-url="https://europe-api.contoso-mcp.net" />
        </when>
        <otherwise>
          <set-backend-service base-url="https://us-api.contoso-mcp.net" />
        </otherwise>
      </choose>
    </inbound>
    

Дополнительные примеры XML-политик см. в репозитории API Management policy snippets на GitHub.

Тестирование с помощью агента

После настройки сервера MCP его можно протестировать на портале Foundry:

  1. Откройте портал Foundry и перейдите к проекту.

  2. Создайте новый агент или откройте существующий и настройте средство MCP. Дополнительные сведения см. в разделе "Подключение к серверам протокола контекста модели".

  3. В интерфейсе чата агента отправьте сообщение, которое активирует средство (например, "Перечислить мои репозитории" для сервера GITHUB MCP). Проверьте, что ответ успешно возвращён.

Убедитесь, что управление работает

Используйте следующие действия, чтобы убедиться, что трафик направляется через шлюз ИИ и политики применяются:

  1. На портале Foundry откройте конфигурацию средства MCP. Убедитесь, что конечная точка средства указывает на шлюз ИИ (не непосредственно на сервер MCP).

  2. На портале Azure откройте экземпляр службы управления API, подключенный к ресурсу Foundry. Проверьте метрики и журналы, чтобы убедиться, что запросы появляются при вызове средства агентом.

При просмотре метрик управления API:

  • Найдите запросы, в которых имя экземпляра API Management соответствует вашему средству MCP.
  • Проверьте коды ответов для успешных вызовов (2xx) и заблокированных политикой вызовов (429 для ограничений скорости, 403 для IP-фильтров).
  • При применении ограничения скорости убедитесь, что заголовок X-RateLimit-Remaining уменьшается при каждом вызове.
  • Чтобы получить сведения о уровне журнала, включите Диагностические настройки в экземпляре управления API и выполните запрос журналов Azure Monitor.

Вопросы безопасности

  • Рассматривать ключи API, токены и секреты клиента OAuth как секреты. Сохраните общие учетные данные в подключении к проекту и ограничьте доступ к проекту авторизованным пользователям.
  • Примените принцип наименьших привилегий для управляемой идентичности и доступа Microsoft Entra.
  • Просмотрите заголовки, которые вы передаете на серверы бэкенда. Удалите только заголовки, которые вам не нужны, и избегайте удаления необходимых заголовков проверки подлинности.

Параметры проверки подлинности MCP см. в разделе "Настройка проверки подлинности для средств протокола контекста модели ( MCP) (предварительная версия)".

Устранение неполадок

Проблема Причина Разрешение
Средство по-прежнему вызывает сервер MCP напрямую. Средство было создано до подключения шлюза искусственного интеллекта или средство не имеет права на маршрутизацию шлюза (например, использует управляемый OAuth). Повторно создайте средство после подключения шлюза ИИ. Убедитесь, что это инструмент MCP, который не использует управляемый OAuth.
Вызовы инструментов завершаются сбоем после добавления политик управления API. Политика блокирует трафик (ограничения скорости, фильтрацию IP-адресов) или изменяет заголовки, необходимые серверу MCP. Временно отключите политики, чтобы изолировать причину, а затем уточнить условия политики. Избегайте удаления обязательных заголовков проверки подлинности.
Вход OAuth завершается сбоем для пользовательского сквозного удостоверения OAuth. Неверный URL-адрес перенаправления или неверная конфигурация приложения OAuth. Повторно проверьте URL-адрес перенаправления в регистрации вашего приложения OAuth и убедитесь, что все необходимые параметры OAuth настроены правильно. Параметры и терминология см. в разделе "Настройка проверки подлинности для инструментов протокола контекста модели ( MCP) (предварительная версия)".
Вы не видите трассировки запросов в шлюзе искусственного интеллекта. Шлюз искусственного интеллекта не регистрирует трассировки инструментов. Используйте ведение журнала управления API и метрики для трафика шлюза. Используйте журналы сервера MCP для сведений об уровне инструментов.

Ограничения

  • Шлюзы ИИ поддерживают только средства MCP. Средства на базе платформы, такие как SharePoint, инструменты MCP, ориентированные на код, инструменты с управляемым OAuth или инструменты OpenAPI, не поддерживаются.
  • Шлюзы ИИ не регистрируют трассировки инструментов.
  • Маршрутизация шлюза применяется только при создании инструмента. Существующие инструменты не интегрируются автоматически с шлюзами искусственного интеллекта.
  • Шлюзы API поддерживают применение политик управления API только на портале Azure, а не на портале Foundry.

Для получения более полного списка инструментов поддержки службы агентов Foundry при работе с шлюзами, см. статью Подготовьте собственный ИИ-шлюз для службы агента ИИ Azure (предварительная версия).