Delen via


Verbinding maken met Azure AI Search met behulp van sleutels

Azure AI Search biedt ondersteuning voor verificatie op basis van identiteiten en sleutels (standaard) voor verbindingen met uw zoekservice.

Een aanvraag die is ingediend bij een eindpunt voor een zoekservice wordt geaccepteerd als zowel de aanvraag als de API-sleutel geldig zijn en of de zoekservice is geconfigureerd om API-sleutels toe te staan op een aanvraag.

Belangrijk

Wanneer u een zoekservice maakt, is verificatie op basis van sleutels de standaardinstelling, maar is dit niet de veiligste optie. U wordt aangeraden deze te vervangen door op rollen gebaseerde toegang.

Vereiste voorwaarden

U moet eigenaar, inzender of inzender voor zoekservices zijn om sleutels weer te geven of te beheren.

Standaard ingeschakeld

In Azure Portal wordt verificatie opgegeven op de paginaInstellingensleutels>. Opties die zijn ingesteld op API-sleutels (standaard) of Beide toestaan API-sleutels voor een aanvraag.

Schermopname van de pagina Sleutels in Azure Portal.

Typen sleutels

Een API-sleutel is een unieke tekenreeks die bestaat uit 52 willekeurig gegenereerde cijfers en letters. Visueel is er geen onderscheid tussen een beheersleutel of querysleutel. Als u niet meer weet welk type sleutel is opgegeven in uw toepassing, kunt u de sleutelwaarden controleren in Azure Portal.

Er zijn twee soorten sleutels die worden gebruikt voor het verifiëren van een aanvraag:

Type Machtigingsniveau Hoe deze wordt gemaakt Maximaal
Beheerder Volledige toegang (lezen/schrijven) voor alle bewerkingen van het gegevensvlak (inhoud) Er worden twee beheersleutels, primaire en secundaire, gegenereerd wanneer de service wordt gemaakt en kunnen afzonderlijk op aanvraag opnieuw worden gegenereerd. Met twee kunt u één sleutel overrollen terwijl u de tweede sleutel gebruikt voor continue toegang tot de service. 2
Zoekopdracht Alleen-lezentoegang, beperkt tot de documentenverzameling van een zoekindex Er wordt één querysleutel gegenereerd met de service. Meer kunnen op aanvraag worden gemaakt door een zoekservicebeheerder. 50

Bestaande sleutels zoeken

U kunt API-sleutels weergeven en beheren met behulp van Azure Portal, PowerShell, Azure CLI of REST API.

  1. Meld u aan bij Azure Portal en zoek uw zoekservice.

  2. Selecteer vanuit het linkerdeelvenster Instellingen>Sleutels om beheerders- en querysleutels weer te geven.

    Schermopname van een portalpagina met API-sleutels.

Sleutels gebruiken voor verbindingen

Verificatie op basis van sleutels wordt alleen gebruikt voor aanvragen van gegevensvlakken (inhoud), zoals het maken of opvragen van indexen en andere acties die worden uitgevoerd met behulp van de REST API van de zoekservice.

In uw broncode kunt u de API-sleutel rechtstreeks opgeven in een aanvraagheader. U kunt deze ook opslaan als een omgevingsvariabele of app-instelling in uw project en vervolgens verwijzen naar de variabele in de aanvraag.

  • Beheerderssleutels worden gebruikt voor het maken, wijzigen of verwijderen van objecten.
  • Beheerderssleutels worden ook gebruikt voor GET-objectdefinities en systeeminformatie, zoals LIST-indexen of GET-servicestatistieken.
  • Querysleutels worden doorgaans gedistribueerd naar clienttoepassingen die query's uitgeven.

Zoals u weet, is sleutelverificatie standaard ingeschakeld en worden bewerkingen in het gegevensvlak ondersteund, zoals indexering en query's.

Als u ECHTER API-sleutels uitschakelt en roltoewijzingen instelt, gebruikt Azure Portal in plaats daarvan roltoewijzingen.

Querysleutels maken

Querysleutels worden gebruikt voor alleen-lezentoegang tot documenten in een index voor bewerkingen die gericht zijn op een documentenverzameling. Zoek-, filter- en suggestiequery's zijn alle bewerkingen die een querysleutel gebruiken. Voor elke alleen-lezenbewerking die systeemgegevens- of objectdefinities retourneert, zoals een indexdefinitie of indexeerfunctiestatus, is een beheerderssleutel vereist.

