Краткое руководство. Подключение без ключей
Настройте поиск ИИ Azure для использования проверки подлинности идентификатора Microsoft Entra ID и управления доступом на основе ролей (RBAC), чтобы вы могли подключаться из локальной системы без ключей API, используя записные книжки Jupyter или клиент REST для взаимодействия со службой поиска.
При переходе к другим кратким руководствам, которые подключаются с помощью ключей API, в этом кратком руководстве показано, как переключиться на проверку подлинности на основе удостоверений, чтобы избежать жестко закодированных ключей в примере кода.
Необходимые компоненты
Подписка Azure. Создайте ее бесплатно.
Поиск ИИ Azure, любой регион или уровень, но вам нужен базовый или более высокий уровень, чтобы настроить управляемое удостоверение для поиска ИИ Azure.
Средство командной строки, например PowerShell или Bash, и Azure CLI.
Шаг 1. Получение идентификаторов подписки и клиента Azure
Этот шаг необходим, если у вас несколько подписок или клиентов.
Получите подписку Azure и клиент для службы поиска:
Войдите в портал Azure и перейдите в службу поиска.
Обратите внимание на имя подписки и идентификатор в обзоре>Essentials.
Теперь выберите имя подписки, чтобы отобразить родительскую группу управления (идентификатор клиента) на следующей странице.
Теперь вы знаете, какая подписка и клиент Azure AI Search находится в разделе. Перейдите на локальное устройство и командную строку и определите активную подписку Azure и клиент на своем устройстве:
az account show
Если активная подписка и клиент отличаются от сведений, полученных на предыдущем шаге, измените идентификатор подписки. Затем войдите в Azure с помощью идентификатора клиента, который вы нашли на предыдущем шаге:
az account set --subscription <your-subscription-id> az login --tenant <your-tenant-id>
Шаг 2. Настройка поиска ИИ Azure для RBAC
Войдите в портал Azure и перейдите к служба Azure AI.
Включите управление доступом на основе ролей (RBAC):
Перейдите к ключам> параметров.
Выберите элемент управления на основе ролей или оба , если требуется время для перехода клиентов на управление доступом на основе ролей.
Если выбрать элемент управления на основе ролей, убедитесь, что вы назначаете себе все роли, именованные в следующей инструкции, или вы не сможете выполнять задачи в портал Azure или через локальный клиент.
Назначьте роли в портал Azure:
Перейдите к своей службе поиска
На расположенной слева панели навигации щелкните Управление доступом (IAM).
Выберите + Добавить>Добавить назначение ролей.
Выберите роль (участник службы поиска, участник индекса поиска, читатель индексов поиска) и назначьте ее пользователю Microsoft Entra или удостоверению группы.
Повторите для каждой роли.
Вам нужен участник службы поиска и участник данных индекса поиска для создания, загрузки и запроса объектов в службе поиска ИИ Azure. Дополнительные сведения см. в разделе "Подключение с помощью ролей".
Совет
Позже при возникновении ошибок проверки подлинности проверьте параметры в этом разделе. На уровне подписки или группы ресурсов могут быть политики, которые переопределяют все заданные параметры API.
Шаг 3. Подключение из локальной системы
Если вы еще не вошли в Azure:
az login
Использование записных книжек Python и Jupyter
Установите библиотеки удостоверений Azure и службы поиска Azure:
pip install azure-identity azure-search-documents
Проверка подлинности и подключение к поиску ИИ Azure:
from azure.identity import DefaultAzureCredential from azure.search.documents import SearchClient service_endpoint = "https://<your-search-service-name>.search.windows.net" index_name = "hotels-sample-index" credential = DefaultAzureCredential() client = SearchClient(endpoint=service_endpoint, index_name=index_name, credential=credential) results = client.search("beach access") for result in results: print(result)
Использование клиента REST
В нескольких кратких руководствах и руководствах используется клиент REST, например Visual Studio Code с расширением REST. Вот как подключиться к службе "Поиск ИИ Azure" из Visual Studio Code.
У вас должен быть .rest
файл или .http
файл, аналогичный описанному в кратком руководстве. Поиск вектора.
Создайте маркер доступа.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
В верхней части файла задайте переменные, используемые для подключения, вставив полную конечную точку службы поиска и маркер доступа, полученный на предыдущем шаге. Переменные должны выглядеть примерно так, как показано в следующем примере. Обратите внимание, что значения не заключены в кавычки.
@baseUrl = https://contoso.search.search.windows.net @token = <a long GUID>
Укажите маркер носителя авторизации в вызове REST:
POST https://{{baseUrl}}/indexes/hotels-sample-index/docs/search?api-version=2024-07-01 HTTP/1.1 Content-type: application/json Authorization: Bearer {{token}} { "queryType": "simple", "search": "beach access", "filter": "", "select": "HotelName,Description,Category,Tags", "count": true }
Устранение ошибок 401
Проверьте активную подписку и клиент (
az account show
) и убедитесь, что она действительна для службы поиска.Проверьте параметры параметров> службы поиска в портал Azure и убедитесь, что служба настроена для обоих" или управления доступом на основе ролей.
Только для клиента REST: проверьте маркер и конечную точку, указанную в файле, и убедитесь, что окружающие кавычки или дополнительные пробелы отсутствуют.
Если все остальное не удается, перезапустите устройство, чтобы удалить все кэшированные маркеры, а затем повторите действия, описанные в этом разделе, начиная с az login
.
Дополнительная настройка
Настройте управляемое удостоверение для исходящих подключений:
Настройте управляемое удостоверение , назначаемое системой или назначаемое пользователем, для службы поиска.
Используйте назначения ролей для авторизации доступа к другим ресурсам Azure.
Конфигурация сетевого доступа:
- Задайте правила для входящих подключений, чтобы принять или отклонить запросы к поиску ИИ Azure на основе IP-адреса.