Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
В этой статье объясняется, как настроить подключение индексатора к приложению-функции Azure с помощью встроенных возможностей проверки подлинности службы приложений Azure, также известного как "Простая проверка подлинности". Приложения-функции Azure — это отличное решение для размещения пользовательских веб-API, которые служба поиска ИИ Azure может использовать для обогащения содержимого, принятого во время выполнения индексатора, или, если вы используете настраиваемую модель внедрения для интегрированной векторизации, векторизируйте содержимое в поисковом запросе.
Для проверки подлинности в приложении-функции Azure можно использовать управляемое удостоверение, назначаемое системой или пользователем службы поиска. Этот подход требует настройки регистрации приложения Microsoft Entra ID для использования в качестве средства аутентификации для приложения-функции Azure, что объясняется в этой статье.
Предварительные требования
- Управляемая учетная запись для вашей службы поиска.
Настройка приложения Microsoft Entra ID в качестве провайдера аутентификации
Чтобы использовать Microsoft Entra ID в качестве поставщика проверки подлинности для функции приложения Azure, необходимо создать регистрацию приложения. Существует два варианта: автоматически создать его с помощью самого приложения-функции Azure или использовать существующее приложение. Дополнительные сведения об этих шагах см. в документации по службе приложений.
Независимо от опции убедитесь, что регистрация приложения настроена в соответствии с нижеперечисленными шагами для обеспечения совместимости с Поиск с использованием ИИ Azure.
Убедитесь, что в регистрации приложения настроен URI идентификатора приложения
Регистрация приложения должна быть настроена с помощью URI идентификатора приложения, который можно использовать в качестве аудитории токенов с приложениями Azure Functions и службой поиска Azure AI. Настройте его в формате api://<applicationId>. Это можно сделать, перейдя в раздел "Обзор " регистрации приложения и установив поле URI идентификатора приложения.
Настройка поддерживаемых типов учетных записей для проверки подлинности
Перейдите в раздел проверки подлинности регистрации приложения и настройте поддерживаемые типы учетных записей, чтобы только учетные записи в том же каталоге организации, что и регистрация приложения, могли использовать его для проверки подлинности.
(Необязательно) Настройка секрета клиента
Служба приложений рекомендует использовать секрет клиента для приложения поставщика проверки подлинности. Проверка подлинности по-прежнему работает без секрета клиента, если настроены делегированные разрешения. Чтобы настроить секрет клиента, перейдите в раздел "Сертификаты и секреты " регистрации приложения и добавьте новый секрет клиента, как описано в этой статье.
Добавление области для делегирования разрешений
Перейдите к разделу "Предоставление API " и настройте регистрацию приложения, чтобы иметь область, которая делегирует права администратора и пользователя на него, чтобы обеспечить совместимость с потоком проверки подлинности индексатора.
После настройки области делегированных разрешений вы заметите в разделе API-разрешений регистрации приложения, что API User.Read на Microsoft.Graph установлен.
Настройка поставщика проверки подлинности идентификатора Microsoft Entra в приложении-функции Azure
С помощью клиентского приложения, зарегистрированного в предыдущих спецификациях, аутентификация Microsoft Entra ID для приложения Azure Function может быть настроена, следуя документации App Service. Перейдите к разделу проверки подлинности приложения-функции Azure, чтобы настроить сведения о проверке подлинности.
Убедитесь, что указанные ниже параметры настроены так, чтобы служба поиска Azure AI может успешно аутентифицироваться в функциональном приложении Azure.
Настройка параметров проверки подлинности
- Убедитесь, что для аутентификации службы приложений установлено значение Включено.
- Ограничение доступа к приложению-функции Azure для обязательной проверки подлинности
- Для неаутентифицированных запросов предпочтителен код HTTP 401: Несанкционированный
На следующем снимке экрана показаны эти параметры для примера приложения-функции Azure.
Добавить поставщика проверки подлинности идентификатора Microsoft Entra
- Добавьте идентификатор Microsoft Entra в качестве поставщика проверки подлинности для приложения-функции Azure.
- Создайте регистрацию приложения или выберите ранее настроенную регистрацию приложения. Убедитесь, что он настроен в соответствии с рекомендациями, приведенными в предыдущем разделе этого документа.
- Убедитесь, что в разделе "Разрешенные аудитории токенов" указан URI идентификатора регистрации приложения. Он должен быть в формате
api://<applicationId>, соответствующим ранее настроенной регистрации приложения. - При желании можно настроить другие проверки, чтобы ограничить доступ специально индексатору.
Настройка других проверок
- Убедитесь, что идентификатор объекта (субъекта) определенного удостоверения AI службы поиска в Azure указан в качестве требования к удостоверению, проверив параметр Разрешить запросы от определенных удостоверений и введя идентификатор объекта (субъекта) в разделе удостоверения.
- В разделе Требования к клиентскому приложению выберите опцию Разрешить запросы от конкретного клиентского приложения. Необходимо найти идентификатор клиента для удостоверения службы Azure AI Поиск. Для этого скопируйте основной идентификатор объекта из предыдущего шага и найдите его в вашем тенанте Microsoft Entra ID. Должно быть соответствующее корпоративное приложение, страница обзора которого содержит идентификатор приложения, который должен быть указан в качестве требования клиентского приложения.
Примечание.
Этот шаг является самым важным при настройке приложения Azure Functions, и ошибка на этом этапе может привести к тому, что индексатору будет запрещен доступ к приложению Azure Functions. Убедитесь, что вы правильно выполняете поиск данных о корпоративном приложении удостоверения, и указывайте идентификатор приложения и идентификатор объекта (принципала) в нужных местах.
- Для требования арендатора выберите любой параметр, который соответствует вашей позиции безопасности. Дополнительные сведения см. в документации по службе приложений.
Настройка подключения к приложению-функции Azure
В зависимости от того, требуется ли подключение к приложению Azure Function в пользовательском навыке Web API или пользовательском векторизаторе Web API, определение JSON немного отличается. В обоих случаях убедитесь, что вы указали правильный URI для приложения-функции Azure, и установите authResourceId на то же значение, что и аудитория допустимых токенов, настроенная для поставщика проверки подлинности.
В зависимости от того, хотите ли вы подключиться с помощью назначаемого системой удостоверения или удостоверения, назначаемого пользователем, обязательные свойства немного отличаются.
Использовать назначенную системой идентичность
Вот пример вызова функции с именем test для примера приложения Azure Functions, в котором системно назначенной управляемой идентификации службы поиска разрешена аутентификация через "Easy Auth".
"uri": "https://contoso-function-app.azurewebsites.net/api/test?",
"authResourceId": "api://00000000-0000-0000-0000-000000000000"
Использовать идентификацию, назначаемую пользователем
Вот пример вызова той же функции, в котором определённой управляемой идентичности, назначаемой пользователем, разрешено проходить проверку подлинности через "Easy Auth". Необходимо указать идентификатор ресурса точного удостоверения, назначаемого пользователем, для использования в identity свойстве конфигурации.
"uri": "https://contoso-function-app.azurewebsites.net/api/test?",
"authResourceId": "api://00000000-0000-0000-0000-000000000000",
"identity" : {
"@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity",
"userAssignedIdentity": "/subscriptions/[subscription-id]/resourcegroups/[rg-name]/providers/Microsoft.ManagedIdentity/userAssignedIdentities/[my-user-managed-identity-name]"
}
Примечание.
Прежде чем указать управляемую идентичность, назначаемую пользователем, в определении навыка Custom Web API или векторизатора, назначьте эту идентичность службе Поиск с использованием ИИ Azure.
Запустите индексатор или векторизатор, чтобы проверить разрешения
Для навыков пользовательского веб-API разрешения проверяются во время выполнения индексатора. Для векторизатора они проверяются при выполнении векторного запроса с помощью векторизатора пользовательского веб-API. Чтобы исключить определенные проблемы с проверкой подлинности, можно проверить, отключив поставщик проверки подлинности в приложении-функции Azure и гарантируя успешность вызовов индексатора или векторизатора.
- Если проблемы с аутентификацией сохраняются, убедитесь, что правильные сведения об удостоверениях — идентификатор приложения и идентификатор объекта (основного субъекта) для удостоверения службы Поиск с использованием ИИ Azure — указаны в поставщике аутентификации приложения-функции Azure.