Конфигурация сети и доступа для Azure OpenAI On Your Data (классическая модель)

Применяется только к:Портал Foundry (классический). Эта статья недоступна для нового портала Foundry. Дополнительные сведения о новом портале.

Примечание

Ссылки в этой статье могут открывать содержимое в новой документации Microsoft Foundry вместо документации Foundry (классической), которую вы просматриваете сейчас.

Важно

Azure OpenAI On Your Data устарел и приближается к выходу из эксплуатации. Служба будет прекращена 14 октября 2026 г.

Microsoft прекратила адаптацию новых моделей в Azure OpenAI On Your Data. Эта функция поддерживает только следующие модели:

  • GPT-4o (версии 2024-05-13, 2024-08-06 и 2024-11-20)
  • GPT-4o-mini (версия 2024-07-18)

Рекомендуем перенести задачи Azure OpenAI On Your Data на Foundry Agent Service с использованием Foundry IQ, чтобы извлекать контент и генерировать обоснованные ответы на основе ваших данных. Чтобы начать, см. Подключение базы знаний Foundry IQ.

Используйте эту статью, чтобы узнать, как настроить сеть и доступ при использовании Azure OpenAI On Your Data с помощью Microsoft Entra ID управления доступом на основе ролей, виртуальных сетей и частных конечных точек.

Архитектура приема данных

При использовании Azure OpenAI On Your Data для интеграции данных из хранилища BLOB-объектов Azure, локальных файлов или URL-адресов в Поиск с использованием ИИ Azure применяется следующий процесс обработки данных.

Схема, показывающая процесс приема данных.

  • Шаги 1 и 2 используются только для отправки файлов.
  • Скачивание URL-адресов в хранилище BLOB-объектов не показано на этой схеме. После скачивания веб-страниц из Интернета и загрузки в хранилище BLOB, начиная с шага 3 действия будут одинаковыми.
  • Один индексатор, один индекс и один источник данных в ресурсе Поиск с использованием ИИ Azure создается с помощью предварительно созданных навыков и интегрированной векторизации.
  • Поиск с использованием ИИ Azure обрабатывает извлечение, разбиение на фрагменты и векторизацию документов, разбитых на фрагменты, с помощью встроенной векторизации. Если указан интервал планирования, индексатор будет выполняться в соответствии с этим.

Для управляемых удостоверений, используемых в вызовах служб, поддерживаются только назначенные системой управляемые удостоверения. назначенные пользователем управляемые удостоверения не поддерживаются.

Инференс архитектура

Схема, показывающая процесс использования API вывода.

При отправке вызовов API для общения с моделью OpenAI Azure по вашим данным служба должна получить поля индекса во время инференса, чтобы выполнить сопоставление полей. Поэтому служба требует, чтобы удостоверение Azure OpenAI имело роль Search Service Contributor для поисковой службы даже во время вывода.

Если внедренная зависимость предоставляется в инференс-запросе, Azure OpenAI векторизирует переписанный запрос, и запрос, и вектор отправляются в Поиск с использованием ИИ Azure для векторного поиска.

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

Примечание

Управление доступом на уровне документа поддерживается только для поиска в Azure AI.

Azure OpenAI On Your Data позволяет ограничить документы, которые можно использовать в ответах для разных пользователей, с помощью фильтров безопасности Поиск с использованием ИИ Azure фильтров безопасности. При включении доступа на уровне документа Поиск с использованием ИИ Azure обрезает результаты поиска на основе членства пользователей Microsoft Entra группы, указанной в фильтре. Доступ на уровне документа можно включить только в существующих индексах Поиск с использованием ИИ Azure. Чтобы включить доступ на уровне документа, выполните следующие действия.

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

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

    {"name": "group_ids", "type": "Collection(Edm.String)", "filterable": true }
    

    group_ids — имя поля по умолчанию. При использовании другого имени поля, например my_group_ids, можно сопоставить поле в сопоставлении полей индекса.

  3. Убедитесь, что каждый конфиденциальный документ в индексе имеет значение поля безопасности, заданное для разрешенных групп документа.

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

