Indexerarens åtkomst till innehåll som skyddas av Azure-nätverkssäkerhet

Om dina Azure-resurser distribueras i ett virtuellt Azure-nätverk förklarar den här artikeln hur en sökindexerare kan komma åt innehåll som skyddas av nätverkssäkerhet. Den beskriver utgående trafikmönster och körningsmiljöer för indexerare. Den omfattar även de nätverksskydd som stöds av Azure AI Search och faktorer som kan påverka din säkerhetsstrategi. Eftersom Azure Storage används för både dataåtkomst och beständig lagring tar den här artikeln även upp nätverksöverväganden som är specifika för sök- och lagringsanslutningar.

Letar du efter stegvisa instruktioner i stället? Se Så här konfigurerar du brandväggsregler för att tillåta indexerareåtkomst eller Så här gör du utgående anslutningar via en privat slutpunkt.

Resurser som används av indexerare

Azure AI Search-indexerare kan göra utgående anrop till olika Azure-resurser i tre situationer:

  • Anslut till externa datakällor under indexering
  • Anslut till extern, inkapslad kod via en kompetensuppsättning som innehåller anpassade kunskaper
  • Anslut till Azure Storage under körning av kompetensuppsättningar för att cachelagrat berikanden, spara felsökningssessionstillstånd eller skriva till ett kunskapslager

En lista över alla möjliga Azure-resurstyper som en indexerare kan komma åt i en typisk körning visas i tabellen nedan.

Resurs Syfte inom indexerarens körning
Azure Storage (blobar, ADLS Gen 2, filer, tabeller) Data source
Azure Storage (blobar, tabeller) Kunskapsuppsättningar (cachelagring av berikningar, felsökningssessioner, kunskapslagerprojektioner)
Azure Cosmos DB (olika API:er) Data source
Azure SQL Database Data source
SQL Server på virtuella Azure-datorer Data source
SQL-hanterad instans Data source
Azure Functions Kopplad till en kompetensuppsättning och används som värd för anpassade webb-API-kunskaper

Kommentar

En indexerare ansluter också till Azure AI-tjänster för inbyggda kunskaper. Den anslutningen görs dock via det interna nätverket och omfattas inte av några nätverksbestämmelser under din kontroll.

Indexerare ansluter till resurser med hjälp av följande metoder:

  • En offentlig slutpunkt med autentiseringsuppgifter
  • En privat slutpunkt med Azure Private Link
  • Anslut som en betrodd tjänst
  • Anslut via IP-adressering

Om din Azure-resurs finns i ett virtuellt nätverk bör du använda antingen en privat slutpunkt eller IP-adress för att ta emot indexeringsanslutningar till data.

Nätverksskydd som stöds

Dina Azure-resurser kan skyddas med valfritt antal mekanismer för nätverksisolering som erbjuds av Azure. Beroende på resurs och region kan Azure AI Search-indexerare upprätta utgående anslutningar via IP-brandväggar och privata slutpunkter, med förbehåll för de begränsningar som anges i följande tabell.

Resurs IP-begränsning Privat slutpunkt
Azure Storage för textbaserad indexering (blobar, ADLS Gen 2, filer, tabeller) Stöds endast om lagringskontot och söktjänsten finns i olika regioner. Stöds
Azure Storage för AI-berikning (cachelagring, felsökningssessioner, kunskapslager) Stöds endast om lagringskontot och söktjänsten finns i olika regioner. Stöds
Azure Cosmos DB för NoSQL Stöds Stöds
Azure Cosmos DB för MongoDB Stöds Stöd saknas
Azure Cosmos DB för Apache Gremlin Stöds Stöd saknas
Azure SQL Database Stöds Stöds
SQL Server på virtuella Azure-datorer Stöds Ej tillämpligt
SQL-hanterad instans Stöds Ej tillämpligt
Azure Functions Stöds Stöds endast för vissa nivåer av Azure-funktioner

Körningsmiljö för indexerare

Azure AI Search har begreppet en körningsmiljö för indexerare som optimerar bearbetningen baserat på jobbets egenskaper. Det finns två miljöer. Om du använder en IP-brandvägg för att styra åtkomsten till Azure-resurser kan du med information om körningsmiljöer konfigurera ett IP-intervall som omfattar båda miljöerna.

För alla givna indexerare avgör Azure AI Search den bästa miljön där indexeraren ska köras. Beroende på antalet och typerna av tilldelade uppgifter körs indexeraren i en av två miljöer.

