Dela via


Snabbstart: Ansluta utan nycklar

Konfigurera Azure AI Search för att använda Microsoft Entra ID-autentisering och rollbaserad åtkomstkontroll (RBAC) så att du kan ansluta från ditt lokala system utan API-nycklar, med hjälp av Jupyter Notebooks eller en REST-klient för att interagera med din söktjänst.

Om du har gått igenom andra snabbstarter som ansluter med HJÄLP av API-nycklar visar den här snabbstarten hur du växlar till identitetsbaserad autentisering så att du kan undvika hårdkodade nycklar i exempelkoden.

Förutsättningar

  • En Azure-prenumeration. Skapa en kostnadsfritt.

  • Azure AI Search, valfri region eller nivå, men du behöver Basic eller senare för att konfigurera en hanterad identitet för Azure AI Search.

  • Ett kommandoradsverktyg, till exempel PowerShell eller Bash, och Azure CLI.

Steg 1: Hämta din Azure-prenumeration och klientorganisations-ID

Du behöver det här steget om du har fler än en prenumeration eller klientorganisation.

  1. Hämta Azure-prenumerationen och klientorganisationen för din söktjänst:

    1. Logga in på Azure Portal och gå till söktjänsten.

    2. Lägg märke till prenumerationsnamnet och ID:t i Översikt>Essentials.

    3. Välj nu prenumerationsnamnet för att visa den överordnade hanteringsgruppen (klientorganisations-ID) på nästa sida.

      Skärmbild av sidan Azure Portal som anger prenumerationsnamnet

  2. Nu vet du vilken prenumeration och klientorganisation Azure AI Search finns under. Växla till din lokala enhet och en kommandotolk och identifiera den aktiva Azure-prenumerationen och klientorganisationen på enheten:

    az account show
    
  3. Om den aktiva prenumerationen och klientorganisationen skiljer sig från den information som erhölls i föregående steg ändrar du prenumerations-ID:t. Logga sedan in på Azure med hjälp av klientorganisations-ID:t som du hittade i föregående steg:

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

Steg 2: Konfigurera Azure AI Search för RBAC

  1. Logga in på Azure Portal och gå till din Azure AI-tjänsten Search.

  2. Aktivera rollbaserad åtkomstkontroll (RBAC):

    1. Gå till Inställningar>nycklar.

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

      Om du väljer Rollbaserad kontroll kontrollerar du att du tilldelar dig själv alla roller som namnges i nästa instruktion eller att du inte kan utföra uppgifter i Azure Portal eller via en lokal klient.

  3. Tilldela roller i Azure Portal:

    1. Gå till söktjänsten.

    2. Välj Åtkomstkontroll (IAM) i det vänstra navigeringsfönstret.

    3. Välj + Lägg till>Lägg till rolltilldelning.

    4. Välj en roll (Search Service Contributor, Search Index Data Contributor, Search Index Data Reader) och tilldela den till din Microsoft Entra-användare eller gruppidentitet.

      Upprepa för varje roll.

      Du behöver Search Service-deltagare plus Search Index Data Contributor för att skapa, läsa in och fråga objekt i Azure AI Search. Mer information finns i Ansluta med hjälp av roller.

Dricks

Om du senare får fel vid autentiseringsfel kan du kontrollera inställningarna igen i det här avsnittet. Det kan finnas principer på prenumerations- eller resursgruppsnivå som åsidosätter de API-inställningar som du anger.

Steg 3: Anslut från ditt lokala system

Om du ännu inte har loggat in på Azure:

az login

Använda Python- och Jupyter-notebook-filer

  1. Installera Azure Identity- och Azure Search-biblioteken:

    pip install azure-identity azure-search-documents
    
  2. Autentisera och ansluta till 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)
    

Använda en REST-klient

Flera snabbstarter och självstudier använder en REST-klient, till exempel Visual Studio Code med REST-tillägget. Så här ansluter du till Azure AI Search från Visual Studio Code.

Du bör ha en .rest fil som .http liknar den som beskrivs i Snabbstart: Vektorsökning.

  1. Generera en åtkomsttoken.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  2. Överst i filen anger du variabler som används för anslutningen, klistrar in den fullständiga söktjänstens slutpunkt och den åtkomsttoken som du fick i föregående steg. Dina variabler bör se ut ungefär som i följande exempel. Observera att värdena inte är citattecken.

    @baseUrl = https://contoso.search.search.windows.net
    @token = <a long GUID>
    
  3. Ange auktoriseringsbärarens token i ett REST-anrop:

     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
          }
    

Felsöka 401-fel

  • Kontrollera den aktiva prenumerationen och klientorganisationen (az account show) och kontrollera att den är giltig för din söktjänst.

  • Kontrollera alternativen för söktjänstens inställningar>Nycklar i Azure Portal och bekräfta att tjänsten har konfigurerats för både och eller rollbaserad åtkomstkontroll.

  • Endast för REST-klienten: Kontrollera den token och slutpunkt som anges i filen och kontrollera att det inte finns några omgivande citattecken eller extra blanksteg.

Om allt annat misslyckas startar du om enheten för att ta bort cachelagrade token och upprepar sedan stegen i det här avsnittet från och med az login.

Ytterligare konfiguration

Konfigurera en hanterad identitet för utgående anslutningar:

Konfiguration av nätverksåtkomst:

  • Ange inkommande regler för att acceptera eller avvisa begäranden till Azure AI Search baserat på IP-adress.