Портал Foundry

После подключения индекса Поиск с использованием ИИ Azure ваши ответы в интерфейсе студии имеют доступ к документам на основании разрешений Microsoft Entra, предоставленных пользователю, вошедшему в систему.

API

При использовании API передайте filter параметр в каждом запросе API. Например:

Важно

Используйте ключи API с осторожностью. Не включайте ключ API непосредственно в код и никогда не публикуйте его. Если вы используете ключ API, сохраните его безопасно в Azure Key Vault. Дополнительные сведения о безопасном использовании ключей API в приложениях см. в разделе Ключи API с Azure Key Vault.

Дополнительные сведения о безопасности служб ИИ см. в разделе Аутентификация запросов к службам Azure AI.

Дополнительные сведения о безопасности см. в разделе "Запросы проверки подлинности".

{
    "messages": [
        {
            "role": "user",
            "content": "who is my manager?"
        }
    ],
    "data_sources": [
        {
            "type": "azure_search",
            "parameters": {
                "endpoint": "<AZURE_AI_SEARCH_ENDPOINT>",
                "key": "<AZURE_AI_SEARCH_API_KEY>",
                "index_name": "<AZURE_AI_SEARCH_INDEX>",
                "filter": "my_group_ids/any(g:search.in(g, 'group_id1, group_id2'))"
            }
        }
    ]
}
  • my_group_ids — это имя поля, выбранное для разрешенных групп во время сопоставления полей.
  • group_id1, group_id2 — это группы, связанные с пользователем, вошедшим в систему. Клиентское приложение может получать и кэшировать группы пользователей с помощью Microsoft API Graph.

Конфигурация ресурсов

Используйте следующие разделы, чтобы настроить ресурсы для оптимального безопасного использования. Даже если вы планируете защитить только часть ресурсов, вам по-прежнему необходимо выполнить все действия.

В этой статье описываются сетевые настройки, связанные с отключением общедоступной сети для ресурсов Azure OpenAI, ресурсов Azure AI поиска и учетных записей хранилища. Использование выбранных сетей с правилами IP-адресов не поддерживается, так как IP-адреса служб являются динамическими.

Создание группы ресурсов

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

  • Одна виртуальная сеть
  • Три ключевых службы: один Azure OpenAI, один Поиск с использованием ИИ Azure, одна учетная запись хранения
  • Три частных конечных точки, каждая связана с одной ключевой службой.
  • Три сетевых интерфейса, каждая из которых связана с одной частной конечной точкой
  • Один шлюз виртуальной сети для доступа с локальных клиентских компьютеров
  • Одно веб-приложение с интегрированной виртуальной сетью
  • Одна приватная DNS-зона, чтобы веб-приложение находило IP-адрес вашего Azure OpenAI.

Создание виртуальной сети

Виртуальная сеть имеет три подсети.

  1. Первая подсеть используется для шлюза виртуальной сети.
  2. Вторая подсеть используется для частных конечных точек для трех ключевых служб.
  3. Третья подсеть пуста и используется для интеграции исходящей виртуальной сети веб-приложения.

Схема, показывающая архитектуру виртуальной сети.

Настройка Azure OpenAI

Включенный настраиваемый поддомен

Поддомен custom требуется для проверки подлинности на основе Microsoft Entra ID и частной зоны DNS. Если Azure ресурс OpenAI создается с помощью шаблона ARM, настраиваемый поддомен должен быть явно указан.

Включить управляемое удостоверение

Чтобы Поиск с использованием ИИ Azure и учетная запись Хранилища могли распознавать Azure OpenAI в моделях Foundry через проверку подлинности Microsoft Entra ID, необходимо назначить управляемую идентичность для Azure OpenAI в контексте моделей Foundry. Самый простой способ — на портале Azure включить системное управляемое удостоверение. Скриншот, показывающий параметр управляемого удостоверения, назначенного системой, в портале Azure.

