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.
Haal het Azure-abonnement en de tenant op voor uw zoekservice:
Meld u aan bij Azure Portal en navigeer naar uw zoekservice.
Let op de abonnementsnaam en -id in Overview>Essentials.
Selecteer nu de naam van het abonnement om de bovenliggende beheergroep (tenant-id) weer te geven op de volgende pagina.
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
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
Meld u aan bij Azure Portal en navigeer naar uw Azure AI-Search-service.
Op rollen gebaseerd toegangsbeheer (RBAC) inschakelen:
Ga naar Instellingensleutels>.
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.
Rollen toewijzen in Azure Portal:
Navigeer naar uw zoekservice.
Selecteer Toegangsbeheer (IAM) in het linkernavigatiedeelvenster.
Selecteer + Toevoegen>Roltoewijzing toevoegen.
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
Installeer de Azure Identity- en Azure Search-bibliotheken:
pip install azure-identity azure-search-documents
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.
Een toegangstoken genereren.
az account get-access-token --scope https://search.azure.com/.default --query accessToken --output tsv
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>
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:
Configureer een door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit voor uw zoekservice.
Gebruik roltoewijzingen om toegang tot andere Azure-resources te autoriseren.
Configuratie van netwerktoegang:
- Stel binnenkomende regels in om aanvragen naar Azure AI Search te accepteren of af te wijzen op basis van ip-adres.