Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как использовать поиск ИИ Azure для индексирования документов, зашифрованных с помощью ключа, управляемого клиентом, в хранилище BLOB-объектов Azure.
Как правило, индексатор не может извлекать содержимое из BLOB-объектов, которые были зашифрованы с помощью клиентского шифрования в библиотеке клиента Хранилище BLOB-объектов Azure. Это связано с тем, что индексатор не имеет доступа к ключу шифрования, управляемому клиентом, в Azure Key Vault. Однако с помощью настраиваемого навыка DecryptBlobFile и навыка извлечения документов можно предоставить управляемый доступ к ключу для расшифровки файлов и извлечения содержимого из них. Это разблокирует возможность индексирования и обогащения этих документов без ущерба для состояния шифрования хранимых документов.
Начиная с ранее зашифрованных целых документов (неструктурированный текст), таких как PDF, HTML, DOCX и PPTX в хранилище BLOB-объектов Azure, в этом руководстве используется клиент REST и REST API поиска:
- Определение конвейера, расшифровывающего документы и извлекающего из них текст
- Определение индекса для хранения выходных данных
- Выполнение конвейера для создания и загрузки индекса
- Исследуйте результаты с помощью полнотекстового поиска и расширенного синтаксиса запросов
Предпосылки
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Поиск ИИ Azure на любом уровне или регионе.
Служба хранилища Azure, стандартная производительность (генерального назначения версии 2).
Большие двоичные объекты, зашифрованные с помощью ключа, управляемого клиентом. Сведения о создании примеров данных см. в руководстве по шифрованию и расшифровке BLOB-объектов с помощью Azure Key Vault.
Azure Key Vault в той же подписке, что и Поиск с использованием ИИ Azure. Хранилище ключей должно иметь функцию мягкого удаления и защиту от очистки включенными.
Развертывание пользовательских навыков создает приложение-функцию Azure и учетную запись хранения Azure. Эти ресурсы создаются для вас, поэтому они не указаны как необходимые условия. Завершив работу с этим руководством, не забудьте очистить ресурсы, чтобы вам не выставили счет за услуги, которые вы не используете.
Замечание
Навыки часто требуют подключения ресурса Microsoft Foundry. Как написано, этот набор навыков не имеет зависимости от Foundry, поэтому ключ не требуется. Если позже вы добавите обогащения, которые вызывают встроенные навыки, не забудьте обновить набор навыков соответствующим образом.
Разверните пользовательский навык
В этом руководстве используется пример проекта DecryptBlobFile из репозитория GitHub Azure Search Power Skills. В этом разделе описано, как развернуть навык в функции Azure, чтобы ее можно было использовать в наборе навыков. Встроенный скрипт развертывания создает ресурс функции Azure с префиксом psdbf-function-app- и загружает навык. Вас попросят предоставить подписку и группу ресурсов. Обязательно выберите подписку, содержащую экземпляр Azure Key Vault.
В процессе работы навык DecryptBlobFile принимает URL-адрес и маркер SAS для каждого объекта BLOB в качестве входных данных. Он выводит скачанный расшифрованный файл с помощью файлового ссылочного контракта, который ожидается поисковыми службами Azure AI. Помните, что DecryptBlobFile требует ключа шифрования для расшифровки. В рамках настройки вы также создаете политику доступа, которая предоставляет функции DecryptBlobFile доступ к ключу шифрования в Azure Key Vault.
На целевой странице DecryptBlobFile выберите "Развернуть в Azure ", чтобы открыть шаблон Resource Manager на портале Azure.
Выберите подписку, где размещён ваш экземпляр Azure Key Vault. Это руководство не работает, если выбрать другую подписку.
Выберите существующую группу ресурсов или создайте новую. Выделенная группа ресурсов упрощает очистку позже.
Выберите "Просмотр и создание", примите условия и нажмите кнопку "Создать ", чтобы развернуть функцию Azure.
Дождитесь окончания развертывания.
У вас должно быть приложение-функция Azure, содержащее логику расшифровки и ресурс службы хранилища Azure, который будет хранить данные приложения. В следующих шагах вы предоставляете приложению разрешения для доступа к хранилищу ключей и сбора сведений, необходимых для вызовов REST.
Предоставление разрешений в Azure Key Vault
Перейдите в службу Azure Key Vault на портале Azure. Создайте политику доступа в Azure Key Vault, которая предоставляет доступ к пользовательскому навыку с помощью ключа.
В левой области выберите политики доступа и нажмите кнопку "Создать ", чтобы запустить мастер создания политики доступа .
На странице "Разрешения" в разделе "Настройка из шаблона" выберите Azure Data Lake Storage или службу хранилища Azure.
Нажмите кнопку Далее.
На странице Главная выберите развернутый экземпляр функции Azure. Его можно найти с помощью префикса ресурса, который имеет значение по умолчанию psdbf-function-app.
Нажмите кнопку Далее.
В разделе "Проверка и создание" нажмите кнопку "Создать".
Сбор сведений о приложении
Перейдите к функции psdbf-function-app на портале Azure. Запишите следующие свойства, необходимые для вызовов REST.
Получите URL-адрес функции, который можно найти в разделе Essentials на главной странице функции.
Получите код ключа узла, который можно найти, перейдя к ключам приложений и показывая ключ по умолчанию и копируя значение.
Получение ключа администратора и URL-адреса для поиска искусственного интеллекта Azure
Перейдите в службу поиска в портал Azure.
На странице обзора службы поиска получите имя службы поиска. Вы можете подтвердить имя службы, просмотрив URL-адрес конечной точки. Например, если ваш URL-адрес конечной точки —
https://mydemo.search.windows.net, имя вашей службы —mydemo.В разделе Настройки>Ключи получите ключ администратора для полного доступа к службе. Существуют два взаимозаменяемых ключа администратора, предоставляемых для обеспечения континуитета бизнеса, если необходимо заменить один из них. Вы можете использовать либо один из ключей для запросов чтобы добавлять, изменять или удалять объекты.
Ключ API требуется в заголовке каждого запроса, отправленного в службу. Допустимый ключ устанавливает доверие на основе каждого отдельного запроса между отправляющим запрос приложением и службой, обрабатывающей его.
Настройка клиента REST
Создайте следующие переменные для конечных точек и ключей.
| Variable | Где получить его |
|---|---|
admin-key |
На странице "Ключи " службы поиска ИИ Azure. |
search-service-name |
Имя службы поиска ИИ Azure. URL-адрес: https://{{search-service-name}}.search.windows.net. |
storage-connection-string |
В учетной записи хранения на вкладке "Ключи доступа" выберите key1>строку подключения. |
storage-container-name |
Имя контейнера BLOB-объектов с зашифрованными файлами для индексирования. |
function-uri |
В функции Azure в разделе Essentials на главной странице. |
function-code |
В функции Azure перейдите к ключам приложений, отображая ключ по умолчанию и скопируйте значение. |
api-version |
Оставьте как 2020-06-30. |
datasource-name |
Оставьте как encrypted-blobs-ds. |
index-name |
Оставьте как encrypted-blobs-idx. |
skillset-name |
Оставьте зашифрованные blob-ss. |
indexer-name |
Оставьте значение encrypted-blobs-ixr. |
Проверка и выполнение каждого запроса
Используйте следующие HTTP-запросы для создания объектов конвейера обогащения.
Запрос PUT для создания индекса: этот индекс поиска содержит данные, которые использует и возвращает поиск Azure AI.
POST-запрос для создания источника данных указывает подключение к учетной записи хранения, содержащей зашифрованные файлы BLOB.
Запрос PUT для создания набора навыков: набор навыков задает пользовательское определение навыка для функции Azure, которая расшифровывает данные файла BLOB-объектов. Он также указывает DocumentExtractionSkill для извлечения текста из каждого документа после расшифровки.
Запрос PUT для создания индексатора: запуск индексатора извлекает большие двоичные объекты, применяет набор навыков и индексирует и сохраняет результаты. Этот запрос необходимо выполнить последним. Пользовательский навык в наборе навыков активирует логику дешифровки.
Мониторинг индексирования
Индексирование и обогащение начинаются сразу после отправки запроса создания индексатора. В зависимости от количества документов в учетной записи хранения индексирование может занять некоторое время. Чтобы узнать, работает ли индексатор, отправьте запрос состояния индексатора и просмотрите ответ, чтобы узнать, работает ли индексатор или просматривает сведения об ошибках и предупреждениях.
Если вы используете уровень "Бесплатный", ожидается следующее сообщение: "Could not extract content or metadata from your document. Truncated extracted text to '32768' characters" Это сообщение появляется, так как индексирование BLOB-объектов на уровне "Бесплатный" имеет ограничение на 32 000 при извлечении символов. Это сообщение не отображается для этого набора данных на более высоких уровнях.
Поиск вашего контента
После завершения выполнения индексатора можно выполнить запросы, чтобы убедиться, что данные успешно расшифровываются и индексируются. Перейдите в службу поиска ИИ Azure на портале Azure и используйте обозреватель поиска для выполнения запросов по индексированных данных.
Очистите ресурсы
Если вы работаете в рамках своей подписки, после завершения проекта целесообразно удалить ресурсы, которые вам больше не нужны. Оставленные без присмотра ресурсы могут стоить вам денег. Вы можете удалить ресурсы по отдельности или удалить группу ресурсов, чтобы удалить весь набор ресурсов.
Ресурсы на портале Azure можно найти и управлять ими, используя ссылку "Все ресурсы" или "Группы ресурсов" в области навигации слева.
Дальнейшие шаги
Теперь, когда вы индексировали зашифрованные файлы, вы можете выполнить итерацию в этом конвейере, добавив дополнительные навыки для обогащения и получения дополнительных сведений о данных.
Если вы работаете с зашифрованными данными, вам может потребоваться изучить функции шифрования индекса, доступные в службе "Поиск ИИ Azure". Хотя индексатору требуются расшифрованные данные для индексирования, после того как индекс существует, он может быть зашифрован в индексе поиска с помощью ключа, управляемого клиентом. Это гарантирует, что ваши данные всегда шифруются при хранении. Дополнительные сведения см. в статье о настройке ключей, управляемых клиентом, для шифрования данных в службе "Поиск ИИ Azure".