Sdílet prostřednictvím


Izolace sítě se spravovanými online koncovými body

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

Když nasadíte model strojového učení do spravovaného online koncového bodu, můžete zabezpečit komunikaci s online koncovým bodem pomocí privátních koncových bodů. V tomto článku se dozvíte, jak může privátní koncový bod zabezpečit příchozí komunikaci se spravovaným online koncovým bodem. Dozvíte se také, jak může spravovaná virtuální síť pracovního prostoru poskytovat zabezpečenou komunikaci mezi nasazeními a prostředky.

Příchozí žádosti o bodování můžete zabezpečit od klientů do online koncového bodu a zabezpečit odchozí komunikaci mezi nasazením, prostředky Azure, které používá, a privátními prostředky. Zabezpečení pro příchozí a odchozí komunikaci nakonfigurujete samostatně. Další informace o koncových bodech a nasazeních najdete v tématu Co jsou koncové body a nasazení.

Následující diagram architektury ukazuje, jak komunikace prochází privátními koncovými body do spravovaného online koncového bodu. Příchozí žádosti o bodování z virtuální sítě klienta procházejí privátním koncovým bodem pracovního prostoru do spravovaného online koncového bodu. Odchozí komunikace z nasazení do služeb se zpracovává prostřednictvím privátních koncových bodů ze spravované virtuální sítě pracovního prostoru do těchto instancí služby.

Diagram znázorňující příchozí komunikaci prostřednictvím privátního koncového bodu pracovního prostoru a odchozí komunikace prostřednictvím privátních koncových bodů spravované virtuální sítě pracovního prostoru

Poznámka:

  • Tento článek se zaměřuje na izolaci sítě pomocí spravované virtuální sítě pracovního prostoru. Popis starší verze metody izolace sítě, ve které Azure Machine Learning vytvoří spravovanou virtuální síť pro každé nasazení v koncovém bodu, najdete v dodatku.
  • Každé nasazení je izolované od ostatních nasazení bez ohledu na příchozí a odchozí komunikaci, která je popsána v tomto článku. Jinými slovy, i s koncovými body a nasazeními, které umožňují příchozí a odchozí přístup k internetu, existuje izolace sítě mezi nasazeními, která blokuje přímé připojení k jiným nasazením.

Omezení

  • Příznak v1_legacy_mode musí být nastaven na false pro vypnutí staršího režimu v1 ve vašem pracovním prostoru služby Azure Machine Learning. Pokud je toto nastavení zapnuté, nemůžete vytvořit spravovaný online koncový bod. Další informace najdete v tématu Změna izolace sítě pomocí nové platformy rozhraní API v Azure Resource Manageru.

  • Pokud má váš pracovní prostor Azure Machine Learning privátní koncový bod vytvořený před 24. květnem 2022, musíte tento privátní koncový bod vytvořit znovu, než nakonfigurujete online koncové body tak, aby používaly privátní koncové body. Další informace o vytvoření privátního koncového bodu pro váš pracovní prostor najdete v tématu Konfigurace privátního koncového bodu pro pracovní prostor Azure Machine Learning.

    Návod

    Pokud chcete zobrazit datum vytvoření pracovního prostoru, můžete zkontrolovat vlastnosti pracovního prostoru.

    1. V nástroji Azure Machine Learning Studio přejděte do pravého horního rohu a vyberte název pracovního prostoru.
    2. V okně Adresář + Předplatné + Pracovní prostor vyberte Zobrazit všechny vlastnosti na webu Azure Portal.
    3. Na stránce Přehled webu Azure Portal přejděte do pravého horního rohu a vyberte Zobrazení JSON.
    4. V okně JSON prostředku v části Verze rozhraní API vyberte nejnovější verzi rozhraní API.
    5. properties V části kódu JSON zkontrolujte creationTime hodnotu.

    Případně použijte jednu z následujících metod:

    • Python SDK: Workspace.get(name=<workspace-name>, subscription_id=<subscription-ID>, resource_group=<resource-group-name>).get_details()
    • REST API: curl https://management.azure.com/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/?api-version=2023-10-01 -H "Authorization:Bearer <access-token>"
    • PowerShell:Get-AzMLWorkspace -Name <workspace-name> -ResourceGroupName <resource-group-name>
  • Pokud k zabezpečení online koncových bodů použijete izolaci sítě, můžete použít prostředky spojené s pracovním prostorem z jiné skupiny prostředků než skupina prostředků vašeho pracovního prostoru. Tyto prostředky ale musí patřit do stejného předplatného a tenanta jako váš pracovní prostor. Mezi prostředky přidružené k pracovnímu prostoru patří Azure Container Registry, Azure Storage, Azure Key Vault a Application Insights.