Het beperken van de toegang en bewerkingen in client-apps is essentieel voor het beveiligen van de zoekassets op uw service. Gebruik altijd een querysleutel in plaats van een beheersleutel voor elke query die afkomstig is van een client-app.

  1. Meld u aan bij Azure Portal en zoek uw zoekservice.

  2. Vanuit het linkerdeelvenster selecteer Instellingen>enSleutels om API-sleutels weer te geven.

  3. Gebruik onder Querysleutels beheren de querysleutel die al is gegenereerd voor uw service of maak nieuwe querysleutels. De standaardquerysleutel heeft geen naam, maar andere gegenereerde querysleutels kunnen worden benoemd voor beheerbaarheid.

    Schermopname van de opties voor querysleutelbeheer.

Beheerderssleutels opnieuw genereren

Er worden twee beheerderssleutels gemaakt voor elke service, zodat u een primaire sleutel kunt roteren terwijl u de secundaire sleutel gebruikt voor bedrijfscontinuïteit.

  1. Meld u aan bij Azure Portal en zoek uw zoekservice.

  2. In het linkerdeelvenster, selecteer Instellingen>Sleutels.

  3. Kopieer de secundaire sleutel.

  4. Werk voor alle toepassingen de API-sleutelinstellingen bij om de secundaire sleutel te gebruiken.

  5. Genereer de primaire sleutel opnieuw.

  6. Werk alle toepassingen bij om de nieuwe primaire sleutel te gebruiken.

Als u per ongeluk beide sleutels tegelijk opnieuw genereert, mislukken alle clientaanvragen die deze sleutels gebruiken met HTTP 403 Verboden. Inhoud wordt echter niet verwijderd en u bent niet permanent vergrendeld.

U hebt nog steeds toegang tot de service via Azure Portal of programmatisch. Beheerfuncties werken via een abonnements-id en geen service-API-sleutel en zijn dus nog steeds beschikbaar, zelfs als uw API-sleutels dat niet zijn.

Nadat u nieuwe sleutels hebt gemaakt via de portal of beheerlaag, wordt de toegang hersteld naar uw inhoud (indexen, indexeerfuncties, gegevensbronnen, synoniemenkaarten) zodra u deze sleutels opgeeft voor aanvragen.

Migreren van sleutels naar rollen

Als u wilt overstappen op op rollen gebaseerde toegang, is het handig om te begrijpen hoe sleutels worden toegewezen aan ingebouwde rollen in Azure AI Search:

  • Een beheerderssleutel komt overeen met de rollen Inzender voor zoekservice en Inzender voor zoekindexgegevens .
  • Een querysleutel komt overeen met de rol Search Index Data Reader .

Veilige sleutels

Gebruik roltoewijzingen om de toegang tot API-sleutels te beperken.

Het is niet mogelijk om door de klant beheerde sleutelversleuteling te gebruiken om API-sleutels te versleutelen. Alleen gevoelige gegevens in de zoekservice zelf (bijvoorbeeld indexinhoud of verbindingsreeks s in definities van gegevensbronobjecten) kunnen CMK-versleuteld zijn.

  1. Meld u aan bij Azure Portal en zoek uw zoekservice.

  2. Selecteer in het linkerdeelvenster Toegangsbeheer (IAM) en selecteer vervolgens het tabblad Roltoewijzingen .

  3. Selecteer in het rolfilter de rollen die gemachtigd zijn om sleutels weer te geven of te beheren (Eigenaar, Inzender, Inzender voor zoekservice). De resulterende beveiligingsprinciplen die aan deze rollen zijn toegewezen, hebben sleutelmachtigingen voor uw zoekservice.

  4. Controleer als voorzorgsmaatregel ook het tabblad Klassieke beheerders om te bepalen of beheerders en medebeheerders toegang hebben.

Aanbevolen procedures

  • Schakel voor productieworkloads over naar Microsoft Entra-id en op rollen gebaseerde toegang. Als u API-sleutels wilt blijven gebruiken, moet u ook altijd controleren wie toegang heeft tot uw API-sleutels en API-sleutels regelmatig opnieuw genereren .

  • Gebruik alleen API-sleutels als openbaarmaking van gegevens geen risico is (bijvoorbeeld wanneer u voorbeeldgegevens gebruikt) en als u achter een firewall werkt. Als u API-sleutels beschikbaar maakt, lopen zowel uw gegevens als uw zoekservice risico op onbevoegd gebruik.

  • Als u een API-sleutel gebruikt, slaat u deze veilig op ergens anders op, zoals in Azure Key Vault. Neem de API-sleutel niet rechtstreeks in uw code op en plaats deze nooit openbaar.

  • Controleer altijd code, voorbeelden en trainingsmateriaal voordat u publiceert om ervoor te zorgen dat u per ongeluk geen API-sleutel beschikbaar maakt.