Безопасные конечные точки OpenAPI для Foundry Agent Service

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

Предпосылки

Найдите идентификаторы управляемых удостоверений для проекта Microsoft Foundry

Для настройки проверки подлинности службы приложений вам потребуется идентификатор объекта и идентификатор приложения управляемого удостоверения проекта Microsoft Foundry. Системой назначаемое управляемое удостоверение автоматически создается для вашего проекта Microsoft Foundry при его создании. Это учетные данные, которые служба агента Foundry использует для аутентификации в вашем приложении.

  1. На портале Foundry убедитесь, что вы выбрали New Foundry в правом верхнем углу. Обратите внимание, что в новом портале Foundry могут не отображаться агенты, созданные в классическом портале.

  2. В правом верхнем меню выберите "Управление администратором>". Затем выберите родительский ресурс проекта в столбце "Родительский ресурс".

  3. На странице сведений о родительском ресурсе выберите "Управление этим ресурсом" на портале Azure.

    Замечание

    Прежде чем перейти, убедитесь, что вы находитесь на странице ресурсов Foundry, а не на странице ресурса проекта Foundry.

  4. В меню слева ресурса Foundry выберите Управление ресурсами>Удостоверение.

  5. В разделе "Назначаемая системой" скопируйте значение идентификатора объекта (главный) для дальнейшего использования.

  6. На портале Azure найдите и выберите идентификатор Microsoft Entra.

  7. В поле поиска найдите скопированный идентификатор объекта и выберите его в результатах поиска.

  8. На странице обзора скопируйте значение идентификатора приложения.

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

Настройка проверки подлинности Microsoft Entra для приложения

  1. На портале Azure перейдите к приложению службы приложений.

  2. В меню слева в вашем приложении выберите Настройки>Аутентификация, а затем выберите Добавить провайдера идентификации.

  3. На странице "Добавление поставщика удостоверений" выберите Майкрософт в качестве поставщика удостоверений , чтобы создать новую регистрацию приложения.

  4. В разделе "Дополнительные проверки" для требования клиентского приложения выберите "Разрешить запросы" из определенных клиентских приложений.

  5. Выберите мини-виджет карандаша и добавьте идентификатор приложения, который вы скопировали, когда нашли идентификаторы управляемых удостоверений вашего проекта Microsoft Foundry.

  6. Для требования удостоверения выберите "Разрешить запросы из определенных удостоверений".

  7. Выберите виджет карандаша и добавьте идентификатор объекта, скопированный из идентификаторов управляемой учетной записи для проекта Microsoft Foundry.

  8. Для требования клиента примите значение по умолчанию. Если нет, обязательно выберите арендатора, в котором создается проект Microsoft Foundry (или скорее его идентификатор).

  9. Для запросов, не прошедших проверку подлинности, выберите HTTP 401 Unauthorized: рекомендуется для API.

  10. Нажмите кнопку "Добавить ", чтобы создать поставщика удостоверений.

    Снимок экрана: настройка нового поставщика проверки подлинности Майкрософт в службе приложений.

Обновите URI идентификатора приложения в регистрации приложения

После включения проверки подлинности необходимо обновить URI идентификатора приложения в регистрации, чтобы он соответствовал URL-адресу вашего приложения в App Service.

  1. После завершения настройки поставщика Microsoft выберите его в столбце поставщик удостоверений, чтобы открыть страницу регистрации приложения.

  2. В меню слева выберите "Управление>предоставлением API".

  3. Рядом с URI идентификатора приложения нажмите кнопку "Изменить".

  4. Измените значение URL-адреса приложения службы приложений в следующем формате: https://<suffix>.azurewebsites.net

    Имя узла приложения можно найти на странице обзора в домене по умолчанию.

  5. Нажмите кнопку "Сохранить".

Предупреждение

При удалении приложения службы приложений необходимо также удалить регистрацию приложения и очистить все ресурсы проверки подлинности, ссылающиеся на URI идентификатора приложения. Несоблюдение этого создаёт уязвимость для безопасности: если кто-то другой создаёт приложение с тем же URL-адресом, он может получить несанкционированный доступ к ресурсам, которые доверяют регистрации осиротевших приложений. Всегда удалять регистрации приложений и связанные с ними разрешения при выводе из эксплуатации приложения.

Настройка средства OpenAPI в Microsoft Foundry

Замечание

В этом разделе предполагается, что вы уже выполнили одно из учебников в разделе "Предварительные требования ", где вы добавили приложение в качестве средства OpenAPI в Microsoft Foundry с помощью анонимной проверки подлинности. Теперь обновите средство, чтобы использовать аутентификацию с управляемой идентификацией.

  1. Вернитесь на портал Foundry, выберите агент.

  2. Найдите средство OpenAPI и выберите ...>Изменение.

  3. Поле схемы OpenAPI 3.0+ должно содержать схему вашего приложения App Service. В противном случае вставьте схему OpenAPI. Дополнительные сведения см. в статье "Использование OpenAPI с службой агента Foundry".

  4. Для метода проверки подлинности выберите Managed Identity.

  5. Для аудитории введите URL-адрес приложения службы приложений. Этот URL-адрес должен соответствовать URI идентификатора приложения , настроенного ранее.

  6. Выберите средство обновления.

Подсказка

Служба агента Foundry использует управляемое удостоверение, назначаемое системой, для проверки подлинности в приложении. Поскольку вы добавили клиентский идентификатор удостоверенности как разрешенное клиентское приложение и разрешенное удостоверение в конфигурацию поставщика аутентификации вашего приложения, служба агента авторизована на вызов API вашего приложения.

Тестирование агента

  1. На портале Foundry выберите вашего агента и нажмите Пробовать в песочнице.

  2. Общайтесь с агентом, чтобы протестировать OpenAPI-эндпоинты. Рассмотрим пример.

    • Показать мне все задачи.
    • Создайте задачу с именем "Купить продукты".
    • Обновите такую задачу, чтобы "Купить продуктовые продукты и готовить ужин".

Если проверка подлинности настроена правильно, агент успешно вызывает API приложения с помощью средства OpenAPI.