Poznámka:

Tento článek popisuje izolaci sítě, která se vztahuje na operace roviny dat. Tyto operace jsou výsledkem bodovacích požadavků nebo obsluhy modelu. Operace řídicí roviny, jako jsou žádosti o vytvoření, aktualizaci, odstranění nebo načtení ověřovacích klíčů, se posílají do Azure Resource Manageru přes veřejnou síť.

Zabezpečení příchozích žádostí o bodování

Příchozí komunikaci z klienta do spravovaného online koncového bodu můžete zabezpečit pomocí privátního koncového bodu pro pracovní prostor Azure Machine Learning. Tento privátní koncový bod ve virtuální síti klienta komunikuje s pracovním prostorem spravovaného online koncového bodu a je prostředky, kterými spravovaný online koncový bod přijímá příchozí žádosti o bodování od klienta.

Pokud chcete zabezpečit žádosti o bodování do online koncového bodu, aby k němu klient mohl přistupovat pouze prostřednictvím privátního koncového bodu pracovního prostoru, nastavte public_network_access příznak koncového bodu na disabled. Po vytvoření koncového bodu můžete toto nastavení aktualizovat, abyste v případě potřeby povolili přístup k veřejné síti.

Nastavte příznak koncového public_network_access bodu na disabled:

Před spuštěním příkazu Azure CLI:

  • Ujistěte se, že máte endpoint.yml soubor v aktuálním pracovním adresáři (místně nebo v Azure Cloud Shellu).
  • Pokud používáte Azure Cloud Shell, nahrajte nebo naklonujte endpoint.yml úložiště, které ho obsahuje, do svého domovského adresáře Cloud Shellu.
  • Pokud nemáte nastavený výchozí pracovní prostor a skupinu prostředků služby Azure Machine Learning, přidejte parametry --resource-group a --workspace-name.
az ml online-endpoint create \
  --file endpoint.yml \
  --set public_network_access=disabled

# Optionally specify the workspace and resource group explicitly
az ml online-endpoint create \
  --file endpoint.yml \
  --resource-group <resource-group-name> \
  --workspace-name <workspace-name> \
  --set public_network_access=disabled

Pokud se zobrazí No such file or directory: endpoint.yml chyba, ověřte, že endpoint.yml v aktuálním adresáři existuje a že příkaz spustíte z daného adresáře.

Když zakážete public_network_access, privátní koncový bod pracovního prostoru přijímá příchozí žádosti o bodování a veřejné sítě se nemůžou připojit ke koncovému bodu.

Pokud povolíte public_network_access, koncový bod může přijímat příchozí žádosti o bodování z internetu.

Zabezpečení příchozího bodování s přístupem k veřejné síti z konkrétních IP adres

Pracovní prostor Azure Machine Learning podporuje povolení přístupu k veřejné síti z konkrétních IP adres nebo rozsahů adres. Tato funkce má určité interakce s příznakem spravovaného online koncového bodu public_network_access , o který byste měli vědět při použití se spravovanými online koncovými body. Další informace najdete v tématu Scénář: Spravované online koncové body s přístupem z konkrétních IP adres.

Zabezpečení odchozího přístupu pomocí virtuální sítě spravované pracovním prostorem

Pokud chcete zabezpečit odchozí komunikaci z nasazení do služeb, musíte pro pracovní prostor Služby Azure Machine Learning povolit izolaci spravované virtuální sítě, aby služba Azure Machine Learning mohla pro pracovní prostor vytvořit spravovanou virtuální síť. Všechny spravované online koncové body v pracovním prostoru (a spravované výpočetní prostředky pro pracovní prostor, jako jsou výpočetní clustery a výpočetní instance), automaticky používají tuto virtuální síť spravovanou pracovní prostor a nasazení v rámci koncových bodů sdílejí privátní koncové body spravované virtuální sítě pro komunikaci s prostředky pracovního prostoru.

Když pracovní prostor zabezpečíte pomocí spravované virtuální sítě, egress_public_access příznak pro spravovaná online nasazení už neplatí. Vyhněte se nastavení tohoto příznaku při vytváření spravovaného online nasazení.

