Nastavení odchozích připojení prostřednictvím sdíleného privátního propojení

Tento článek vysvětluje, jak nakonfigurovat privátní odchozí volání z Azure AI Search do prostředku Azure PaaS, který běží v rámci virtuální sítě.

Nastavení privátního připojení umožňuje vyhledávací službě připojit se k IP adrese virtuální sítě místo portu otevřeného pro internet. Objekt vytvořený pro připojení se nazývá sdílené privátní propojení. Na připojení vyhledávací služba interně používá sdílené privátní propojení pro přístup k prostředku Azure PaaS uvnitř hranice sítě.

Sdílený privátní odkaz je prémiová funkce, která se účtuje podle využití. Když nastavíte sdílený privátní odkaz, poplatky za privátní koncový bod se přidají na fakturu za Azure. Při použití sdíleného privátního propojení se také fakturují přenosové sazby za příchozí a odchozí přístup. Podrobnosti najdete v tématu s cenami služby Azure Private Link.

Poznámka:

Pokud nastavujete privátní připojení indexeru ke službě SQL Managed Instance, přečtěte si místo toho tento článek .

Azure AI Search provádí odchozí volání do jiných prostředků Azure PaaS v následujících scénářích:

  • Indexer nebo vyhledávací web se připojí k Azure OpenAI pro vkládání textu na vektor.
  • Indexer se připojuje k podporovaným zdrojům dat.
  • Připojení indexeru (sady dovedností) ke službě Azure Storage pro ukládání do mezipaměti, ladění relací nebo zápis do úložiště znalostí
  • Požadavky šifrovacího klíče do služby Azure Key Vault
  • Vlastní požadavky na dovednosti pro Azure Functions nebo podobný prostředek

Sdílené privátní propojení fungují jenom pro připojení Azure-to-Azure. Pokud se připojujete k OpenAI nebo jinému externímu modelu, musí být připojení přes veřejný internet.

Sdílené privátní propojení jsou určené pro operace a data přístupná prostřednictvím privátního koncového bodu pro prostředky Azure nebo klienty, kteří běží ve virtuální síti Azure.

Sdílený privátní odkaz je:

  • Vytvořeno pomocí nástrojů Azure AI Search, rozhraní API nebo sad SDK
  • Schváleno vlastníkem prostředku Azure PaaS
  • Azure AI Search interně používá privátní připojení ke konkrétnímu prostředku Azure.

Privátní propojení, která vytvoří, může používat pouze vaše vyhledávací služba a pro každou kombinaci prostředků a podsourců může být ve službě vytvořeno pouze jedno sdílené privátní propojení.

Jakmile nastavíte privátní propojení, použije se automaticky při každém připojení vyhledávací služby k danému prostředku PaaS. Nemusíte upravovat připojovací řetězec ani měnit klienta, který používáte k vydávání požadavků, i když se zařízení používané pro připojení musí připojit pomocí autorizované IP adresy v bráně firewall prostředku Azure PaaS.

Existují dva scénáře společného používání služby Azure Private Link a Azure AI Search.

Scénář 1 je popsaný v tomto článku.

I když jsou oba scénáře závislé na službě Azure Private Link, jsou nezávislé. Můžete vytvořit sdílený privátní odkaz, aniž byste museli konfigurovat vlastní vyhledávací službu pro privátní koncový bod.

Omezení

Při vyhodnocování sdílených privátních propojení pro váš scénář si tato omezení zapamatujte.

  • Několik typů prostředků používaných ve sdíleném privátním propojení je ve verzi Preview. Pokud se připojujete k prostředku ve verzi Preview (Azure Database for MySQL, Azure Functions nebo Azure SQL Managed Instance), vytvořte sdílený privátní odkaz pomocí verze Preview rozhraní REST API pro správu. Mezi tyto verze patří 2020-08-01-preview, 2021-04-01-previewa 2024-03-01-preview.

  • Spuštění indexeru musí používat privátní spouštěcí prostředí, které je specifické pro vaši vyhledávací službu. Připojení privátního koncového bodu nejsou podporována z víceklientských prostředí. Nastavení konfigurace pro tento požadavek je popsáno v tomto článku.

Požadavky

  • Azure AI Search na úrovni Basic nebo vyšší. Pokud používáte rozšíření AI a sady dovedností, musí být úroveň Standard 2 (S2) nebo vyšší. Podrobnosti najdete v tématu Omezení služby.

  • Prostředek Azure PaaS z následujícího seznamu podporovaných typů prostředků nakonfigurovaný tak, aby běžel ve virtuální síti.

  • Oprávnění ke službě Azure AI Search i zdroji dat:

    • U prostředku Azure PaaS musíte mít oprávnění ke schválení připojení privátního koncového bodu. Pokud například jako zdroj dat používáte účet Azure Storage (například kontejner objektů blob, sdílená složka Azure, tabulka Azure), potřebujete Microsoft.Storage/storageAccounts/privateEndpointConnectionsApproval/action.

    • Ve vyhledávací službě musíte mít oprávnění ke čtení a zápisu ke sdíleným prostředkům privátního propojení a stavu operací čtení:

      • Microsoft.Search/searchServices/sharedPrivateLinkResources/write
      • Microsoft.Search/searchServices/sharedPrivateLinkResources/read
      • Microsoft.Search/searchServices/sharedPrivateLinkResources/operationStatuses/read

