Delen via


Quickstart: Verbinding maken zonder sleutels

Configureer Azure AI Search voor het gebruik van Microsoft Entra ID-verificatie en op rollen gebaseerd toegangsbeheer (RBAC), zodat u verbinding kunt maken vanuit uw lokale systeem zonder API-sleutels, met behulp van Jupyter-notebooks of een REST-client om te communiceren met uw zoekservice.

Als u andere quickstarts hebt doorlopen die verbinding maken met behulp van API-sleutels, ziet u in deze quickstart hoe u overschakelt naar verificatie op basis van identiteit, zodat u in code vastgelegde sleutels in uw voorbeeldcode kunt voorkomen.

Vereisten

  • Een Azure-abonnement. Maak gratis een account.

  • Azure AI Search, elke regio of laag, maar u hebt Basic of hoger nodig om een beheerde identiteit voor Azure AI Search te configureren.

  • Een opdrachtregelprogramma, zoals PowerShell of Bash, en de Azure CLI.

Stap 1: Uw Azure-abonnement en tenant-id's ophalen

U hebt deze stap nodig als u meer dan één abonnement of tenant hebt.

  1. Haal het Azure-abonnement en de tenant op voor uw zoekservice:

    1. Meld u aan bij Azure Portal en navigeer naar uw zoekservice.

    2. Let op de abonnementsnaam en -id in Overview>Essentials.

    3. Selecteer nu de naam van het abonnement om de bovenliggende beheergroep (tenant-id) weer te geven op de volgende pagina.

      Schermopname van de pagina Azure Portal met de naam van het abonnement

  2. U weet nu onder welk abonnement en welke tenant Azure AI Search valt. Schakel over naar uw lokale apparaat en een opdrachtprompt en identificeer het actieve Azure-abonnement en de actieve tenant op uw apparaat:

    az account show
    
  3. Als het actieve abonnement en de tenant verschillen van de informatie die u in de vorige stap hebt verkregen, wijzigt u de abonnements-id. Meld u vervolgens aan bij Azure met behulp van de tenant-id die u in de vorige stap hebt gevonden:

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

Stap 2: Azure AI Search configureren voor RBAC

  1. Meld u aan bij Azure Portal en navigeer naar uw Azure AI-Search-service.

  2. Op rollen gebaseerd toegangsbeheer (RBAC) inschakelen:

    1. Ga naar Instellingensleutels>.

    2. Kies op rollen gebaseerd besturingselement of Beide als u tijd nodig hebt om clients over te schakelen naar op rollen gebaseerd toegangsbeheer.

      Als u op rollen gebaseerd besturingselement kiest, moet u ervoor zorgen dat u alle rollen met de naam in de volgende instructie toewijst of dat u geen taken kunt uitvoeren in Azure Portal of via een lokale client.

  3. Rollen toewijzen in Azure Portal:

    1. Navigeer naar uw zoekservice.

    2. Selecteer Toegangsbeheer (IAM) in het linkernavigatiedeelvenster.

    3. Selecteer + Toevoegen>Roltoewijzing toevoegen.

    4. Kies een rol (Inzender voor zoekservice, Inzender voor zoekindexgegevens, Zoekindexgegevenslezer) en wijs deze toe aan uw Microsoft Entra-gebruikers- of groepsidentiteit.

      Herhaal dit voor elke rol.

      U hebt inzender voor de zoekservice plus Inzender voor zoekindexgegevens nodig om objecten te maken, laden en er query's op uit te voeren in Azure AI Search. Zie Verbinding maken met behulp van rollen voor meer informatie.

Tip

Als u later fouten met verificatiefouten krijgt, controleert u de instellingen in deze sectie opnieuw. Er kunnen beleidsregels zijn op abonnements- of resourcegroepniveau die eventuele API-instellingen overschrijven die u opgeeft.

Stap 3: Verbinding maken vanuit uw lokale systeem

Als u zich nog niet hebt aangemeld bij Azure:

az login

Python- en Jupyter-notebooks gebruiken

  1. Installeer de Azure Identity- en Azure Search-bibliotheken:

    pip install azure-identity azure-search-documents
    
  2. Verifiëren en verbinding maken met 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)
    

Een REST-client gebruiken

Verschillende quickstarts en zelfstudies maken gebruik van een REST-client, zoals Visual Studio Code met de REST-extensie. U maakt als volgt verbinding met Azure AI Search vanuit Visual Studio Code.

U moet een .rest of .http bestand hebben, vergelijkbaar met het bestand dat wordt beschreven in Quickstart: Vector search.

  1. Een toegangstoken genereren.

    az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
    
  2. Stel bovenaan het bestand variabelen in die worden gebruikt voor de verbinding, waarbij u het volledige zoekservice-eindpunt en het toegangstoken plakt dat u in de vorige stap hebt gekregen. Uw variabelen moeten er ongeveer uitzien als in het volgende voorbeeld. U ziet dat de waarden niet tussen aanhalingstekens zijn opgenomen.

    @baseUrl = https://contoso.search.search.windows.net
    @token = <a long GUID>
    
  3. Geef het bearer-token voor autorisatie op in een REST-aanroep:

     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-fouten oplossen

  • Controleer het actieve abonnement en de tenant (az account show) en controleer of het geldig is voor uw zoekservice.

  • Controleer de opties voor zoekserviceinstellingen >in Azure Portal en controleer of de service is geconfigureerd voor toegangsbeheer op basis van rollen of beide.

  • Alleen voor de REST-client: Controleer het token en eindpunt dat is opgegeven in uw bestand en zorg ervoor dat er geen omringende aanhalingstekens of extra spaties zijn.

Als alles mislukt, start u uw apparaat opnieuw op om tokens in de cache te verwijderen en herhaalt u de stappen in deze sectie, te beginnen met az login.

Aanvullende configuratie

Een beheerde identiteit configureren voor uitgaande verbindingen:

Configuratie van netwerktoegang: