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

Om dina söklösningskrav innehåller ett virtuellt Azure-nätverk beskrivs i 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 under körningen. En indexerare gör utgående anrop 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 cachelagrar berikningar, sparar sessionstillstånd för felsökning eller skriver 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.

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.

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:

  • En privat körningsmiljö som är intern 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.

  • En miljö för flera klientorganisationer som 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 Azure-resursen som tillhandahåller källdata finns bakom en brandvägg behöver du regler för inkommande trafik som tar emot indexeringsanslutningar för alla IP-adresser som en indexeringsbegäran kan komma från. IP-adresserna innehåller den som används av söktjänsten och 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 varje tjänst. 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.

När du ställer in IP-regeln för miljön för 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 klientorganisationer 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älja en anslutningsmetod

När du integrerar Azure AI Search i en lösning som körs i ett virtuellt nätverk bör du tänka på följande begränsningar:

  • En indexerare kan inte upprätta en direkt anslutning till en tjänstslutpunkt för virtuellt nätverk. Offentliga slutpunkter med autentiseringsuppgifter, privata slutpunkter, betrodd tjänst och IP-adressering är de enda metoder som stöds för indexerareanslutningar.

  • En söktjänst körs alltid i molnet och kan inte etableras i ett specifikt virtuellt nätverk som körs internt på en virtuell dator. Den här funktionen erbjuds inte av Azure AI Search.

Med tanke på ovanstående begränsningar är dina val för att uppnå sökintegrering i ett virtuellt nätverk:

  • Konfigurera en inkommande brandväggsregel för din Azure PaaS-resurs som tar emot indexeringsbegäranden för data.

  • Konfigurera en utgående anslutning från Search som gör indexeringsanslutningar med hjälp av en privat slutpunkt.

    För en privat slutpunkt sker söktjänstens anslutning till den skyddade resursen via en delad privat länk. En delad privat länk är en Azure Private Link-resurs som skapas, hanteras och används inifrån Azure AI Search. 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.

    Anslut ions via en privat slutpunkt måste komma från söktjänstens privata körningsmiljö. För att uppfylla detta krav måste du inaktivera körning av flera klientorganisationer. Det här steget beskrivs i Skapa utgående anslutningar via en privat slutpunkt.

Det är kostnadsfritt att konfigurera en IP-brandvägg. En privat slutpunkt, som baseras på Azure Private Link, har en faktureringspåverkan.

Arbeta med en privat slutpunkt

I det här avsnittet sammanfattas de viktigaste stegen för att konfigurera en privat slutpunkt för utgående indexerareanslutningar. Den här sammanfattningen kan hjälpa dig att avgöra om en privat slutpunkt är det bästa valet för ditt scenario. Detaljerade steg beskrivs i Så här gör du utgående anslutningar via en privat slutpunkt.

Steg 1: Skapa en privat slutpunkt till den säkra resursen

Du skapar en delad privat länk med antingen portalsidorna i söktjänsten eller via HANTERINGS-API:et.

I Azure AI Search måste söktjänsten vara minst Basic-nivån för textbaserade indexerare och S2 för indexerare med kompetensuppsättningar.

En privat slutpunktsanslutning accepterar begäranden från den privata indexerarens körningsmiljö, men inte miljön för flera klientorganisationer. Du måste inaktivera körning av flera klientorganisationer enligt beskrivningen i steg 3 för att uppfylla detta krav.

Steg 2: Godkänn den privata slutpunktsanslutningen

När åtgärden (asynkron) som skapar en delad privat länkresurs har slutförts skapas en privat slutpunktsanslutning i tillståndet "Väntar". Ingen trafik flödar över anslutningen än.

Du måste hitta och godkänna den här begäran på din säkra resurs. Beroende på resursen kan du slutföra den här uppgiften med hjälp av Azure-portalen. Annars använder du REST-API:et för Private Link-tjänsten.

Steg 3: Tvinga indexerare att köras i den "privata" miljön

För privata slutpunktsanslutningar är det obligatoriskt att ange executionEnvironment indexeraren till "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 Azure RBAC-rollbehörigheter. 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.

Å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: