Поделиться через


Краткое руководство. Подключение без ключей

Настройте поиск ИИ Azure для использования проверки подлинности идентификатора Microsoft Entra ID и управления доступом на основе ролей (RBAC), чтобы вы могли подключаться из локальной системы без ключей API, используя записные книжки Jupyter или клиент REST для взаимодействия со службой поиска.

При переходе к другим кратким руководствам, которые подключаются с помощью ключей API, в этом кратком руководстве показано, как переключиться на проверку подлинности на основе удостоверений, чтобы избежать жестко закодированных ключей в примере кода.

Необходимые компоненты

  • Подписка Azure. Создайте ее бесплатно.

  • Поиск ИИ Azure, любой регион или уровень, но вам нужен базовый или более высокий уровень, чтобы настроить управляемое удостоверение для поиска ИИ Azure.

  • Средство командной строки, например PowerShell или Bash, и Azure CLI.

Шаг 1. Получение идентификаторов подписки и клиента Azure

Этот шаг необходим, если у вас несколько подписок или клиентов.

  1. Получите подписку Azure и клиент для службы поиска:

    1. Войдите в портал Azure и перейдите в службу поиска.

    2. Обратите внимание на имя подписки и идентификатор в обзоре>Essentials.

    3. Теперь выберите имя подписки, чтобы отобразить родительскую группу управления (идентификатор клиента) на следующей странице.

      Снимок экрана: страница портал Azure с именем подписки

  2. Теперь вы знаете, какая подписка и клиент Azure AI Search находится в разделе. Перейдите на локальное устройство и командную строку и определите активную подписку Azure и клиент на своем устройстве:

    az account show
    
  3. Если активная подписка и клиент отличаются от сведений, полученных на предыдущем шаге, измените идентификатор подписки. Затем войдите в Azure с помощью идентификатора клиента, который вы нашли на предыдущем шаге:

     az account set --subscription <your-subscription-id>
    
     az login --tenant <your-tenant-id>
    

Шаг 2. Настройка поиска ИИ Azure для RBAC

  1. Войдите в портал Azure и перейдите к служба Azure AI.

  2. Включите управление доступом на основе ролей (RBAC):

    1. Перейдите к ключам> параметров.

    2. Выберите элемент управления на основе ролей или оба , если требуется время для перехода клиентов на управление доступом на основе ролей.

      Если выбрать элемент управления на основе ролей, убедитесь, что вы назначаете себе все роли, именованные в следующей инструкции, или вы не сможете выполнять задачи в портал Azure или через локальный клиент.

  3. Назначьте роли в портал Azure:

    1. Перейдите к своей службе поиска

    2. На расположенной слева панели навигации щелкните Управление доступом (IAM).

    3. Выберите + Добавить>Добавить назначение ролей.

    4. Выберите роль (участник службы поиска, участник индекса поиска, читатель индексов поиска) и назначьте ее пользователю Microsoft Entra или удостоверению группы.

      Повторите для каждой роли.

      Вам нужен участник службы поиска и участник данных индекса поиска для создания, загрузки и запроса объектов в службе поиска ИИ Azure. Дополнительные сведения см. в разделе "Подключение с помощью ролей".

Совет

Позже при возникновении ошибок проверки подлинности проверьте параметры в этом разделе. На уровне подписки или группы ресурсов могут быть политики, которые переопределяют все заданные параметры API.

Шаг 3. Подключение из локальной системы

Если вы еще не вошли в Azure:

az login

Использование записных книжек Python и Jupyter

  1. Установите библиотеки удостоверений Azure и службы поиска Azure:

    pip install azure-identity azure-search-documents
    
  2. Проверка подлинности и подключение к поиску ИИ 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 файл, аналогичный описанному в кратком руководстве. Поиск вектора.

  1. Создайте маркер доступа.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  2. В верхней части файла задайте переменные, используемые для подключения, вставив полную конечную точку службы поиска и маркер доступа, полученный на предыдущем шаге. Переменные должны выглядеть примерно так, как показано в следующем примере. Обратите внимание, что значения не заключены в кавычки.

    @baseUrl = https://contoso.search.search.windows.net
    @token = <a long GUID>
    
  3. Укажите маркер носителя авторизации в вызове 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 на основе IP-адреса.