Сведения о настройке управляемых удостоверений с помощью API управления см. в справочной документации по API управления.


"identity": {
  "principalId": "<YOUR-PRINCIPAL-ID>",
  "tenantId": "<YOUR-TENNANT-ID>",
  "type": "SystemAssigned, UserAssigned", 
  "userAssignedIdentities": {
    "/subscriptions/<YOUR-SUBSCIRPTION-ID>/resourceGroups/my-resource-group",
    "principalId": "<YOUR-PRINCIPAL-ID>", 
    "clientId": "<YOUR-CLIENT-ID>"
  }
}

Включение доверенной службы

Чтобы разрешить Поиск с использованием ИИ Azure вызывать модель внедрения Azure OpenAI, при этом у Azure OpenAI нет доступа к общедоступной сети, необходимо настроить Azure OpenAI для обхода Поиск с использованием ИИ Azure в качестве доверенной службы на основе управляемого удостоверения. Azure OpenAI определяет трафик из Поиск с использованием ИИ Azure путем проверки утверждений в веб-токене JSON (JWT). Поиск с использованием ИИ Azure необходимо использовать проверку подлинности управляемого удостоверения, назначаемую системой, для вызова конечной точки внедрения.

Установите networkAcls.bypass как AzureServices с помощью API управления. Дополнительные сведения см. в статье о виртуальных сетях.

Этот шаг можно пропустить только в том случае, если у вас есть ссылка для совместного доступа к ресурсу Поиск с использованием ИИ Azure.

Отключение доступа к общедоступной сети

Вы можете отключить общедоступный сетевой доступ к вашему ресурсу Azure OpenAI в портале Azure.

Чтобы разрешить доступ к вашему Azure OpenAI с клиентских компьютеров, например, используя портал Foundry, необходимо создать подключения к частным конечным точкам, которые подключаются к ресурсу Azure OpenAI.

Для ресурса поиска можно использовать базовую ценовую категорию и выше. Это не обязательно, но если вы используете ценовую категорию S2, доступны дополнительные варианты .

Включить управляемое удостоверение

Чтобы ваши другие ресурсы могли распознавать Поиск с использованием ИИ Azure с помощью аутентификации Microsoft Entra ID, вам нужно назначить управляемое удостоверение для Поиск с использованием ИИ Azure. Самый простой способ — включить назначенное системой управляемое удостоверение в портале Azure.

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

Включение управления доступом на основе ролей

Так как Azure OpenAI использует управляемое удостоверение для доступа к Поиск с использованием ИИ Azure, необходимо включить управление доступом на основе ролей в Поиск с использованием ИИ Azure. Чтобы сделать это на портале Azure, выберите Both или Role-based access control на вкладке Keys на портале Azure.

Снимок экрана, демонстрирующий опцию управляемого удостоверения для поиска Azure AI в портале Azure.

Дополнительные сведения см. в статье Поиск с использованием ИИ Azure RBAC.

Отключение доступа к общедоступной сети

Вы можете отключить доступ к вашей службе Поиск с использованием ИИ Azure из общедоступной сети на портале Azure.

Чтобы разрешить доступ к ресурсу Поиск с использованием ИИ Azure с ваших клиентских компьютеров, например, при использовании портала Foundry, необходимо создать приватные конечные точки private endpoint connections для подключения к ресурсу Поиск с использованием ИИ Azure.

Включение доверенной службы

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

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

Схема, показывающая надежную службу поиска.

Можно также использовать REST API для включения доверенной службы. В этом примере используется Azure CLI и средство jq.

