Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом руководстве показано, как индексировать списки управления доступом Azure Data Lake Storage (ADLS) 2-го поколения и области управления доступом на основе ролей (RBAC) в индекс поиска с помощью индексатора.
В нем также показано, как структурировать запрос, который учитывает разрешения доступа пользователей. Результат успешного запроса подтверждает передачу разрешений, которая произошла во время индексирования.
Дополнительные сведения об индексировании списков управления доступом см. в статье Использование индексатора ADLS 2-го поколения для приема метаданных разрешений.
В этом руководстве вы узнаете, как:
- Настройка области действия RBAC и списков управления доступом (ACL) в источнике
adlsgen2данных - Создание индекса поиска Azure AI с полями сведений о разрешениях
- Создание и запуск индексатора для приема сведений о разрешениях в индекс из источника данных
- Поиск по индексу, который вы только что создали.
Используйте клиент REST для выполнения этого руководства и последней предварительной версии REST API. В настоящее время на портале Azure нет поддержки индексирования ACL.
Предпосылки
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
Проверка подлинности и авторизация идентификатора Microsoft Entra. Службы и приложения должны находиться в одном арендаторе. Назначения ролей используются для каждого аутентифицированного подключения. Пользователи и группы должны находиться в одном клиенте. Для работы у вас должны быть пользователи и группы. Создание арендаторов и субъектов безопасности не входит в область охвата данного руководства.
ADLS 2-го поколения с иерархическим пространством имен.
Файлы в иерархической структуре папок. В этом руководстве предполагается демонстрация структуры папок ADLS 2-го поколения для файла
/Oregon/Portland/Data.txt. В этом руководстве описано назначение ACL для папок и файлов, чтобы выполнить упражнение успешно.Поиск ИИ Azure, любой регион. Для поддержки управляемых удостоверений требуется базовый уровень или выше.
Подготовка примера данных
Отправьте примеры данных о государственных парках в контейнер в ADLS 2-го поколения. Имя контейнера должно быть "парки", и оно должно иметь две папки: "Орегон" и "Вашингтон".
Проверка конфигурации службы поиска
Служба поиска должна быть настроена для проверки подлинности и авторизации идентификатора Microsoft Entra. Просмотрите этот контрольный список, чтобы убедиться, что вы подготовлены.
Получение токена идентичности для локального тестирования
В этом руководстве предполагается, что клиент REST в локальной системе подключается к Azure через общедоступное подключение к Интернету.
Выполните следующие шаги, чтобы получить персональный идентификационный токен и настроить Visual Studio Code для подключения к локальным ресурсам Azure.
Настройка разрешений в ADLS 2-го поколения
Рекомендуется использовать Group наборы, а не непосредственно присваивать User наборы.
Предоставьте удостоверению личности службы поиска доступ на чтение контейнера. Индексатор подключается к службе хранилища Azure с учетной записью службы поиска. Служба поиска должна иметь разрешения для чтения данных Blob-объектов хранилища для получения данных.
Предоставьте разрешения на группу или пользователя в иерархии файлов. В иерархии файлов определите все
GroupиUserнаборы, назначенные контейнерам, каталогам и файлам.С помощью портала Azure можно управлять списками управления доступом. В браузере хранилища выберите каталог Oregon и выберите пункт "Управление ACL " в контекстном меню.
Добавьте новые объекты безопасности для пользователей и групп.
Удалите существующие принципы для групп владельцев, владельцев пользователей и других. Эти субъекты не поддерживаются для индексирования ACL в рамках общедоступного предварительного просмотра.
Создание индекса поиска для метаданных разрешений
Создайте индекс , содержащий поля для метаданных содержимого и разрешений.
Обязательно используйте последнюю предварительную версию REST API или пакет пакета SDK Для Azure предварительной версии, который предоставляет эквивалентные функциональные возможности. Свойства фильтра разрешений доступны только в 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" }
]
}
}
После создания индексатора и немедленного запуска содержимое файла вместе с сведениями метаданных разрешений индексируются в индекс.
Выполнение запроса для проверки результатов
Теперь, когда документы загружены, вы можете выдавать запросы к ним с помощью Документы — поиск через Post (REST).
Универсальный код ресурса (URI) расширен для включения входных данных запроса, которые задаются с помощью оператора /docs/search. Маркер запроса передается в заголовке запроса. Для получения дополнительной информации см. ACL во время выполнения запроса и применение RBAC.
POST {{endpoint}}/indexes/stateparks/docs/search?api-version=2025-11-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"
}