К обсуждениям

Azure AI Search получает 401 audience incorrect с Foundry: карта границ

Редакция VOne Технологии

Как разнести endpoint AzureOpenAIEmbeddingSkill, аудиторию токена Foundry, managed identity и сетевой путь, когда прямой Azure OpenAI endpoint работает, а project endpoint возвращает 401.

Зафиксируйте два разных маршрута

Составьте таблицу для работающего и неработающего варианта: точный тип endpoint без имени ресурса, версия Search API, deploymentId, modelName, способ аутентификации и сетевой режим. В свежем сигнале прямой endpoint Azure OpenAI работает, а Foundry project endpoint возвращает 401 с audience incorrect. Это сильный контроль различия маршрутов, но не доказательство одной причины. Не копируйте ключи, токены, project name или subscription ID в публичную таблицу.

Сверьте контракт resourceUri

Официальный пример managed identity для AzureOpenAIEmbeddingSkill показывает resourceUri вида endpoint Azure OpenAI, который размещает embedding model, вместе с deploymentId и modelName. Сравните свою конфигурацию с документацией той версии API, которую реально вызывает индексатор. Project-scoped Foundry URL не следует считать эквивалентом только потому, что модель доступна через портал. Если формат не документирован для skill, верните поддерживаемый прямой endpoint в отдельной тестовой конфигурации.

Не смешивайте аудитории токена

Microsoft Foundry документирует для собственных project API bearer token со scope https://ai.azure.com/.default. Это описание контракта Foundry и не означает, что AzureOpenAIEmbeddingSkill автоматически запрашивает или принимает тот же audience для любого resourceUri. Ошибка audience incorrect указывает на несоответствие ожидаемой аудитории, но сама по себе не доказывает, где сформирован неверный токен. Не декодируйте и не публикуйте production token; зафиксируйте только aud в защищённом диагностическом процессе.

Проверьте identity и сеть отдельно

Для outbound connections Azure AI Search Microsoft описывает system-assigned и user-assigned managed identities, роли и специальные сценарии skills/vectorizers. Если ключ и authIdentity пусты, официальный пример использует системную identity; для user-assigned задаётся отдельное свойство. После проверки endpoint отдельно подтвердите роль identity на целевом ресурсе. Сетевую изоляцию проверяйте как другой слой: private endpoint или shared private link не исправляет неверный audience, а корректная роль не создаёт сетевой маршрут.

Сделайте минимальный пакет эскалации

Сохраните два обезличенных определения skillset, версии API, типы endpoint, статус indexer execution, тип managed identity, названия ролей, correlation ID и точное время. Удалите ключи, токены, имена ресурсов и содержимое документов. Пройдённый тест — поддерживаемый endpoint выполняет одну контролируемую индексацию и создаёт ожидаемую размерность embedding без 401. Если project endpoint необходим по архитектуре, запрашивайте у Microsoft подтверждение поддержки именно для вашей версии и skill, не переносите рабочий token между аудиториями вручную.

Материал подготовлен самостоятельно с автоматизацией и редакционно проверен 29 июля 2026 года по обезличенному сигналу Microsoft Q&A и актуальной официальной документации Azure; токены, конфигурации и данные индекса не использовались.

Источники и проверка

Информация актуальна на дату публикации. Правила сервисов, приложений и сетей могут меняться.

Ответы

0 опубликовано
Ответов пока нет. Вы можете начать обсуждение.

Ваш ответ

Добавьте свой опыт или уточнение по теме.

Вы публикуете как Аноним Аватар отличает разговоры, но не раскрывает личные данные.

Ответ появится сразу. Не публикуйте личные данные, ключи и приватные ссылки.