rid=/subscriptions/<YOUR-SUBSCRIPTION-ID>/resourceGroups/<YOUR-RESOURCE-GROUP>/providers/Microsoft.Search/searchServices/<YOUR-RESOURCE-NAME>
apiVersion=2024-03-01-Preview
#store the resource properties in a variable
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" > search.json

#replace bypass with AzureServices using jq
jq '.properties.networkRuleSet.bypass = "AzureServices"' search.json > search_updated.json

#apply the updated properties to the resource
az rest --uri "https://management.azure.com$rid?api-version=$apiVersion" \
    --method PUT \
    --body @search_updated.json

Совет

Если вы используете базовую или стандартную ценовую категорию или если вы впервые настроили все ресурсы безопасно, пропустите этот расширенный раздел.

Этот раздел применим только для ресурса поиска ценовой категории S2, так как для индексаторов с набором навыков требуется поддержка частных конечных точек.

Чтобы создать общую приватную ссылку из вашего ресурса поиска, который подключается к вашему ресурсу Azure OpenAI, ознакомьтесь с документацией search. Выберите тип Resource как Microsoft.CognitiveServices/accounts и Group ID как openai_account.

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

Схема, показывающая процесс приема данных с помощью ресурса поиска S2.

Настройка учетной записи хранения

Включение доверенной службы

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

На портале Azure перейдите на вкладку сети учетной записи хранения, выберите "Выбранные сети", затем выберите Разрешить службам Azure из списка доверенных служб доступ к этой учетной записи хранения и нажмите "Сохранить".

Отключение доступа к общедоступной сети

Вы можете отключить доступ к общедоступной сети учетной записи хранения на портале Azure.

Чтобы разрешить доступ к учетной записи хранения с клиентских компьютеров, например с помощью портала Foundry, необходимо создать подключения к частной конечной точке, которые подключаются к облачному хранилищу BLOB.

Назначения ролей

На данный момент вы уже настроили каждый ресурс работать независимо. Затем необходимо разрешить службам авторизовать друг друга.

Роль Назначенное лицо Ресурс Описание
Search Index Data Reader Azure OpenAI Поиск с использованием ИИ Azure Служба предсказаний запрашивает данные из индекса.
Search Service Contributor Azure OpenAI Поиск с использованием ИИ Azure Служба вывода запрашивает схему индекса для автоматического сопоставления полей. Служба приема данных создает индекс, источники данных, набор навыков, индексатор и запрашивает состояние индексатора.
Storage Blob Data Contributor Azure OpenAI Учетная запись хранения Считывает из входного контейнера и записывает предварительно обработанный результат в выходной контейнер.
Cognitive Services OpenAI Contributor Поиск с использованием ИИ Azure Azure OpenAI, Проект Microsoft Foundry Позволяет ресурсу Поиск с использованием ИИ Azure получить доступ к конечной точке встраивания Azure OpenAI. Эта роль должна быть назначена как в ресурсе OpenAI Azure, так и в проекте Microsoft Foundry.
Storage Blob Data Reader Поиск с использованием ИИ Azure Учетная запись хранения Считывает большие двоичные объекты документов и блок-объекты.
Reader Литейный проект служба хранилища Azure c закрытыми конечными точками (BLOB и файлов) Чтение индексов поиска, созданных в хранилище BLOB-объектов в Project Foundry.
Cognitive Services OpenAI User Веб-приложение Azure OpenAI Инференция (вывод)

В приведенной выше таблице Assignee означает системно назначенное управляемое удостоверение этого ресурса.

Администратор должен иметь Owner роль в этих ресурсах для добавления назначений ролей.

Инструкции по настройке этих ролей на портале Azure см. в документации Azure RBAC. Скрипт available можно использовать в GitHub для программного добавления назначений ролей.

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

Роль Ресурс Описание
Cognitive Services OpenAI Contributor Azure OpenAI Вызов общедоступного API приема данных с портала Foundry. Роли Contributor недостаточно, потому что если у вас есть только роль Contributor, вы не можете вызывать API плоскости данных с проверкой подлинности через Microsoft Entra ID, а в безопасной настройке, описанной в этой статье, требуется именно такая проверка подлинности.
Contributor Поиск с использованием ИИ Azure Перечислите ключи API для отображения индексов на портале Foundry.
Contributor Учетная запись хранения Перечень SAS-токенов учетной записи для загрузки файлов с портала Foundry.
Contributor Группа ресурсов или подписка Azure, где разработчику необходимо развернуть веб-приложение. Разверните веб-приложение в подписке Azure разработчика.
Role Based Access Control Administrator Azure OpenAI Разрешение на настройку необходимого назначения ролей в ресурсе OpenAI Azure. Позволяет веб-приложению вызывать Azure OpenAI.

Настройка шлюза и клиента

Чтобы получить доступ к Azure OpenAI с локальных клиентских компьютеров, одним из способов является настройка Azure VPN Gateway и Azure VPN-клиента.

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

Следуйте указаниям , чтобы добавить конфигурацию типа "точка — сеть" и включить проверку подлинности на основе Microsoft Entra ID. Скачайте пакет конфигурации профиля VPN-клиента Azure, распакуйте и импортируйте файл AzureVPN/azurevpnconfig.xml в vpn-клиент Azure.

Снимок экрана, на котором показано, куда импортировать профиль клиента Azure VPN.

Настройте локальный файл компьютера hosts , чтобы указать имена узлов ресурсов на частные IP-адреса в виртуальной сети. Файл hosts находится в C:\Windows\System32\drivers\etc для Windows и в /etc/hosts в Linux. Пример:

10.0.0.5 contoso.openai.azure.com
10.0.0.6 contoso.search.windows.net
10.0.0.7 contoso.blob.core.windows.net

Портал Foundry

Вы должны иметь возможность использовать все функции портала Foundry, включая прием и интерпретацию на локальных клиентских компьютерах.

Веб-приложение

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

Веб-приложение должно разрешить имя узла Azure OpenAI в частный IP-адрес конечной точки частной сети для Azure OpenAI. Поэтому сначала необходимо настроить частную зону DNS для виртуальной сети.

  1. Создайте частную зону DNS в группе ресурсов.
  2. Добавьте запись DNS. IP-адрес является частным IP-адресом конечной точки вашего ресурса Azure OpenAI, и вы можете получить этот IP-адрес из сетевого интерфейса, связанного с данной конечной точкой.
  3. Свяжите частную зону DNS с виртуальной сетью , чтобы веб-приложение, интегрированное в этой виртуальной сети, может использовать эту частную зону DNS.

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

После развертывания веб-приложения на вкладке "Сеть портала Azure" настройте интеграцию виртуальной сети исходящего трафика веб-приложения, выберите третью подсеть, зарезервированную для веб-приложения.

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

Использование API

Убедитесь, что учетные данные входа имеют роль Cognitive Services OpenAI Contributor в ресурсе OpenAI Azure и сначала запустите az login.

Снимок экрана, показывающий роль конторибутера в когнитивных службах в Портале Azure.

API приема данных

Дополнительные сведения об объектах запроса и ответа, используемых API приема, см. в справочной статье по API приема.

API вывода

Дополнительные сведения о объектах запроса и ответа, используемых API вывода, см. в справочной статье по API вывода .

Использование Microsoft Defender для облака

Теперь вы можете интегрировать Microsoft Defender для облака (предварительная версия) с ресурсами Azure для защиты приложений. Microsoft Defender для облака защищает ваши приложения с помощью защиты от угроз для рабочих нагрузок ИИ, предоставляя командам доказательные оповещения безопасности, обогащенные аналитикой угроз от Microsoft, что позволяет командам укрепить их позиции безопасности с помощью интегрированных рекомендаций по лучшим практикам безопасности.

Используйте эту форму, чтобы запросить доступ.

Снимок экрана Microsoft Defender для облака.