Sdílet prostřednictvím


Rychlý start: Připojení bez klíčů

Nakonfigurujte Azure AI Search tak, aby používalo ověřování Microsoft Entra ID a řízení přístupu na základě role (RBAC), abyste se mohli připojit z místního systému bez klíčů rozhraní API, pomocí poznámkových bloků Jupyter nebo klienta REST pro interakci s vyhledávací službou.

Pokud jste prošli dalšími rychlými starty, které se připojují pomocí klíčů rozhraní API, v tomto rychlém startu se dozvíte, jak přepnout na ověřování na základě identity, abyste se v ukázkového kódu vyhnuli pevně zakódovaným klíčům.

Požadavky

  • Předplatné Azure. Vytvořte si ho zdarma.

  • Azure AI Search, libovolná oblast nebo úroveň, ale k konfiguraci spravované identity pro Azure AI Search potřebujete Basic nebo vyšší.

  • Nástroj příkazového řádku, jako je PowerShell nebo Bash a Azure CLI.

Krok 1: Získání ID předplatného a tenanta Azure

Tento krok potřebujete, pokud máte více než jedno předplatné nebo tenanta.

  1. Získejte předplatné Azure a tenanta pro vaši vyhledávací službu:

    1. Přihlaste se k webu Azure Portal a přejděte do vyhledávací služby.

    2. Všimněte si názvu a ID předplatného v části Přehled>Essentials.

    3. Teď vyberte název předplatného, aby se na další stránce zobrazila nadřazená skupina pro správu (ID tenanta).

      Snímek obrazovky se stránkou webu Azure Portal s názvem předplatného

  2. Teď už víte, které předplatné a tenant Azure AI Search se nachází. Přepněte na místní zařízení a příkazový řádek a identifikujte aktivní předplatné a tenanta Azure na vašem zařízení:

    az account show
    
  3. Pokud se aktivní předplatné a tenant liší od informací získaných v předchozím kroku, změňte ID předplatného. Pak se přihlaste k Azure pomocí ID tenanta, které jste našli v předchozím kroku:

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

Krok 2: Konfigurace Azure AI Search pro RBAC

  1. Přihlaste se k webu Azure Portal a přejděte k Search Azure AI.

  2. Povolení řízení přístupu na základě role (RBAC):

    1. Přejděte na Klíče nastavení>.

    2. Pokud potřebujete čas převést klienty na řízení přístupu na základě role, zvolte řízení na základě rolí nebo obojí .

      Pokud zvolíte řízení na základě role, ujistěte se, že jste přiřadili všechny role pojmenované v další instrukci, nebo nebudete moct provádět úkoly na webu Azure Portal nebo prostřednictvím místního klienta.

  3. Přiřazení rolí na webu Azure Portal:

    1. Přejděte do vyhledávací služby.

    2. V levém navigačním podokně vyberte Řízení přístupu (IAM ).

    3. Vyberte + Přidat>Přidat přiřazení role.

    4. Zvolte roli (Přispěvatel vyhledávací služby, Přispěvatel dat indexu vyhledávání, Čtenář dat indexu vyhledávání) a přiřaďte ji identitě uživatele nebo skupiny Microsoft Entra.

      Opakujte pro každou roli.

      K vytváření, načítání a dotazování objektů ve službě Azure AI Search potřebujete Přispěvatel dat vyhledávací služby a Přispěvatel dat indexu vyhledávání. Další informace najdete v tématu Připojení pomocí rolí.

Tip

Pokud později dojde k chybám selhání ověřování, znovu zkontrolujte nastavení v této části. Na úrovni předplatného nebo skupiny prostředků můžou existovat zásady, které přepíší všechna zadaná nastavení rozhraní API.

Krok 3: Připojení z místního systému

Pokud jste se ještě nepřihlásili k Azure:

az login

Použití poznámkových bloků Pythonu a Jupyteru

  1. Nainstalujte knihovny Azure Identity a Azure Search:

    pip install azure-identity azure-search-documents
    
  2. Ověřování a připojení ke službě Azure AI Search:

    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)
    

Použití klienta REST

Několik rychlých startů a kurzů používá klienta REST, jako je Visual Studio Code s rozšířením REST. Tady je postup, jak se z editoru Visual Studio Code připojit k Azure AI Search.

Měli byste mít soubor .rest podobný .http souboru popsanému v rychlém startu: Vektorové vyhledávání.

  1. Vygenerujte přístupový token.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  2. V horní části souboru nastavte proměnné používané pro připojení, vložení celého koncového bodu vyhledávací služby a přístupového tokenu, který jste získali v předchozím kroku. Proměnné by měly vypadat podobně jako v následujícím příkladu. Všimněte si, že hodnoty nejsou uzavřené v uvozovkách.

    @baseUrl = https://contoso.search.search.windows.net
    @token = <a long GUID>
    
  3. Zadejte autorizační nosný token ve volání 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
          }
    

Řešení chyb 401

  • Zkontrolujte aktivní předplatné a tenanta (az account show) a ujistěte se, že je platné pro vaši vyhledávací službu.

  • Na webu Azure Portal zkontrolujte možnosti Klíče nastavení>vyhledávací služby a ověřte, že je služba nakonfigurovaná pro řízení přístupu na základě role nebo obojí.

  • Pouze pro klienta REST: Zkontrolujte token a koncový bod zadaný v souboru a ujistěte se, že neexistují žádné okolní uvozovky ani nadbytečné mezery.

Pokud všechny ostatní selže, restartujte zařízení, aby se odebraly všechny tokeny uložené v mezipaměti, a pak opakujte kroky v této části počínaje az login.

Další konfigurace

Konfigurace spravované identity pro odchozí připojení:

Konfigurace přístupu k síti: