Доступ индексатора к содержимому, защищенному сетевой безопасностью Azure

Если требования к решению поиска включают виртуальную сеть Azure, в этой статье объясняется, как индексатор поиска может получить доступ к содержимому, защищенному сетевой безопасностью. В нем описываются шаблоны исходящего трафика и среды выполнения индексатора. Он также охватывает средства защиты сети, поддерживаемые поиском ИИ Azure, и факторы, которые могут повлиять на вашу стратегию безопасности. Наконец, поскольку служба хранилища Azure используется как для доступа к данным, так и для постоянного хранения, в этой статье также рассматриваются рекомендации по сети, относящиеся к подключению к поиску и хранилищу.

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

Доступ к ресурсам, к которым обращаются индексаторы

Индексаторы поиска ИИ Azure могут выполнять исходящие вызовы к различным ресурсам Azure во время выполнения. Индексатор выполняет исходящие вызовы в трех ситуациях:

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

Список всех возможных типов ресурсов Azure, к которым индексатор может получить доступ в обычном запуске, приведен в таблице ниже.

Ресурс Назначение в рамках выполнения индексатора
служба хранилища Azure (большие двоичные объекты, ADLS 2-го поколения, файлы, таблицы) Источник данных
Служба хранилища Microsoft Azure (BLOB-объекты, таблицы). Наборы навыков (кэширование обогащений, сеансы отладки, проекции хранилища знаний)
Azure Cosmos DB (различные API) Источник данных
База данных SQL Azure Источник данных
SQL Server на виртуальных машинах Azure Источник данных
Управляемый экземпляр SQL Источник данных
Функции Azure Присоединено к набору навыков и используется для размещения навыков пользовательского веб-API

Примечание.

Индексатор также подключается к службам ИИ Azure для встроенных навыков. Однако это подключение выполняется через внутреннюю сеть и не распространяется на какие-либо сетевые положения под вашим контролем.

Поддерживаемые сетевые защиты

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

Ресурс Ограничение по IP-адресу Частная конечная точка
служба хранилища Azure для индексирования на основе текста (большие двоичные объекты, ADLS 2-го поколения, файлы, таблицы) Поддерживается только в том случае, если учетная запись хранения и служба поиска находятся в разных регионах. Поддерживается
служба хранилища Azure для обогащения ИИ (кэширование, сеансы отладки, хранилище знаний) Поддерживается только в том случае, если учетная запись хранения и служба поиска находятся в разных регионах. Поддерживается
Azure Cosmos DB for NoSQL Поддерживается Поддерживается
Azure Cosmos DB for MongoDB Поддерживается Не поддерживается
Azure Cosmos DB for Apache Gremlin Поддерживается Не поддерживается
База данных SQL Azure Поддерживается Поддерживается
SQL Server на виртуальных машинах Azure Поддерживается Н/П
Управляемый экземпляр SQL Поддерживается Н/П
Функции Azure Поддерживается Поддерживается, только для определенных уровней функций Azure

Среда выполнения индексатора

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

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

  • Частная среда выполнения, внутренняя в службе поиска.

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

  • Мультитенантная среда , управляемая и защищенная корпорацией Майкрософт без дополнительных затрат. Она не распространяется на какие-либо сетевые положения под вашим контролем.

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

В следующем разделе объясняется IP-конфигурация для приема запросов из любой среды выполнения.

Настройка диапазонов IP-адресов для выполнения индексатора

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

  • Чтобы получить IP-адрес службы поиска (и частной среды выполнения), используйте nslookup (или ping) для поиска полного доменного имени (FQDN) службы поиска. Полное доменное имя службы поиска в общедоступном облаке будет <service-name>.search.windows.net.

  • Чтобы получить IP-адреса сред с несколькими клиентами, в которых может выполняться индексатор, используйте AzureCognitiveSearch тег службы.

    Теги службы Azure содержат опубликованный диапазон IP-адресов для каждой службы. Эти IP-адреса можно найти с помощью API обнаружения или скачиваемого JSON-файла. Диапазоны IP-адресов выделяются по регионам, поэтому перед началом работы проверка регион службы поиска.

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

Можно указать тег службы, если источник данных имеет следующий тип:

Обратите внимание, что если вы указали тег службы для правила IP среды с несколькими клиентами, вам по-прежнему потребуется явное правило входящего трафика для частной среды выполнения (то есть сама служба поиска), как показано через nslookup.

Выбор подхода к подключению

При интеграции поиска ИИ Azure в решение, которое выполняется в виртуальной сети, рассмотрите следующие ограничения:

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

  • Служба поиска всегда выполняется в облаке и не может быть подготовлена в определенной виртуальной сети, работающей в собственном коде на виртуальной машине. Эта функция не будет предложена поиском ИИ Azure.

Учитывая приведенные выше ограничения, вы сможете выполнить интеграцию поиска в виртуальной сети:

  • Настройте правило брандмауэра для входящего трафика в ресурсе Azure PaaS, который допускает запросы индексатора для данных.

  • Настройте исходящее подключение из поиска, которое делает подключения индексатора с помощью частной конечной точки.

    Для частной конечной точки подключение службы поиска к защищенному ресурсу осуществляется через общую приватную ссылку. Общая приватная ссылка — это Приватный канал Azure ресурс, созданный, управляемый и используемый в службе "Поиск ИИ Azure". Если ресурсы полностью заблокированы (запущены в защищенной виртуальной сети или в противном случае недоступны через общедоступное подключение), частная конечная точка является единственным выбором.

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

Настройка брандмауэра IP-адресов бесплатна. Частная конечная точка, основанная на Приватный канал Azure, влияет на выставление счетов.

Работа с частной конечной точкой

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

Шаг 1. Создание частной конечной точки для защищенного ресурса

Вы создадите общую частную ссылку с помощью страниц портала службы поиска или ЧЕРЕЗ API управления.

В службе поиска ИИ Azure должна быть по крайней мере уровень "Базовый" для индексаторов на основе текста и S2 для индексаторов с наборами навыков.

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

Шаг 2. Утверждение подключения частной конечной точки

Когда асинхронная операция, создающая общий ресурс частной ссылки, будет завершена, подключение к частной конечной точке будет создано в состоянии "Ожидает". Трафик пока не проходит через это подключение.

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

Шаг 3. Принудительный запуск индексаторов в "частной" среде

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

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

    {
      "name" : "myindexer",
      ... other indexer properties
      "parameters" : {
          ... other parameters
          "configuration" : {
            ... other configuration properties
            "executionEnvironment": "Private"
          }
        }
    }

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

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

Если частная конечная точка не утверждена или индексатор не использовал подключение к частной конечной точке, вы найдете transientFailure сообщение об ошибке в журнале выполнения индексатора.

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

Служба поиска хранит индексы и списки синонимов. Для других функций, требующих хранения, поиск ИИ Azure зависит от служба хранилища Azure. Кэширование обогащения, сеансы отладки и хранилища знаний относятся к этой категории. Расположение каждой службы и все сетевые защиты для хранения определяют стратегию доступа к данным.

Службы одного региона

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

Существует два варианта поддержки доступа к данным с помощью системного удостоверения:

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

  • Настройте правило экземпляра ресурса в служба хранилища Azure, которое допускает входящие запросы из ресурса Azure.

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

Службы в разных регионах

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

Следующие шаги

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