Podporované typy prostředků

Můžete vytvořit sdílený privátní odkaz pro následující prostředky.

Typ prostředku Podsourc (nebo ID skupiny)
Microsoft.Storage/storageAccounts 1 blob, table, , dfsfile
Microsoft.DocumentDB/databaseAccounts 2 Sql
Microsoft.Sql/servers sqlServer
Microsoft.KeyVault/vaults vault
Microsoft.DBforMySQL/servery (Preview) mysqlServer
Microsoft.Web/sites (Preview) 3 sites
Microsoft.Sql/managedInstances (Preview) 4 managedInstance
Microsoft.CognitiveServices/accounts (Preview) 5 openai_account

1 Pokud jsou Azure Storage a Azure AI Search ve stejné oblasti, vytvoří se připojení k úložišti přes páteřní síť Microsoftu, což znamená, že pro tuto konfiguraci je redundantní sdílené privátní propojení. Pokud jste už ale pro Azure Storage nastavili privátní koncový bod, měli byste také nastavit sdílené privátní propojení nebo připojení se na straně úložiště odmítne. Pokud používáte více formátů úložiště pro různé scénáře hledání, nezapomeňte pro každý dílčí zdroj vytvořit samostatný sdílený privátní odkaz.

2 Typ Microsoft.DocumentDB/databaseAccounts prostředku se používá pro připojení indexeru ke službě Azure Cosmos DB for NoSQL. V názvu zprostředkovatele a ID skupiny se rozlišují malá a velká písmena.

3 Typ Microsoft.Web/sites prostředku se používá pro app service a azure functions. V kontextu služby Azure AI Search je nejpravděpodobnějším scénářem funkce Azure. Funkce Azure se běžně používá k hostování logiky vlastní dovednosti. Azure Functions má plány hostování služby Consumption, Premium a Dedicated App Service. Služba App Service Environment (ASE) a Azure Kubernetes Service (AKS) se v tuto chvíli nepodporují.

4 Pokyny najdete v tématu Vytvoření sdíleného privátního propojení pro službu SQL Managed Instance .

5 Typ prostředku se používá pro připojení indexeru k Azure OpenAI při implementaci integrované vektorizaceMicrosoft.CognitiveServices/accounts.

K vytvoření sdíleného privátního propojení použijte Azure Portal, rozhraní REST API pro správu, Azure CLI nebo Azure PowerShell.

Tady je několik tipů:

  • Pojmenujte privátní propojení smysluplným názvem. V prostředku Azure PaaS se vedle dalších privátních koncových bodů zobrazí sdílený privátní odkaz. Název, například "shared-private-link-for-search", vám může připomenout, jak se používá.

Po dokončení kroků v této části máte sdílený privátní odkaz, který je zřízený ve stavu čekání na vyřízení. Vytvoření odkazu trvá několik minut. Po vytvoření musí vlastník prostředku žádost před provozem schválit.

  1. Přihlaste se k webu Azure Portal a vyhledejte vyhledávací službu.

  2. V části Nastavení v levém navigačním podokně vyberte Sítě.

  3. Na stránce Sdílený privátní přístup vyberte + Přidat sdílený privátní přístup.

  4. Vyberte Připojení k prostředku Azure v adresáři nebo Připojení k prostředku Azure podle ID prostředku.

  5. Pokud vyberete první možnost (doporučeno), portál vám pomůže vybrat příslušný prostředek Azure a vyplnit další vlastnosti, jako je ID skupiny prostředku a typ prostředku.

    Snímek obrazovky se stránkou Přidat sdílený privátní přístup zobrazující prostředí s asistencí pro vytvoření prostředku sdíleného privátního propojení

  6. Pokud vyberete druhou možnost, zadejte ID prostředku Azure ručně a v seznamu na začátku tohoto článku zvolte příslušné ID skupiny.

    Snímek obrazovky se stránkou Přidat sdílený privátní přístup zobrazující ruční prostředí pro vytvoření prostředku sdíleného privátního propojení

  7. Ověřte, že stav zřizování je "Aktualizace".

    Snímek obrazovky se stránkou Přidat sdílený privátní přístup zobrazující probíhající vytváření prostředků

  8. Po úspěšném vytvoření prostředku se stav zřizování prostředku změní na Úspěch.

    Snímek obrazovky se stránkou Přidat sdílený privátní přístup zobrazující dokončené vytvoření prostředku

