Hantera säkerheten för en Azure AI Search-lösning

Slutförd

Organisationer måste kunna lita på säkerheten för sina söklösningar. Med Azure AI Search får du kontroll över hur du skyddar de data du söker efter.

Här utforskar du hur du skyddar din söklösning. Du fokuserar på var data krypteras och hur du skyddar inkommande och utgående dataflöden. Slutligen får du se hur du begränsar åtkomsten till sökresultat för specifika användare eller grupper.

Översikt över säkerhetsmetoder

AI Search-säkerhet bygger på Azures befintliga nätverkssäkerhetsfunktioner. När du funderar på att skydda din söklösning kan du fokusera på tre områden:

  • Inkommande sökförfrågningar som görs av användare till din söklösning
  • Utgående begäranden från din söklösning till andra servrar för att indexera dokument
  • Begränsa åtkomsten på dokumentnivå per användarsökningsbegäran

Datakryptering

Azure AI-tjänsten Search krypterar precis som alla Azure-tjänster de data som lagras i vila med tjänsthanterade nycklar. Den här krypteringen omfattar index, datakällor, synonymkartor, kompetensuppsättningar och till och med indexerarens definitioner.

Data under överföring krypteras med https TLS 1.3-standardkryptering via port 443.

Om du vill använda dina egna krypteringsnycklar stöder ACS användning av Azure Key Vault. En fördel med att använda dina egna kundhanterade nycklar är att dubbel kryptering aktiveras för alla objekt som du använder dina anpassade nycklar på.

Dricks

Detaljerade anvisningar om hur du använder kundhanterade nycklar för kryptering finns i Konfigurera kundhanterade nycklar för datakryptering i Azure AI Search

Säker inkommande trafik

Om din söklösning kan nås externt från Internet eller appar kan du minska attackytan. Med Azure AI Search kan du begränsa åtkomsten till den offentliga slutpunkten kostnadsfritt med hjälp av en brandvägg för att tillåta åtkomst från specifika IP-adresser.

Diagram showing inbound traffic secured using ExpressRoute through a firewall into Azure AI Search.

Om din söktjänst bara ska användas av lokala resurser kan du förstärka säkerheten med en ExpressRoute-krets, Azure Gateway och en App Service. Det finns också möjlighet att ändra den offentliga slutpunkten så att den använder en privat Azure-länk. Du måste också konfigurera ett virtuellt Azure-nätverk och andra resurser. Att använda en privat slutpunkt är den säkraste lösningen, även om den medför den extra kostnaden för att använda de tjänster som måste finnas på Azure-plattformen.

Dricks

Mer information om privata slutpunkter finns i Skapa en privat slutpunkt för en säker anslutning till Azure AI Search.

Autentisera begäranden till din söklösning

Med infrastrukturen på plats för att minska attackytan för din söklösning kan fokus ändras till hur du autentiserar sökförfrågningar från dina användare och appar.

Standardalternativet när du skapar din ACS är nyckelbaserad autentisering. Det finns två olika typer av nycklar:

  • Administratörsnycklar – bevilja dina skrivbehörigheter och rätten att fråga systeminformation (högst 2 administratörsnycklar kan skapas per söktjänst)
  • Frågenycklar – bevilja läsbehörigheter och används av dina användare eller appar för att fråga index (högst 50 frågenycklar kan skapas per söktjänst)

Viktigt!

Rollbaserad åtkomstkontroll för dataplansåtgärder är för närvarande i förhandsversion och under kompletterande användningsvillkor. Rollerna är bara tillgängliga i det offentliga Azure-molnet och om du använder dem kan svarstiden för sökbegäranden öka.

Rollbaserad åtkomstkontroll (RBAC) tillhandahålls av Azure-plattformen som ett globalt system för att styra åtkomsten till resurser. Du kan använda RBAC i Azure AI Search på följande sätt:

  • Roller kan beviljas åtkomst för att administrera tjänsten
  • Definiera roller med åtkomst till att skapa, läsa in och fråga index

De inbyggda roller som du kan tilldela för att hantera Azure AI-tjänsten Search är:

  • Ägare – Fullständig åtkomst till alla sökresurser
  • Deltagare – samma som ovan, men utan möjlighet att tilldela roller eller ändra auktoriseringar
  • Läsare – Visa information om partiell tjänst

Om du behöver en roll som också kan hantera dataplanet för till exempel sökindex eller datakällor använder du någon av följande roller:

  • Search Service-deltagare – En roll för dina söktjänstadministratörer (samma åtkomst som deltagarrollen ovan) och innehållet (index, indexerare, datakällor och kompetensuppsättningar)
  • Search Index Data Contributor – en roll för utvecklare eller indexägare som importerar, uppdaterar eller frågar dokumentsamlingen för ett index
  • Sök indexdataläsare – skrivskyddad åtkomstroll för appar och användare som bara behöver köra frågor

Skydda utgående trafik

Vanligtvis indexerar utgående trafik källdata eller berikar dem med artificiell intelligens (AI). De utgående anslutningarna stöder nyckelbaserad autentisering, databasinloggningar eller Microsoft Entra-inloggningar om du kan använda Microsoft Entra-ID.

Om dina datakällor finns på Azure-plattformen kan du även skydda anslutningar med hjälp av ett system eller en användartilldelad hanterad identitet.

Diagram showing Azure AI Search solution accessing data sources through an IP restricted firewall.

Azure-tjänster kan begränsa åtkomsten till dem med hjälp av en brandvägg. Brandväggen kan konfigureras för att endast tillåta IP-adressen för din Azure AI-tjänsten Search. Om du utökar dina index med AI måste du också tillåta alla IP-adresser i AzureCognitiveSearch-tjänsttaggen .

Du kan välja att skydda dina källdata bakom en delad privat länk som indexerarna använder.

Viktigt!

En delad privat länk kräver antingen en Basic-nivå för textbaserad indexering eller en Standard 2-nivå (S2) för kompetensbaserad indexering. Prisinformation finns i Priser för Azure Private Link.

Skydda data på dokumentnivå

Du kan konfigurera Azure AI Search för att begränsa de dokument som någon kan söka efter, till exempel begränsa sökningen av avtalsenliga PDF-filer till personer i din juridiska avdelning.

För att kontrollera vem som har åtkomst på dokumentnivå måste du uppdatera varje dokument i ditt sökindex. Du måste lägga till ett nytt säkerhetsfält i varje dokument som innehåller användar- eller grupp-ID:n som kan komma åt det. Säkerhetsfältet måste vara filterbart så att du kan filtrera sökresultaten i fältet.

Med det här fältet på plats och fyllt med den tillåtna användaren eller grupperna kan du begränsa resultaten genom att lägga till filtret i search.in alla dina sökfrågor. Om du använder HTTP POST-begäranden bör brödtexten se ut så här:

{
   "filter":"security_field/any(g:search.in(g, 'user_id1, group_id1, group_id2'))"  
}

Detta skulle filtrera de returnerade sökresultaten på användar-ID och grupper som användaren tillhör. Om ditt program kan använda Microsoft Entra-ID kan du använda användarens identitets- och gruppmedlemskap därifrån.