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í)
Při nasazování modelu 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ůžete privátní koncový bod použít k zabezpečení příchozí komunikace se spravovaným online koncovým bodem. Dozvíte se také, jak můžete použít spravovanou virtuální síť pracovního prostoru k zajištění zabezpečené komunikace 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í příchozí a odchozí komunikace se konfiguruje 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.
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í nebo odchozí připojení k internetu, existuje izolace sítě mezi nasazeními, která brání přímému připojení k jiným nasazením.
Omezení
Příznak
v1_legacy_mode
musí být u vašeho pracovního prostoru Azure Machine Learning zakázaný (false). Pokud je tento příznak povolený, nebudete moct vytvořit spravovaný online koncový bod. Další informace najdete v článku o izolaci sítě pomocí rozhraní API v2.Pokud má váš pracovní prostor Azure Machine Learning privátní koncový bod vytvořený před 24. květnem 2022, musíte privátní koncový bod pracovního prostoru vytvořit znovu, než nakonfigurujete online koncové body tak, aby používaly privátní koncový bod. Další informace o vytvoření privátního koncového bodu pro pracovní prostor najdete v článku o konfiguraci privátního koncového bodu pro pracovní prostor Azure Machine Learning.
Tip
Pokud chcete ověřit, kdy byl pracovní prostor vytvořen, můžete zkontrolovat vlastnosti pracovního prostoru.
V sadě Studio přejděte do
Directory + Subscription + Workspace
části (vpravo nahoře v sadě Studio) a vyberteView all properties in Azure Portal
. V pravém horním rohu stránky Přehled vyberte zobrazení JSON a pak zvolte nejnovější verzi rozhraní API. Na této stránce můžete zkontrolovat hodnotuproperties.creationTime
.Alternativně můžete použít
az ml workspace show
s rozhraním příkazového řádku,my_ml_client.workspace.get("my-workspace-name")
se sadou SDK nebocurl
v pracovním prostoru s rozhraním REST API.Pokud používáte izolaci sítě s online koncovými body, můžete použít prostředky přidružené k pracovnímu prostoru (Azure Container Registry (ACR), účet úložiště, službu Key Vault a Application Insights) z jiné skupiny prostředků než pracovní prostor. Tyto prostředky ale musí patřit do stejného předplatného a tenanta jako váš pracovní prostor.
Poznámka:
Izolace sítě popsaná v tomto článku se týká operací roviny dat, to znamená operací, které jsou výsledkem bodovacích požadavků (nebo obsluhy modelu). Operace řídicí roviny (například žá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í
Zabezpečená příchozí komunikace z klienta do spravovaného online koncového bodu je možná 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, pomocí kterých může spravovaný online koncový bod přijímat 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
:
az ml online-endpoint create -f endpoint.yml --set public_network_access=disabled
Pokud má public_network_access
hodnotu disabled
, příchozí žádosti o bodování se přijímají pomocí privátního koncového bodu pracovního prostoru a koncový bod není dostupný z veřejných sítí.
Případně pokud nastavíte public_network_access
hodnotu enabled
, 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íť, které se použijí pro komunikaci s prostředky Azure, které používají pracovní prostor, 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, konkrétně:
- 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 odchozích přenosů plně kvalifikovaného názvu domény a pravidel odchozích přenosů značek služeb.
Řekněme například, že spravovaná virtuální síť vašeho pracovního prostoru obsahuje dvě nasazení ve spravovaném online koncovém bodu, obě nasazení můžou ke komunikaci s privátními koncovými body pracovního prostoru použít:
- Pracovní prostor Azure Machine Learning
- Objekt blob služby Azure Storage přidružený k pracovnímu prostoru
- Azure Container Registry pro pracovní prostor
- The Azure Key Vault
- (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.
Řekněme ale, že je aplikace soukromá, například interní aplikace ve vaší organizaci. V tomto scénáři chcete, aby se model AI používal jenom v rámci vaší organizace, a ne aby ho zpřístupnil na internetu. Proto je potřeba koncový bod public_network_access
zakázat, 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í):<
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 povolit spravovanou 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.
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.ms
DNS, 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 také 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
jedisabled
. 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 aktualizovat (povolit nebo zakázat).egress_public_network_access
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ý je možné 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. Důvodem je to, že odchozí komunikace z online nasazení je do rozhraní API pracovního prostoru. Pokud je nasazení nakonfigurované 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í by ke komunikaci s pracovním prostorem, objektem blob a registrem kontejnerů používalo tři privátní koncové body.
Důležité
Azure Machine Learning nepodporuje partnerský vztah mezi spravovanou virtuální sítí 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.
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ý naenabled
), musí být pracovní prostor schopný tuto veřejnou komunikaci přijmout (public_network_access
příznak pro pracovní prostor nastavený naenabled
). - Když se vytvoří online nasazení s příznakem nastaveným
egress_public_network_access
nadisabled
, budou mít přístup pouze k zabezpečeným prostředkům (pracovní prostor, objekt blob a registr kontejnerů). Pokud například nasazení používá prostředky modelu 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, pokudegress_public_network_access
je nastavenaenabled
, nasazení může 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žnostPracovní 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žnostPracovní prostor musí také povolit veřejný přístup, protože odchozí nasazení je do rozhraní API pracovního prostoru. |
Ano |