Pro odchozí komunikaci s virtuální sítí spravovanou pracovním prostorem Azure Machine Learning:

  • Vytvoří privátní koncové body pro spravovanou virtuální síť pro komunikaci s prostředky Azure, které pracovní prostor používá, jako je Azure Storage, Azure Key Vault a Azure Container Registry.
  • Umožňuje nasazením získat přístup ke službě Microsoft Container Registry (MCR), což může být užitečné, když chcete použít kurátorovaná prostředí nebo nasazení bez kódu MLflow.
  • Umožňuje uživatelům nakonfigurovat pravidla odchozích přenosů privátních koncových bodů na soukromé prostředky a nakonfigurovat pravidla odchozích přenosů (značka služby nebo plně kvalifikovaný název domény) pro veřejné prostředky. Další informace o správě pravidel odchozích přenosů najdete v tématu Správa pravidel odchozích přenosů.

Kromě toho můžete nakonfigurovat dva režimy izolace pro odchozí provoz ze spravované virtuální sítě pracovního prostoru:

  • Povolit odchozí provoz z internetu a povolit veškerý odchozí internetový provoz ze spravované virtuální sítě
  • Povolte pouze schválené odchozí přenosy, abyste mohli řídit odchozí provoz pomocí privátních koncových bodů, pravidel FQDN odchozích přenosů a pravidel odchozích přenosů značek služeb.

Pokud například spravovaná virtuální síť vašeho pracovního prostoru obsahuje dvě nasazení ve spravovaném online koncovém bodu, můžou obě nasazení používat privátní koncové body pracovního prostoru ke komunikaci:

  • Pracovní prostor Azure Machine Learning
  • Objekt blob služby Azure Storage přidružený k pracovnímu prostoru
  • Azure Container Registry pro pracovní prostor
  • Úložiště klíčů Azure
  • (Volitelné) další privátní prostředky, které podporují privátní koncové body.

Další informace o konfiguracích pro virtuální síť spravovanou pracovním prostorem najdete v tématu Architektura spravované virtuální sítě.

Scénáře konfigurace izolace sítě

Každý z vašich pracovních prostorů Azure Machine Learning a spravovaných online koncových bodů má public_network_access příznak, který můžete použít ke konfiguraci příchozí komunikace. Na druhé straně odchozí komunikace z nasazení závisí na spravované virtuální síti pracovního prostoru.

Komunikace se spravovaným online koncovým bodem

Předpokládejme, že spravovaný online koncový bod má nasazení, které používá model AI, a chcete použít aplikaci k odesílání žádostí o bodování do koncového bodu. Konfiguraci izolace sítě, která se má použít pro spravovaný online koncový bod, můžete rozhodnout následujícím způsobem:

Pro příchozí komunikaci:

Pokud je aplikace veřejně dostupná na internetu, musíte pro koncový bod povolitpublic_network_access, aby mohla přijímat příchozí žádosti o bodování z aplikace.

Pokud je ale aplikace soukromá, například interní aplikace v rámci vaší organizace, chcete, aby byl model AI používán pouze v rámci vaší organizace a aby nebyl vystavován na internetu. Proto je potřeba , aby mohl přijímat příchozí žádosti o bodování pouze prostřednictvím privátního koncového bodu pracovního prostoru.

Pro odchozí komunikaci (nasazení):</a1>

Předpokládejme, že vaše nasazení potřebuje přístup k privátním prostředkům Azure (například k objektům blob služby Azure Storage, ACR a Azure Key Vault) nebo je nepřijatelné, aby nasazení mělo přístup k internetu. V takovém případě musíte povolitspravovanou virtuální síť pracovního prostoru s povoleným režimem izolace odchozích přenosů . Tento režim izolace umožňuje odchozí komunikaci z nasazení pouze do schválených cílů, čímž chrání před exfiltrací dat. Kromě toho můžete přidat pravidla odchozích přenosů pro pracovní prostor, která umožní přístup k více soukromým nebo veřejným prostředkům. Další informace najdete v tématu Konfigurace spravované virtuální sítě tak, aby umožňovala pouze schválené odchozí přenosy.

Pokud ale chcete, aby vaše nasazení přistupoval k internetu, můžete použít spravovanou virtuální síť pracovního prostoru s povoleným režimem izolace odchozích přenosů z internetu. Kromě toho, že budete mít přístup k internetu, budete moct používat privátní koncové body spravované virtuální sítě pro přístup k privátním prostředkům Azure, které potřebujete.

Pokud vaše nasazení nepotřebuje přístup k privátním prostředkům Azure a nepotřebujete řídit přístup k internetu, nemusíte používat virtuální síť spravovanou pracovním prostorem.

Příchozí komunikace do pracovního prostoru Azure Machine Learning

Příznakem pracovního prostoru Azure Machine Learning můžete public_network_access povolit nebo zakázat příchozí přístup k pracovnímu prostoru. Obvykle platí, že pokud zabezpečíte příchozí komunikaci s pracovním prostorem (zakázáním příznaku public_network_access pracovního prostoru), chcete také zabezpečit příchozí komunikaci se spravovaným online koncovým bodem.

Následující graf ukazuje typický pracovní postup pro zabezpečení příchozí komunikace s pracovním prostorem Služby Azure Machine Learning a spravovaným online koncovým bodem. Pro zajištění nejlepšího zabezpečení doporučujeme zakázat public_network_access příznaky pracovního prostoru a spravovaného online koncového bodu, abyste zajistili, že k oběma možnostem nebudete mít přístup přes veřejný internet. Pokud pracovní prostor nemá privátní koncový bod, můžete ho vytvořit a zajistit tak správné překlady DNS. Ke spravovanému online koncovému bodu pak můžete přistupovat pomocí privátního koncového bodu pracovního prostoru.

Snímek obrazovky znázorňující typický pracovní postup pro zabezpečení příchozí komunikace s pracovním prostorem a spravovaným online koncovým bodem

Poznámka:

Spravované online koncové body sdílejí privátní koncový bod pracovního prostoru. Pokud ručně přidáváte záznamy DNS do privátní zóny privatelink.api.azureml.msDNS, měl by se přidat záznam A se zástupným znakem *.<per-workspace globally-unique identifier>.inference.<region>.privatelink.api.azureml.ms pro směrování všech koncových bodů v pracovním prostoru do privátního koncového bodu.

Další informace o překladu DNS pro váš pracovní prostor a privátní koncový bod najdete v tématu Použití pracovního prostoru s vlastním serverem DNS.

Dodatek

Zabezpečení odchozího přístupu pomocí metody izolace starší verze sítě

U spravovaných online koncových bodů můžete zabezpečit odchozí komunikaci mezi nasazeními a prostředky pomocí virtuální sítě spravované službou Azure Machine Learning pro každé nasazení v koncovém bodu. Zabezpečená odchozí komunikace se také zpracovává pomocí privátních koncových bodů pro tyto instance služby.

Poznámka:

Důrazně doporučujeme místo této starší metody použít přístup popsaný v tématu Zabezpečený odchozí přístup s virtuální sítí spravovanou pracovním prostorem.

Pokud chcete omezit komunikaci mezi nasazením a externími prostředky, včetně prostředků Azure, které používá, měli byste zajistit následující:

  • Příznakem nasazení egress_public_network_access je disabled. Tento příznak zajišťuje, že stahování modelu, kódu a imagí potřebných nasazením je zabezpečené pomocí privátního koncového bodu. Po vytvoření nasazení nemůžete příznak egress_public_network_access aktualizovat (povolit nebo zakázat). Pokus o změnu příznaku při aktualizaci nasazení selže s chybou.

  • Pracovní prostor má privátní propojení, které umožňuje přístup k prostředkům Azure prostřednictvím privátního koncového bodu.

  • Pracovní prostor má public_network_access příznak, který můžete povolit nebo zakázat. Pokud plánujete používat spravované online nasazení, které používá veřejný odchozí provoz, musíte také nakonfigurovat pracovní prostor tak, aby umožňoval veřejný přístup. Tento požadavek existuje, protože od online nasazení probíhá odchozí komunikace k rozhraní API pracovního prostoru. Když nakonfigurujete nasazení tak, aby používalo veřejné odchozí přenosy, musí být pracovní prostor schopný tuto veřejnou komunikaci přijmout (povolit veřejný přístup).

Pokud máte více nasazení a nakonfigurujete egress_public_network_access pro disabled každé nasazení ve spravovaném online koncovém bodu, každé nasazení má svou vlastní nezávislou virtuální síť spravovanou službou Azure Machine Learning. Pro každou virtuální síť vytvoří Azure Machine Learning tři privátní koncové body pro komunikaci s následujícími službami:

  • Pracovní prostor Azure Machine Learning
  • Objekt blob služby Azure Storage přidružený k pracovnímu prostoru
  • Azure Container Registry pro pracovní prostor

Pokud například nastavíte egress_public_network_access příznak na disabled dvě nasazení spravovaného online koncového bodu, vytvoří se celkem šest privátních koncových bodů. Každé nasazení používá ke komunikaci s pracovním prostorem, blobem a registrem kontejnerů tři privátní koncové body.

Důležité

Azure Machine Learning nepodporuje propojení mezi spravovanou virtuální sítí v rámci nasazení a virtuální sítí vašeho klienta. Pro zabezpečený přístup k prostředkům potřebným nasazením používáme privátní koncové body ke komunikaci s prostředky.

Následující diagram znázorňuje příchozí žádosti o bodování z virtuální sítě klienta procházející privátním koncovým bodem pracovního prostoru do spravovaného online koncového bodu. Diagram také znázorňuje dvě online nasazení, z nichž každá je ve své vlastní virtuální síti spravované službou Azure Machine Learning. Virtuální síť každého nasazení má tři privátní koncové body pro odchozí komunikaci s pracovním prostorem Azure Machine Learning, objektem blob služby Azure Storage přidruženým k pracovnímu prostoru a službou Azure Container Registry pro daný pracovní prostor.

Diagram celkové izolace sítě pomocí starší metody

Zakázání egress_public_network_access a vytvoření privátních koncových bodů:

az ml online-deployment create -f deployment.yml --set egress_public_network_access=disabled

Pokud chcete potvrdit vytvoření privátních koncových bodů, nejprve zkontrolujte účet úložiště a registr kontejneru přidružený k pracovnímu prostoru (viz Stažení konfiguračního souboru), vyhledejte jednotlivé prostředky na webu Azure Portal a zkontrolujte Private endpoint connections kartu v Networking nabídce.

Důležité

  • Jak už bylo zmíněno dříve, odchozí komunikace ze spravovaného nasazení online koncového bodu je do rozhraní API pracovního prostoru. Pokud je koncový bod nakonfigurovaný tak, aby používal veřejný odchozí provoz (jinými slovy, public_network_access příznak koncového bodu je nastavený na enabled), musí být pracovní prostor schopný tuto veřejnou komunikaci přijmout (public_network_access příznak pro pracovní prostor nastavený na enabled).
  • Při vytváření online nasazení s příznakem egress_public_network_access nastaveným na disabled mají přístup pouze k zabezpečeným prostředkům, jako jsou pracovní prostor, objekt blob a registr kontejneru. Pokud například nasazení používá modelové prostředky nahrané do jiných účtů úložiště, stažení modelu selže. Ujistěte se, že jsou prostředky modelu v účtu úložiště přidruženém k pracovnímu prostoru.
  • Pokud egress_public_network_access je nastavení nastavené disabled, může nasazení přistupovat pouze k prostředkům přidruženým k pracovnímu prostoru zabezpečeným ve virtuální síti. Naopak, pokud je egress_public_network_access nastaveno na enabled, může nasazení přistupovat pouze k prostředkům s veřejným přístupem, což znamená, že nemůže přistupovat k prostředkům zabezpečeným ve virtuální síti.

Následující tabulka uvádí podporované konfigurace při konfiguraci příchozí a odchozí komunikace pro online koncový bod:

Konfigurace
Příchozí (vlastnost koncového bodu)

Odchozí (vlastnost nasazení)
Podporováno?
zabezpečená příchozí i odchozí komunikace Vlastnost public_network_access je zakázaná. Vlastnost egress_public_network_access je zakázaná. Ano
zabezpečená příchozí a veřejná odchozí komunikace Vlastnost public_network_access je zakázaná. egress_public_network_access Je povolena možnost
Pracovní prostor musí také povolit veřejný přístup, protože odchozí nasazení je do rozhraní API pracovního prostoru.
Ano
veřejná příchozí a zabezpečená odchozí komunikace Vlastnost public_network_access je povolená. Vlastnost egress_public_network_access je zakázaná. Ano
veřejná příchozí i odchozí komunikace Vlastnost public_network_access je povolená. egress_public_network_access Je povolena možnost
Pracovní prostor musí také povolit veřejný přístup, protože odchozí nasazení je do rozhraní API pracovního prostoru.
Ano

Další kroky