Při 202 Accepted úspěchu se vrátí odpověď. Proces vytvoření odchozího privátního koncového bodu je dlouhotrvající (asynchronní) operace. Zahrnuje nasazení následujících prostředků:

  • Privátní koncový bod přidělený privátní IP adresou ve "Pending" stavu. Privátní IP adresa se získá z adresního prostoru, který je přidělen virtuální síti spouštěcího prostředí pro privátní indexer specifický pro vyhledávací službu. Po schválení privátního koncového bodu veškerá komunikace z Azure AI Search s prostředkem Azure pochází z privátní IP adresy a zabezpečeného kanálu privátního propojení.

  • Privátní zóna DNS pro typ prostředku na základě ID skupiny. Nasazením tohoto prostředku zajistíte, že jakékoli vyhledávání DNS na privátní prostředek využívá IP adresu přidruženou k privátnímu koncovému bodu.

2. Schválení připojení privátního koncového bodu

Schválení připojení privátního koncového bodu je uděleno na straně Azure PaaS. Vyžaduje se explicitní schválení vlastníkem prostředku. Následující kroky zahrnují schválení pomocí webu Azure Portal, ale tady jsou některé odkazy pro schválení připojení prostřednictvím kódu programu na straně Azure PaaS:

Pomocí webu Azure Portal proveďte následující kroky:

  1. Otevřete stránku Sítě prostředku Azure PaaS.Text

  2. Najděte část se seznamem připojení privátních koncových bodů. Následující příklad je pro účet úložiště.

    Snímek obrazovky webu Azure Portal zobrazující podokno připojení privátního koncového bodu

  3. Vyberte připojení a pak vyberte Schválit. Aktualizace stavu na portálu může trvat několik minut.

    Snímek obrazovky webu Azure Portal zobrazující stav Schváleno v podokně Připojení privátního koncového bodu

Po schválení privátního koncového bodu azure AI Search vytvoří potřebná mapování zón DNS v zóně DNS, která je pro ni vytvořená.

I když je odkaz privátního koncového bodu na stránce Sítě aktivní, nepřeloží se.

Snímek obrazovky odkazu privátního koncového bodu na stránce sítě Azure PaaS

Výběrem odkazu dojde k chybě. Stavová zpráva a zobrazí se, protože prostředek privátního "The access token is from the wrong issuer"must match the tenant associated with this subscription koncového bodu back-endu zřizuje Microsoft v tenantovi spravovaném Microsoftem, zatímco propojený prostředek (Azure AI Search) je ve vašem tenantovi. Přístup k prostředku privátního koncového bodu nemůžete získat tak, že vyberete propojení připojení privátního koncového bodu.

Podle pokynů v další části zkontrolujte stav sdíleného privátního propojení.

Na straně služby Azure AI Search můžete potvrdit schválení žádostí tím, že na stránce Sítě vyhledávací služby zkontrolujete stránku sdíleného privátního přístupu. stav Připojení ionu by měl být schválen.

Snímek obrazovky webu Azure Portal zobrazující prostředek schváleného sdíleného privátního propojení

Další možností je získat stav připojení pomocí rozhraní API GET Shared Private Link.

az rest --method get --uri https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Search/searchServices/contoso-search/sharedPrivateLinkResources/blob-pe?api-version=2023-11-01

Vrátí se json, kde se stav připojení zobrazí jako stav v části Vlastnosti. Následuje příklad účtu úložiště.

{
      "name": "blob-pe",
      "properties": {
        "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso/providers/Microsoft.Storage/storageAccounts/contoso-storage",
        "groupId": "blob",
        "requestMessage": "please approve",
        "status": "Approved",
        "resourceRegion": null,
        "provisioningState": "Succeeded"
      }
}

Pokud je stav zřizování (properties.provisioningState) prostředku úspěšný a stav připojení (properties.status) je Schváleno, znamená to, že sdílený prostředek privátního propojení je funkční a indexer je možné nakonfigurovat tak, aby komunikoval přes privátní koncový bod.

4. Konfigurace indexeru pro spuštění v privátním prostředí

Provádění indexeru probíhá buď v privátním prostředí, které je specifické pro vyhledávací službu, nebo víceklientské prostředí, které se používá interně k přesměrování nákladného zpracování sady dovedností pro více zákazníků.

Spouštěcí prostředí je transparentní, ale jakmile začnete vytvářet pravidla brány firewall nebo navazovat privátní připojení, musíte vzít v úvahu spuštění indexeru. U privátního připojení nakonfigurujte spuštění indexeru tak, aby se vždy spouštěl v privátním prostředí.