Körningsmiljö beskrivning
Privat Internt för en söktjänst. Indexerare som körs i den privata miljön delar databehandlingsresurser med andra indexerings- och frågearbetsbelastningar i samma söktjänst. Vanligtvis körs endast indexerare som utför textbaserad indexering (utan kompetensuppsättningar) i den här miljön. Om du konfigurerar en privat anslutning mellan en indexerare och dina data är detta den enda körningsentitet som du kan använda.
multitenant Hanteras och skyddas av Microsoft utan extra kostnad. Det omfattas inte av några nätverksbestämmelser under din kontroll. Den här miljön används för att avlasta beräkningsintensiv bearbetning och lämna tjänstspecifika resurser tillgängliga för rutinåtgärder. Exempel på resursintensiva indexeringsjobb är att koppla kompetensuppsättningar, bearbeta stora dokument eller bearbeta en stor mängd dokument.

I följande avsnitt beskrivs IP-konfigurationen för att ta emot begäranden från någon av körningsmiljöerna.

Konfigurera IP-intervall för indexeringskörning

Om din Azure-resurs ligger bakom en brandvägg konfigurerar du regler för inkommande trafik som tar emot indexeringsanslutningar för alla IP-adresser som en indexerarbegäran kan komma från. Detta inkluderar IP-adressen som används av söktjänsten och DE IP-adresser som används av miljön för flera klientorganisationer.

  • För att hämta IP-adressen för söktjänsten (och den privata körningsmiljön) använder du nslookup (eller ping) för att hitta det fullständigt kvalificerade domännamnet (FQDN) för din söktjänst. FQDN för en söktjänst i det offentliga molnet skulle vara <service-name>.search.windows.net.

  • Använd tjänsttaggen för att hämta IP-adresserna för de miljöer med flera klientorganisationer där en indexerare kan köras AzureCognitiveSearch .

    Azure-tjänsttaggar har ett publicerat intervall med IP-adresser för miljöer med flera klientorganisationer för varje region. Du hittar dessa IP-adresser med hjälp av identifierings-API:et eller en nedladdningsbar JSON-fil. IP-intervall allokeras efter region, så kontrollera söktjänstregionen innan du börjar.

Konfigurera IP-regler för Azure SQL

När du ställer in IP-regeln för miljön med flera klientorganisationer stöder vissa SQL-datakällor en enkel metod för IP-adressspecifikation. I stället för att räkna upp alla IP-adresser i regeln kan du skapa en regel för nätverkssäkerhetsgrupp som anger AzureCognitiveSearch tjänsttaggen.

Du kan ange tjänsttaggen om datakällan är antingen:

Observera att om du har angett tjänsttaggen för IP-regeln för flera klientmiljöer behöver du fortfarande en explicit regel för inkommande trafik för den privata körningsmiljön (vilket innebär själva söktjänsten), som hämtas via nslookup.

Välj en anslutningsmetod

Det går inte att etablera en söktjänst i ett specifikt virtuellt nätverk som körs internt på en virtuell dator. Vissa Azure-resurser erbjuder tjänstslutpunkter för virtuella nätverk, men den här funktionen erbjuds inte av Azure AI Search. Du bör planera att implementera någon av följande metoder.

Metod Details
Inkommande anslutning till din Azure-resurs Konfigurera en regel för inkommande brandvägg på din Azure-resurs som tar emot indexeringsbegäranden för dina data. Brandväggskonfigurationen bör innehålla tjänsttaggen för körning av flera klientorganisationer och IP-adressen för söktjänsten.
Privat anslutning mellan Azure AI Search och din Azure-resurs Konfigurera en delad privat länk som uteslutande används av söktjänsten för anslutningar till resursen. Anslut ions reser över det interna nätverket och kringgår det offentliga Internet. Om dina resurser är helt låsta (körs i ett skyddat virtuellt nätverk eller på annat sätt inte är tillgängliga via en offentlig anslutning) är en privat slutpunkt ditt enda val. Se Skapa utgående anslutningar via en privat slutpunkt.

Anslut ions via en privat slutpunkt måste komma från söktjänstens privata körningsmiljö.

Det är kostnadsfritt att konfigurera en IP-brandvägg. En privat slutpunkt, som baseras på Azure Private Link, har en faktureringspåverkan. Mer information finns i Priser för Azure Private Link.

När du har konfigurerat nätverkssäkerhet följer du upp med rolltilldelningar som anger vilka användare och grupper som har läs- och skrivåtkomst till dina data och åtgärder.

Överväganden för att använda en privat slutpunkt

I det här avsnittet begränsas alternativet för privat anslutning.

  • När en delad privat länk har skapats använder söktjänsten alltid den för varje indexerareanslutning till den specifika Azure-resursen. Den privata anslutningen är låst och framtvingas internt. Du kan inte kringgå den privata anslutningen för en offentlig anslutning.

  • Kräver en fakturerbar Azure Private Link-resurs.

  • Kräver att en prenumerationsägare godkänner den privata slutpunktsanslutningen.

  • Kräver att du inaktiverar körningsmiljön för flera klientorganisationer för indexeraren.

    Du gör detta genom att ställa in executionEnvironment indexeraren på "Private". Det här steget säkerställer att all indexerarekörning är begränsad till den privata miljö som etableras i söktjänsten. Den här inställningen är begränsad till en indexerare och inte söktjänsten. Om du vill att alla indexerare ska ansluta via privata slutpunkter måste var och en ha följande konfiguration:

        {
          "name" : "myindexer",
          ... other indexer properties
          "parameters" : {
              ... other parameters
              "configuration" : {
                ... other configuration properties
                "executionEnvironment": "Private"
              }
            }
        }
    

När du har en godkänd privat slutpunkt till en resurs försöker indexerare som är inställda på att vara privata försöka få åtkomst via den privata länk som skapades och godkändes för Azure-resursen.

Azure AI Search verifierar att anropare av den privata slutpunkten har lämpliga rolltilldelningar. Om du till exempel begär en privat slutpunktsanslutning till ett lagringskonto med skrivskyddade behörigheter avvisas det här anropet.

Om den privata slutpunkten inte har godkänts, eller om indexeraren inte använde den privata slutpunktsanslutningen, visas ett transientFailure felmeddelande i indexerarens körningshistorik.

Komplettera nätverkssäkerhet med tokenautentisering

Brandväggar och nätverkssäkerhet är ett första steg för att förhindra obehörig åtkomst till data och åtgärder. Auktorisering bör vara nästa steg.

Vi rekommenderar rollbaserad åtkomst, där Användare och grupper för Microsoft Entra-ID tilldelas till roller som avgör läs- och skrivåtkomst till din tjänst. Se Anslut till Azure AI Search med hjälp av rollbaserade åtkomstkontroller för en beskrivning av inbyggda roller och instruktioner för att skapa anpassade roller.

Om du inte behöver nyckelbaserad autentisering rekommenderar vi att du inaktiverar API-nycklar och använder rolltilldelningar exklusivt.

Åtkomst till ett nätverksskyddat lagringskonto

En söktjänst lagrar index och synonymlistor. För andra funktioner som kräver lagring är Azure AI Search beroende av Azure Storage. Cachelagring av berikande, felsökningssessioner och kunskapslager tillhör den här kategorin. Platsen för varje tjänst och eventuella nätverksskydd för lagring avgör din strategi för dataåtkomst.

Tjänster i samma region

I Azure Storage kräver åtkomst via en brandvägg att begäran kommer från en annan region. Om Azure Storage och Azure AI Search finns i samma region kan du kringgå IP-begränsningarna för lagringskontot genom att komma åt data under söktjänstens systemidentitet.

Det finns två alternativ för att stödja dataåtkomst med hjälp av systemidentiteten:

  • Konfigurera sökningen så att den körs som en betrodd tjänst och använd undantaget för betrodda tjänster i Azure Storage.

  • Konfigurera en resursinstansregel i Azure Storage som tar emot inkommande begäranden från en Azure-resurs.

Ovanstående alternativ beror på Microsoft Entra-ID för autentisering, vilket innebär att anslutningen måste göras med en Microsoft Entra-inloggning. För närvarande stöds endast en systemtilldelad hanterad identitet i Azure AI Search för anslutningar i samma region via en brandvägg.

Tjänster i olika regioner

När sökning och lagring finns i olika regioner kan du använda tidigare nämnda alternativ eller konfigurera IP-regler som tar emot begäranden från din tjänst. Beroende på arbetsbelastningen kan du behöva konfigurera regler för flera körningsmiljöer enligt beskrivningen i nästa avsnitt.

Nästa steg

Nu när du är bekant med alternativen för indexerares dataåtkomst för lösningar som distribuerats i ett virtuellt Azure-nätverk läser du någon av följande instruktionsartiklar som nästa steg: