Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Note
Поиск с использованием ИИ Azure доступна через портал Azure, REST API и Azure SDKs. Он также лежит в основе Foundry IQ — управляемого слоя знаний, который преобразует корпоративный контент в многократно используемые базы знаний с учетом разрешений доступа для агентов на портале Microsoft Foundry.
Important
Функции, возможности или свойства, помеченные (предварительная версия), не охватываются соглашением об уровне обслуживания, не рекомендуются для рабочих нагрузок и могут изменяться или ограничиваться до того, как они становятся общедоступными. Условия предварительной версии Поиск с использованием ИИ Azure применяются ко всем функциям предварительной версии, независимо от того, является ли он автономным или частью общедоступной функции.
В этом руководстве демонстрируется приём метаданных разрешений Azure Data Lake Storage (ADLS) Gen2 (предварительная версия), при котором индексатор Поиск с использованием ИИ Azure добавляет в поисковый индекс списки управления доступом (ACL) и сведения об области действия управления доступом на основе ролей (RBAC).
В нем также показано, как структурировать запрос, который учитывает разрешения доступа пользователей. Результат успешного запроса подтверждает передачу разрешений, которая произошла во время индексирования.
Дополнительные сведения об индексировании списков управления доступом см. в статье Использование индексатора ADLS 2-го поколения для приема метаданных разрешений.
В этом руководстве описано, как:
- Настройка области RBAC и списков ACL в источнике
adlsgen2данных - Создание индекса Поиск с использованием ИИ Azure, содержащего поля сведений о разрешениях
- Создание и запуск индексатора для приема сведений о разрешениях в индекс из источника данных
- Поиск только что созданного индекса
Используйте клиент REST для выполнения этого руководства и последней предварительной версии REST API. В настоящее время на портале Azure нет поддержки индексирования ACL.
Необходимые условия
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
Аутентификация и авторизация Microsoft Entra ID. Службы и приложения должны находиться в одном клиенте. Назначения ролей используются для каждого аутентифицированного соединения. Пользователи и группы должны находиться в одном клиенте. Для работы вы должны иметь пользователей и группы. Создание клиентов и субъектов безопасности выходит за рамки этого руководства.
ADLS 2-го поколения с иерархическим пространством имен.
Файлы в иерархической структуре папок. В этом руководстве предполагается демонстрация структуры папок ADLS 2-го поколения для файла
/Oregon/Portland/Data.txt. В этом руководстве описано назначение ACL для папок и файлов, чтобы выполнить упражнение успешно.Поиск с использованием ИИ Azure, любой регион. Для поддержки управляемых удостоверений требуется базовый уровень или выше.
Visual Studio Code с расширением клиента REST.
Подготовка примеров данных
Загрузите примеры данных государственных парков в контейнер в ADLS Gen2. Имя контейнера должно быть "парки", и в нём должно быть две папки: "Орегон" и "Вашингтон".
Проверка конфигурации службы поиска
Ваша служба поиска должна быть настроена для аутентификации и авторизации Microsoft Entra ID. Просмотрите этот контрольный список, чтобы убедиться, что вы подготовлены.
Получить токен личных данных для локального тестирования
В этом руководстве предполагается, что клиент REST в локальной системе подключается к Azure через общедоступное подключение к Интернету.
Follow эти действия для получения маркера личного удостоверения и настройки Visual Studio Code для локальных подключений к ресурсам Azure.
Настройка разрешений в ADLS 2-го поколения
Рекомендуется использовать Group наборы, а не назначать User наборы напрямую.
Предоставьте учетной записи службы поиска доступ на чтение контейнера. Индексатор подключается к служба хранилища Azure с использованием удостоверения службы поиска. Служба поиска должна иметь разрешения на чтение данных BLOB-объектов хранилища для получения данных.
Предоставьте разрешения на группу или пользователя в иерархии файлов. В иерархии файлов определите все
GroupиUserнаборы, назначенные контейнерам, каталогам и файлам.Вы можете использовать портал Azure для управления списками управления доступом. В браузере хранилища выберите каталог Oregon и выберите пункт "Управление ACL " в контекстном меню.
Добавьте новые субъекты безопасности для пользователей и групп.
Удалите существующие субъекты для групп владения, владельцев пользователей и других пользователей. Эти принципы не поддерживаются для индексирования ACL во время режима предварительного просмотра.
Создание индекса поиска для метаданных разрешений
Создайте индекс , содержащий поля для метаданных содержимого и разрешений.
Обязательно используйте последнюю предварительную версию REST API или пакет предварительной версии Azure SDK, предоставляющий эквивалентную функциональность. Свойства фильтра разрешений доступны только в API предварительной версии.
Для демонстрационных целей поле разрешений активировано retrievable, чтобы вы могли проверить значения в индексе. В рабочей среде следует отключить, retrievable чтобы избежать утечки конфиденциальной информации.
{
"name" : "my-adlsgen2-acl-index",
"fields": [
{
"name": "name", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "description", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "location", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "state", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "AzureSearch_DocumentKey", "type": "Edm.String",
"searchable": true, "filterable": false, "retrievable": true, "stored": true,
"key": true
},
{
"name": "UserIds", "type": "Collection(Edm.String)",
"permissionFilter": "userIds",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "GroupIds", "type": "Collection(Edm.String)",
"permissionFilter": "groupIds",
"searchable": true, "filterable": false, "retrievable": true
},
{
"name": "RbacScope", "type": "Edm.String",
"permissionFilter": "rbacScope",
"searchable": true, "filterable": false, "retrievable": true
}
],
"permissionFilterOption": "enabled"
}
Создание источника данных
Измените конфигурацию источника данных , чтобы указать прием разрешений индексатора и типы метаданных разрешений, которые требуется индексировать.
Требуется indexerPermissionOptionsисточник данных.
В этом руководстве используйте управляемое удостоверение, назначаемое системой, для аутентифицированного подключения.
{
"name" : "my-adlsgen2-acl-datasource",
"type": "adlsgen2",
"indexerPermissionOptions": ["userIds", "groupIds", "rbacScope"],
"credentials": {
"connectionString": "ResourceId=/subscriptions/<your subscription ID>/resourceGroups/<your resource group name>/providers/Microsoft.Storage/storageAccounts/<your storage account name>/;"
},
"container": {
"name": "parks",
"query": null
}
}
Создание и запуск индексатора
Конфигурация индексатора для приема разрешений в основном связана с определением fieldMappingsиз метаданных разрешений.
{
"name" : "my-adlsgen2-acl-indexer",
"dataSourceName" : "my-adlsgen2-acl-datasource",
"targetIndexName" : "my-adlsgen2-acl-index",
"parameters": {
"batchSize": null,
"maxFailedItems": 0,
"maxFailedItemsPerBatch": 0,
"configuration": {
"dataToExtract": "contentAndMetadata",
"parsingMode": "delimitedText",
"firstLineContainsHeaders": true,
"delimitedTextDelimiter": ",",
"delimitedTextHeaders": ""
},
"fieldMappings": [
{ "sourceFieldName": "metadata_user_ids", "targetFieldName": "UserIds" },
{ "sourceFieldName": "metadata_group_ids", "targetFieldName": "GroupIds" },
{ "sourceFieldName": "metadata_rbac_scope", "targetFieldName": "RbacScope" }
]
}
}
После создания индексатора и немедленного запуска содержимое файла вместе с сведениями метаданных разрешений индексируются в индекс.
Выполнение запроса для проверки результатов
Теперь, когда документы загружены, вы можете выполнять запросы к ним с помощью Documents - Search Post (REST).
Универсальный код ресурса (URI) расширен для включения запроса, который указан с использованием оператора /docs/search. Маркер запроса передается в заголовке запроса. Дополнительные сведения см. в статье ACL во время запроса и принудительное применение RBAC.
POST {{endpoint}}/indexes/stateparks/docs/search?api-version=2026-08-01-preview
Authorization: Bearer {{search-token}}
x-ms-query-source-authorization: {{search-token}}
Content-Type: application/json
{
"search": "*",
"select": "name,description,location,GroupIds",
"orderby": "name asc"
}