V tomto kroku se dozvíte, jak nakonfigurovat indexer tak, aby běžel v privátním prostředí pomocí rozhraní REST API. Spouštěcí prostředí můžete také nastavit pomocí editoru JSON na portálu.

Poznámka:

Tento krok můžete provést před schválením připojení privátního koncového bodu. Dokud se ale připojení privátního koncového bodu nezobrazí jako schválené, všechny existující indexery, které se pokusí komunikovat se zabezpečeným prostředkem (například účtem úložiště), skončí v přechodném stavu selhání a nové indexery se nevytvořijí.

  1. Vytvořte definici, index a sadu dovedností zdroje dat (pokud ji používáte) jako obvykle. V žádné z těchto definic nejsou žádné vlastnosti, které se při použití sdíleného privátního koncového bodu liší.

  2. Vytvořte indexer , který odkazuje na zdroj dat, index a sadu dovedností, které jste vytvořili v předchozím kroku. Kromě toho vynutit, aby indexer běžel v privátním spouštěcím prostředí nastavením vlastnosti konfigurace indexeru executionEnvironment na private.

    {
        "name": "indexer",
        "dataSourceName": "blob-datasource",
        "targetIndexName": "index",
        "parameters": {
            "configuration": {
                "executionEnvironment": "private"
            }
        },
        "fieldMappings": []
    }
    

Po úspěšném vytvoření indexeru by se měl připojit k prostředku Azure přes připojení privátního koncového bodu. Stav indexeru můžete monitorovat pomocí rozhraní API stavu indexeru.

Poznámka:

Pokud už máte existující indexery, můžete je aktualizovat pomocí rozhraní PUT API tak, že na portálu nastavíte executionEnvironmentprivate editor JSON nebo ho použijete.

  1. Pokud jste to ještě neudělali, ověřte, že váš prostředek Azure PaaS odmítne připojení z veřejného internetu. Pokud jsou připojení přijata, zkontrolujte nastavení DNS na stránce Sítě vašeho prostředku Azure PaaS.

  2. Zvolte nástroj, který může vyvolat scénář odchozích požadavků, například připojení indexeru k privátnímu koncovému bodu. Jednoduchou volbou je průvodce importem dat , ale můžete také vyzkoušet klienta REST a rozhraní REST API pro větší přesnost. Za předpokladu, že vyhledávací služba není nakonfigurovaná také pro privátní připojení, může být připojení klienta REST ke vyhledávání přes veřejný internet.

  3. Nastavte připojovací řetězec na privátní prostředek Azure PaaS. Formát připojovací řetězec se u sdíleného privátního propojení nezmění. Vyhledávací služba interně vyvolá sdílený privátní odkaz.

    U úloh indexeru je připojovací řetězec v definici zdroje dat. Příklad zdroje dat může vypadat takto:

     {
       "name": "my-blob-ds",
       "type": "azureblob",
       "subtype": null,
       "credentials": {
         "connectionString": "DefaultEndpointsProtocol=https;AccountName=<YOUR-STORAGE-ACCOUNT>;AccountKey=..."
       }
    
  4. U úloh indexeru nezapomeňte nastavit spouštěcí prostředí v definici indexeru. Příklad definice indexeru může vypadat takto:

    "name": "indexer",
    "dataSourceName": "my-blob-ds",
    "targetIndexName": "my-index",
    "parameters": {
       "configuration": {
           "executionEnvironment": "private"
           }
       },
    "fieldMappings": []
    }
    
  5. Spusťte indexer. Pokud se spuštění indexeru úspěšně spustí a index vyhledávání se naplní, funguje sdílený privátní odkaz.

Řešení problému

  • Pokud vytvoření indexeru selže s chybou Přihlašovací údaje ke zdroji dat jsou neplatné, před laděním připojení zkontrolujte stav schválení sdíleného privátního propojení. Pokud je Approvedstav, zkontrolujte properties.provisioningState vlastnost. Pokud ano Incomplete, může se jednat o problém se základními závislostmi. V takovém případě znovu PUT vytvořte sdílené privátní propojení. Možná budete muset tento krok schválení zopakovat.

  • Pokud indexery selžou konzistentně nebo přerušovaně, zkontrolujte executionEnvironment vlastnost indexeru. Hodnota by měla být nastavena na privatehodnotu . Pokud jste tuto vlastnost nenastavili a indexer běží úspěšně v minulosti, je to proto, že vyhledávací služba použila soukromé prostředí vlastní dohodu. Vyhledávací služba přesune zpracování ze standardního prostředí, pokud je systém zatížený.

  • Pokud při vytváření sdíleného privátního propojení dojde k chybě, zkontrolujte limity služeb a ověřte, že jste v rámci kvóty pro vaši úroveň.

Další kroky

Další informace o privátních koncových bodech a dalších metodách zabezpečeného připojení: