Dela via


Snabbstart: Ansluta till en söktjänst

I den här snabbstarten använder du rollbaserad åtkomstkontroll (RBAC) och Microsoft Entra-ID för att upprätta en nyckellös anslutning till din Azure AI Search-tjänst. Sedan använder du Python i Visual Studio Code för att interagera med din tjänst.

Nyckellösa anslutningar ger förbättrad säkerhet genom detaljerade behörigheter och identitetsbaserad autentisering. Vi rekommenderar inte hårdkodade API-nycklar, men om du föredrar dem kan du läsa Ansluta till Azure AI Search med hjälp av nycklar.

Förutsättningar

Konfigurera rollbaserad åtkomst

I det här avsnittet aktiverar du RBAC på din Azure AI Search-tjänst och tilldelar de roller som krävs för att skapa, läsa in och fråga efter sökobjekt. Mer information om de här stegen finns i Ansluta till Azure AI Search med hjälp av roller.

Så här konfigurerar du åtkomst:

  1. Logga in på Azure-portalen och välj din söktjänst.

  2. Välj Inställningar > Nycklar i den vänstra rutan.

  3. Välj Rollbaserad åtkomstkontroll eller Båda om du behöver tid för att överföra klienter till RBAC.

    Skärmbild av alternativen för åtkomstkontroll i Azure-portalen.

  4. Välj Åtkomstkontroll (IAM) i den vänstra rutan.

  5. Välj Lägg till>Lägg till rolltilldelning.

    Skärmbild av den nedrullningsbara menyn för att lägga till en rolltilldelning i Azure-portalen.

  6. Tilldela rollen Search Service Contributor till ditt användarkonto eller din hanterade identitet.

  7. Upprepa rolltilldelningen för Search Index Data Contributor.

Hämta tjänstinformation

I det här avsnittet hämtar du prenumerations-ID och slutpunkt för din Azure AI Search-tjänst. Om du bara har en prenumeration hoppar du över prenumerations-ID:t och hämtar bara slutpunkten. Du använder dessa värden i de återstående avsnitten i den här snabbstarten.

Så här hämtar du din tjänstinformation:

  1. Logga in på Azure-portalen och välj din söktjänst.

  2. Välj Översikt i den vänstra rutan.

  3. Anteckna prenumerations-ID och slutpunkt.

    Skärmbild av prenumerations-ID och slutpunkt i Azure-portalen.

Logga in på Azure

Innan du ansluter till azure AI Search-tjänsten använder du Azure CLI för att logga in på prenumerationen som innehåller din tjänst. Det här steget etablerar din Microsoft Entra-identitet, som DefaultAzureCredential använder för att autentisera begäranden i nästa avsnitt.

Så här loggar du in:

  1. Öppna ett kommandoradsverktyg i det lokala systemet.

  2. Logga in på Azure. Om du har flera prenumerationer väljer du det vars ID du fick i Hämta tjänstinformation.

    az login
    

Anmärkning

Det här avsnittet illustrerar det grundläggande Python-mönstret för nyckellösa anslutningar. Omfattande vägledning finns i en specifik snabbstart eller självstudie, till exempel Snabbstart: Köra agentisk hämtning i Azure AI Search.

Du kan använda Python-notebook-filer i Visual Studio Code för att skicka begäranden till din Azure AI Search-tjänst. Använd klassen från Azure Identity-biblioteket för att begära autentisering DefaultAzureCredential .

Så här ansluter du med Python:

  1. Öppna Visual Studio Code i ditt lokala system.

  2. Skapa en .ipynb-fil.

  3. Skapa en kodcell för att installera biblioteken azure-identity och azure-search-documents .

    pip install azure-identity azure-search-documents
    
  4. Skapa en annan kodcell för att autentisera och ansluta till söktjänsten.

    from azure.identity import DefaultAzureCredential
    from azure.search.documents.indexes import SearchIndexClient
    
    service_endpoint = "PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE"
    credential = DefaultAzureCredential()
    client = SearchIndexClient(endpoint=service_endpoint, credential=credential)
    
    # List existing indexes
    indexes = client.list_indexes()
    
    for index in indexes:
       index_dict = index.as_dict()
       print(json.dumps(index_dict, indent=2))
    
  5. Ange service_endpoint det värde som du fick i Hämta tjänstinformation.

  6. Välj Kör alla för att köra båda kodcellerna.

    Utdata bör visa en lista över befintliga index (om några) i söktjänsten, vilket indikerar en lyckad anslutning.

Felsöka 401-fel

Om du får ett 401-fel följer du de här felsökningsstegen:

  • Gå tillbaka till Konfigurera rollbaserad åtkomst. Söktjänsten måste ha rollbaserad åtkomstkontroll eller Båda aktiverade. Principer på prenumerations- eller resursgruppsnivå kan också åsidosätta dina rolltilldelningar.

  • Gå tillbaka till Logga in på Azure. Du måste logga in på prenumerationen som innehåller din söktjänst.

  • Kontrollera att slutpunktsvariabeln har omgivande citattecken.

  • Om allt annat misslyckas startar du om enheten för att ta bort cachelagrade token och upprepar sedan stegen i den här snabbstarten och börjar med Logga in på Azure.

