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

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

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

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

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

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

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

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

Примечание.

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

Индексаторы подключаются к ресурсам с помощью следующих подходов:

  • Общедоступная конечная точка с учетными данными
  • Частная конечная точка с помощью Приватный канал Azure
  • Подключение в качестве доверенной службы
  • Подключение через IP-адрес

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

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

Ресурсы 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" определяет лучшую среду, в которой выполняется индексатор. В зависимости от числа и типов назначенных задач индексатор будет выполняться в одной из двух сред/

Среда выполнения Description
Private Внутренняя служба поиска. Индексаторы, работающие в частной среде, совместно используют вычислительные ресурсы с другими рабочими нагрузками индексирования и запросов в той же службе поиска. Если вы настроили частное подключение между индексатором и данными, например общей приватной ссылкой, это единственная попытка выполнения, которую можно использовать, и она используется автоматически.
мультитенантный Управляемые и защищенные корпорацией Майкрософт дополнительные затраты. Она не распространяется на какие-либо сетевые положения под вашим контролем. Эта среда используется для разгрузки вычислительно-ресурсоемких операций, в результате чего ресурсы, зависящие от службы, доступны для выполнения подпрограмм. Примеры заданий индексатора с интенсивным ресурсом включают наборы навыков, обработку больших документов или обработку большого объема документов.

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

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

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

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

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

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

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

Настройка правил IP-адресов для SQL Azure

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

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

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

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

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

Подход Сведения
Защита входящего подключения к ресурсу Azure Настройте правило брандмауэра для входящего трафика в ресурсе Azure, который допускает запросы индексатора для данных. Конфигурация брандмауэра должна включать тег службы для мультитенантного выполнения и IP-адрес службы поиска. См. статью "Настройка правил брандмауэра для разрешения доступа индексатора".
Частное подключение между поиском ИИ Azure и ресурсом Azure Настройте общую приватную ссылку, используемую исключительно службой поиска для подключений к ресурсу. Подключения перемещают по внутренней сети и обходят общедоступный Интернет. Если ресурсы полностью заблокированы (запущены в защищенной виртуальной сети или в противном случае недоступны через общедоступное подключение), частная конечная точка является единственным выбором. См. статью "Сделать исходящие подключения через частную конечную точку".

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

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

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

Рекомендации по использованию частной конечной точки

Этот раздел сужается в параметре приватного подключения.

  • Для общего приватного канала требуется служба поиска с выставлением счетов, где минимальный уровень — базовый для индексирования на основе текста или стандартный 2 (S2) для индексирования на основе навыков. Дополнительные сведения см . в ограничениях уровня на количество частных конечных точек.
  • После создания общей приватной ссылки служба поиска всегда использует ее для каждого подключения индексатора к конкретному ресурсу Azure. Частное подключение блокируется и применяется внутри системы. Вы не можете обойти частное подключение для общедоступного подключения.

  • Требуется оплачиваемый Приватный канал Azure ресурс.

  • Требуется, чтобы владелец подписки одобрил подключение частной конечной точки.

  • Требуется отключить мультитенантную среду выполнения для индексатора.

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

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

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

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

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

Дополнение сетевой безопасности с проверкой подлинности маркеров

Брандмауэры и сетевая безопасность являются первым шагом в предотвращении несанкционированного доступа к данным и операциям. Авторизация должна быть следующим шагом.

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

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

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

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

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

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

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

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

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

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

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

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

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

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