Управление безопасностью решения поиска ИИ Azure
Организации должны доверять безопасности своих решений для поиска. Поиск по искусственному интеллекту Azure позволяет контролировать, как защитить данные, которые вы ищете.
Здесь вы узнаете, как защитить решение для поиска. Вы узнаете о том, как выполняется шифрование данных, а также о том, как защитить входящие и исходящие потоки данных. Наконец, вы увидите, как ограничить доступ к результатам поиска для определенных пользователей или групп.
Общие сведения о подходах к обеспечению безопасности
Безопасность поиска ИИ основана на существующих функциях безопасности сети Azure. Защита решения для поиска затрагивает три области:
- Входящие поисковые запросы, выполненные пользователями в решении для поиска
- Исходящие запросы из решения для поиска на другие серверы для индексирования документов
- Ограничение доступа на уровне документа для каждого поискового запроса пользователя
Шифрование данных
Azure AI служба , как и все службы Azure, шифрует данные, которые хранятся в неактивных данных с помощью ключей, управляемых службой. Такое шифрование включает индексы, источники данных, карты синонимов, наборы навыков и даже определения индексатора.
Передаваемые данные шифруются с помощью стандартного шифрования HTTPS TLS 1.3 через порт 443.
Если вы хотите использовать собственные ключи шифрования, ACS поддерживает Azure Key Vault. Преимущество использования собственных ключей, управляемых клиентом, заключается в том, что двойное шифрование будет применяться для всех объектов, для которых вы используете настраиваемые ключи.
Совет
Подробные инструкции по использованию ключей, управляемых клиентом для шифрования, см. в статье "Настройка ключей, управляемых клиентом" для шифрования данных в службе "Поиск ИИ Azure"
Безопасный входящий трафик
Если к решению поиска можно получить доступ из Интернета или приложений извне, вы можете сократить направления атак. Поиск ИИ Azure позволяет ограничить доступ к общедоступной конечной точке бесплатно с помощью брандмауэра, чтобы разрешить доступ с определенных IP-адресов.
Если служба поиска будет использоваться только локальными ресурсами, можно повысить уровень безопасности с помощью канала ExpressRoute, шлюза Azure и Службы приложений. Кроме того, можно изменить общедоступную конечную точку для использования приватного канала Azure. Вам также потребуется настроить виртуальную сеть Azure и другие ресурсы. Использование частной конечной точки является наиболее безопасным вариантом, хотя и связано с дополнительными затратами на использование этих служб, которые должны размещаться на платформе Azure.
Совет
Дополнительные сведения о частных конечных точках см. в статье "Создание частной конечной точки для безопасного подключения к поиску ИИ Azure".
Проверка подлинности запросов к решению для поиска
Когда имеется инфраструктура, позволяющая сократить направления атак в решении для поиска, фокус может сместиться на способ проверки подлинности поисковых запросов от пользователей и приложений.
По умолчанию при создании ACS используется проверка подлинности на основе ключей. Существует два отдельных типа ключей:
- Ключи администратора. Предоставляют разрешения на запись и право запрашивать системные сведения (для каждой службы поиска можно создать не более 2 ключей администратора).
- Ключи запросов. Предоставляют разрешения на чтение и используются пользователями или приложениями для запроса индексов (для каждой службы поиска можно создать не более 50 ключей запросов).
Внимание
Управление доступом на основе ролей для операций плоскости данных в настоящее время находится на этапе предварительной версии и на ее использование распространяются дополнительные условия. Роли доступны только в общедоступном облаке Azure, и их использование может увеличить задержку поисковых запросов.
Управление доступом на основе ролей (RBAC) предоставляется платформой Azure в качестве глобальной системы для управления доступом к ресурсам. RBAC можно использовать в поиске ИИ Azure следующим образом:
- Предоставление ролей для администрирования службы
- Определение ролей с доступом для создания, загрузки и запроса индексов
Встроенные роли, которые можно назначить для управления служба ИИ Azure:
- Владелец — имеет полный доступ ко всем ресурсам поиска
- Участник — аналогична роли выше, только без возможности назначать роли или изменять авторизацию
- Читатель — просмотр частичных сведений о службе
Если вам нужна роль, которая также позволяет управлять плоскостью данных, например, индексами поиска или источниками данных, используйте одну из следующих ролей:
- Участник службы поиска — роль для администраторов службы поиска (такой же уровень доступа, что и у роли участника выше) и содержимого (индексы, индексаторы, источники данных и наборы навыков).
- Участник данных индекса поиска — роль для разработчиков или владельцев индексов, которые импортируют, обновляют или запрашивают коллекцию документов индекса.
- Читатель данных индекса поиска — роль для доступа только для чтения для приложений и пользователей, которым требуется выполнять запросы
Совет
Дополнительные сведения о проверке подлинности с помощью RBAC см. в статье "Использование управления доступом на основе ролей Azure" (Azure RBAC) в службе "Поиск ИИ Azure".
Безопасный исходящий трафик
Обычно исходящий трафик индексирует исходные данные или обогащает их с помощью искусственного интеллекта (ИИ). Исходящие подключения поддерживаются с помощью проверки подлинности на основе ключей, имен входа базы данных или имен входа Microsoft Entra, если вы можете использовать идентификатор Microsoft Entra.
Если источники данных размещены на платформе Azure, вы также можете защитить подключения с помощью управляемого удостоверения, назначаемого системой или пользователем.
Службы Azure могут ограничить доступ к ним с помощью брандмауэра. Брандмауэр можно настроить только для разрешения IP-адреса служба Azure AI. При обогащении индексов с помощью ИИ необходимо также разрешить все IP-адреса в теге службы AzureCognitiveSearch.
Вы можете защитить исходные данные, находящиеся за пределами общего приватного канала, который используют индексаторы.
Внимание
Для общего приватного канала требуется уровень "Базовый" для индексирования на основе текста или уровень "Стандартный 2" (S2) для индексирования на основе навыков. Дополнительные сведения о ценах см. на странице цен на службу "Приватный канал" Azure.
Защита данных на уровне документа
Вы можете настроить поиск ИИ Azure, чтобы ограничить документы, которые кто-то может искать, например, ограничить поиск контрактных PDF-файлов пользователям в юридическом отделе.
Для управления доступом на уровне документа необходимо обновить каждый документ в индексе поиска. Необходимо добавить новое поле безопасности в каждый документ, содержащий идентификаторы пользователей или групп, которым разрешен доступ. Поле безопасности должно поддерживать использование фильтров, чтобы можно было отфильтровать результаты поиска в поле.
Когда имеется это поле, при его заполнении разрешенным пользователем или группой можно ограничить результаты, добавив фильтр search.in
ко всем поисковым запросам. Если вы используете запросы HTTP POST, текст должен выглядеть следующим образом:
{
"filter":"security_field/any(g:search.in(g, 'user_id1, group_id1, group_id2'))"
}
Это приведет к фильтрации возвращаемых результатов поиска по идентификатору пользователя и группам, к которым принадлежит этот пользователь. Если приложение может использовать идентификатор Microsoft Entra, можно использовать удостоверение пользователя и членство в группах.
Совет
Пошаговые инструкции по использованию идентификатора Microsoft Entra см. в разделе "Фильтры безопасности" для обрезки результатов поиска ИИ Azure с помощью удостоверений Active Directory.