I den här snabbstarten använder du rollbaserad åtkomstkontroll (RBAC) och Microsoft Entra-ID för att upprätta en nyckellös anslutning till din Azure AI Search-tjänst. Sedan använder du REST i Visual Studio Code för att interagera med din tjänst.

Nyckellösa anslutningar ger förbättrad säkerhet genom detaljerade behörigheter och identitetsbaserad autentisering. Vi rekommenderar inte hårdkodade API-nycklar, men om du föredrar dem kan du läsa Ansluta till Azure AI Search med hjälp av nycklar.

Förutsättningar

Konfigurera rollbaserad åtkomst

I det här avsnittet aktiverar du RBAC på din Azure AI Search-tjänst och tilldelar de roller som krävs för att skapa, läsa in och fråga efter sökobjekt. Mer information om de här stegen finns i Ansluta till Azure AI Search med hjälp av roller.

Så här konfigurerar du åtkomst:

  1. Logga in på Azure-portalen och välj din söktjänst.

  2. Välj Inställningar > Nycklar i den vänstra rutan.

  3. Välj Rollbaserad åtkomstkontroll eller Båda om du behöver tid för att överföra klienter till RBAC.

    Skärmbild av alternativen för åtkomstkontroll i Azure-portalen.

  4. Välj Åtkomstkontroll (IAM) i den vänstra rutan.

  5. Välj Lägg till>Lägg till rolltilldelning.

    Skärmbild av den nedrullningsbara menyn för att lägga till en rolltilldelning i Azure-portalen.

  6. Tilldela rollen Search Service Contributor till ditt användarkonto eller din hanterade identitet.

  7. Upprepa rolltilldelningen för Search Index Data Contributor.

Hämta tjänstinformation

I det här avsnittet hämtar du prenumerations-ID och slutpunkt för din Azure AI Search-tjänst. Om du bara har en prenumeration hoppar du över prenumerations-ID:t och hämtar bara slutpunkten. Du använder dessa värden i de återstående avsnitten i den här snabbstarten.

Så här hämtar du din tjänstinformation:

  1. Logga in på Azure-portalen och välj din söktjänst.

  2. Välj Översikt i den vänstra rutan.

  3. Anteckna prenumerations-ID och slutpunkt.

    Skärmbild av prenumerations-ID och slutpunkt i Azure-portalen.

Hämta token

Innan du ansluter till azure AI Search-tjänsten använder du Azure CLI för att logga in på prenumerationen som innehåller din tjänst och generera en Microsoft Entra-ID-token. Du använder den här token för att autentisera begäranden i nästa avsnitt.

Så här hämtar du din token:

  1. Öppna ett kommandoradsverktyg i det lokala systemet.

  2. Logga in på Azure. Om du har flera prenumerationer väljer du det vars ID du fick i Hämta tjänstinformation.

    az login
    
  3. Generera en åtkomsttoken.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  4. Anteckna tokenresultat.

Anmärkning

Det här avsnittet illustrerar det grundläggande REST-mönstret för nyckellösa anslutningar. Omfattande vägledning finns i en specifik snabbstart eller självstudie, till exempel Snabbstart: Köra agentisk hämtning i Azure AI Search.

Du kan använda REST-klienttillägget i Visual Studio Code för att skicka begäranden till din Azure AI Search-tjänst. För autentisering av begäran ska du inkludera en Authorization rubrik med den Microsoft Entra-ID-token som du skapade tidigare.

Så här ansluter du med REST:

  1. Öppna Visual Studio Code i ditt lokala system.

  2. Skapa en .rest eller .http fil.

  3. Klistra in följande platshållare och förfrågan i filen.

    @baseUrl = PUT-YOUR-SEARCH-SERVICE-ENDPOINT-HERE
    @token = PUT-YOUR-PERSONAL-IDENTITY-TOKEN-HERE
    
    ### List existing indexes
    GET {{baseUrl}}/indexes?api-version=2024-07-01  HTTP/1.1
       Content-Type: application/json
       Authorization: Bearer {{token}}
    
  4. Ersätt @baseUrl med det värde som du fick i Hämta tjänstinformation.

  5. Ersätt @token med det värde som du fick i Hämta token.

  6. Under ### List existing indexesväljer du Skicka begäran.

    Du bör få ett HTTP/1.1 200 OK svar som anger en lyckad anslutning till söktjänsten.

Felsöka 401-fel

Om du får ett 401-fel följer du de här felsökningsstegen:

  • Gå tillbaka till Konfigurera rollbaserad åtkomst. Söktjänsten måste ha rollbaserad åtkomstkontroll eller Båda aktiverade. Principer på prenumerations- eller resursgruppsnivå kan också åsidosätta dina rolltilldelningar.

  • Gå tillbaka till Hämta token. Du måste logga in på prenumerationen som innehåller din söktjänst.

  • Kontrollera att dina slutpunkts- och tokenvariabler inte har omgivande citattecken eller extra blanksteg.

  • Kontrollera att din token inte har symbolen @ i begärandehuvudet. Om variabeln till exempel är @tokenska referensen i begäran vara {{token}}.

  • Om allt annat misslyckas startar du om enheten för att ta bort cachelagrade token och upprepar sedan stegen i den här snabbstarten och börjar med Hämta token.