Flöde för nätverkstrafik när du använder en skyddad arbetsyta
När din Azure Machine Learning arbetsyta och associerade resurser skyddas i en Azure-Virtual Network ändras nätverkstrafiken mellan resurser. Utan ett virtuellt nätverk flödar nätverkstrafiken över det offentliga Internet eller i ett Azure-datacenter. När ett virtuellt nätverk (VNet) har introducerats kanske du också vill förstärka nätverkssäkerheten. Till exempel blockera inkommande och utgående kommunikation mellan det virtuella nätverket och det offentliga Internet. Men Azure Machine Learning kräver åtkomst till vissa resurser på det offentliga Internet. Azure Resource Management används till exempel för distributioner och hanteringsåtgärder.
I den här artikeln visas den trafik som krävs till och från det offentliga Internet. Den förklarar också hur nätverkstrafiken flödar mellan din klientutvecklingsmiljö och en skyddad Azure Machine Learning arbetsyta i följande scenarier:
Använda Azure Machine Learning Studio för att arbeta med:
- Din arbetsyta
- AutoML
- Designer
- Datauppsättningar och datalager
Tips
Azure Machine Learning-studio är ett webbaserat användargränssnitt som delvis körs i webbläsaren och gör anrop till Azure-tjänster för att utföra uppgifter som att träna en modell, använda designer eller visa datamängder. Vissa av dessa anrop använder ett annat kommunikationsflöde än om du använder SDK, CLI, REST API eller VS Code.
Använda Azure Machine Learning Studio, SDK, CLI eller REST API för att arbeta med:
- Beräkningsinstanser och kluster
- Azure Kubernetes Service
- Docker-avbildningar som hanteras av Azure Machine Learning
Tips
Om ett scenario eller en uppgift inte visas här bör den fungera på samma sätt med eller utan en skyddad arbetsyta.
Antaganden
Den här artikeln förutsätter följande konfiguration:
- Azure Machine Learning arbetsyta som använder en privat slutpunkt för att kommunicera med det virtuella nätverket.
- Azure Storage-kontot, Key Vault och containerregistret som används av arbetsytan använder också en privat slutpunkt för att kommunicera med det virtuella nätverket.
- En VPN-gateway eller ExpressRoute används av klientarbetsstationerna för att få åtkomst till det virtuella nätverket.
Krav för inkommande och utgående trafik
Scenario | Obligatoriskt inkommande | Obligatorisk utgående | Ytterligare konfiguration |
---|---|---|---|
Få åtkomst till arbetsyta från Studio | NA |
|
Du kan behöva använda en anpassad DNS-server. Mer information finns i Använda din arbetsyta med en anpassad DNS. |
Använda AutoML, designer, datauppsättning och datalager från studio | NA | NA |
|
Använda beräkningsinstanser och beräkningskluster |
|
|
Om du använder en brandvägg skapar du användardefinierade vägar. Mer information finns i Konfigurera inkommande och utgående trafik. |
Använd Azure Kubernetes Service | NA | Information om den utgående konfigurationen för AKS finns i Distribuera till Azure Kubernetes Service. | Konfigurera den interna Load Balancer. Mer information finns i Distribuera till Azure Kubernetes Service. |
Använda Docker-avbildningar som hanteras av Azure Machine Learning | NA |
|
Om Azure Container Registry för din arbetsyta ligger bakom det virtuella nätverket konfigurerar du arbetsytan så att den använder ett beräkningskluster för att skapa avbildningar. Mer information finns i Skydda en arbetsyta i ett virtuellt nätverk. |
Viktigt
Azure Machine Learning använder flera lagringskonton. Var och en lagrar olika data och har ett annat syfte:
Din lagring: De Azure Storage-kontona i din Azure-prenumeration används för att lagra dina data och artefakter, till exempel modeller, träningsdata, träningsloggar och Python skript. Till exempel finns standardlagringskontot för din arbetsyta i din prenumeration. Den Azure Machine Learning beräkningsinstansen och beräkningskluster har åtkomst till fil- och blobdata i den här lagringen via portarna 445 (SMB) och 443 (HTTPS).
När du använder en beräkningsinstans eller ett beräkningskluster monteras ditt lagringskonto som en filresurs med hjälp av SMB-protokollet. Beräkningsinstansen och klustret använder den här filresursen för att lagra data, modeller, Jupyter Notebooks, datauppsättningar osv. Beräkningsinstansen och klustret använder den privata slutpunkten vid åtkomst till lagringskontot.
Microsoft Storage: Azure Machine Learning beräkningsinstanser och beräkningskluster förlitar sig på Azure Batch och har åtkomst till lagring som finns i en Microsoft-prenumeration. Den här lagringen används endast för hantering av beräkningsinstansen/klustret. Ingen av dina data lagras här. Beräkningsinstansen och beräkningsklustret har åtkomst till blob-, tabell- och ködata i den här lagringen med hjälp av port 443 (HTTPS).
Machine Learning lagrar även metadata i en Azure Cosmos DB-instans. Som standard finns den här instansen i en Microsoft-prenumeration och hanteras av Microsoft. Du kan också använda en Azure Cosmos DB-instans i din Azure-prenumeration. Mer information finns i Datakryptering med Azure Machine Learning.
Scenario: Få åtkomst till arbetsytan från Studio
Anteckning
Informationen i det här avsnittet är specifik för att använda arbetsytan från Azure Machine Learning-studio. Om du använder Azure Machine Learning SDK, REST API, CLI eller Visual Studio Code gäller inte informationen i det här avsnittet för dig.
När du kommer åt din arbetsyta från Studio är nätverkstrafikflödena följande:
- För att autentisera till resurser används Azure Active Directory.
- För hanterings- och distributionsåtgärder används Azure Resource Manager.
- För Azure Machine Learning specifika uppgifter används Azure Machine Learning-tjänsten
- För åtkomst till Azure Machine Learning-studio (https://ml.azure.com) används Azure FrontDoor.
- För de flesta lagringsåtgärder flödar trafiken genom den privata slutpunkten för standardlagringen för din arbetsyta. Undantag beskrivs i avsnittet Använda AutoML, designer, datauppsättning och datalager .
- Du måste också konfigurera en DNS-lösning som gör att du kan matcha namnen på resurserna i det virtuella nätverket. Mer information finns i Använda din arbetsyta med en anpassad DNS.
Scenario: Använda AutoML, designer, datauppsättning och datalager från studio
Följande funktioner i Azure Machine Learning-studio använda dataprofilering:
- Datauppsättning: Utforska datauppsättningen från Studio.
- Designer: Visualisera utdata för modulen.
- AutoML: Visa en dataförhandsgranskning/profil och välj en målkolumn.
- Märkning
Dataprofilering beror på att den Azure Machine Learning hanterade tjänsten kan komma åt standardkontot för Azure Storage för din arbetsyta. Den hanterade tjänsten finns inte i ditt VNet, så den kan inte komma åt lagringskontot direkt i det virtuella nätverket. I stället använder arbetsytan ett huvudnamn för tjänsten för att få åtkomst till lagring.
Tips
Du kan ange ett huvudnamn för tjänsten när du skapar arbetsytan. Om du inte gör det skapas en åt dig och har samma namn som din arbetsyta.
Om du vill tillåta åtkomst till lagringskontot konfigurerar du lagringskontot så att en resursinstans tillåts för din arbetsyta eller väljer listan Tillåt att Azure-tjänster i listan över betrodda tjänster får åtkomst till det här lagringskontot. Med den här inställningen kan den hanterade tjänsten komma åt lagring via Azures datacenternätverk.
Lägg sedan till tjänstens huvudnamn för arbetsytan i rollen Läsare till lagringskontots privata slutpunkt. Den här rollen används för att verifiera information om arbetsytan och lagringsundernätet. Om de är likadana tillåts åtkomst. Slutligen kräver tjänstens huvudnamn även åtkomst för blobdatadeltagare till lagringskontot.
Mer information finns i avsnittet Azure Storage konto i Skydda en arbetsyta i ett virtuellt nätverk.
Scenario: Använda beräkningsinstanser och beräkningskluster
Azure Machine Learning beräkningsinstans och beräkningskluster är hanterade tjänster som hanteras av Microsoft. De bygger på tjänsten Azure Batch. Även om de finns i en Microsoft-hanterad miljö matas de också in i ditt virtuella nätverk.
När du skapar en beräkningsinstans eller ett beräkningskluster skapas även följande resurser i ditt virtuella nätverk:
En nätverkssäkerhetsgrupp med nödvändiga regler för utgående trafik. Dessa regler tillåter inkommande åtkomst från Azure Machine Learning (TCP på port 44224) och Azure Batch tjänst (TCP på portarna 29876-29877).
Viktigt
Om du använder en brandvägg för att blockera Internetåtkomst till det virtuella nätverket måste du konfigurera brandväggen för att tillåta den här trafiken. Med Azure Firewall kan du till exempel skapa användardefinierade vägar. Mer information finns i Använda Azure Machine Learning med en brandvägg.
En lastbalanserare med en offentlig IP-adress.
Tillåt även utgående åtkomst till följande tjänsttaggar. Ersätt med Azure-regionen för beräkningsinstansen/klustret för varje tagg region
:
Storage.region
– Den här utgående åtkomsten används för att ansluta till Azure Storage-kontot i det Azure Batch tjänsthanterade virtuella nätverket.Keyvault.region
– Den här utgående åtkomsten används för att ansluta till Azure Key Vault-kontot i det Azure Batch tjänsthanterade virtuella nätverket.
Dataåtkomst från beräkningsinstansen eller klustret går via den privata slutpunkten för Storage-kontot för ditt virtuella nätverk.
Om du använder Visual Studio Code på en beräkningsinstans måste du tillåta annan utgående trafik. Mer information finns i Använda Azure Machine Learning med en brandvägg.
Scenario: Använda onlineslutpunkter
Att skydda en onlineslutpunkt med en privat slutpunkt är en förhandsgranskningsfunktion.
Viktigt
Den här funktionen är för närvarande i allmänt tillgänglig förhandsversion. Den här förhandsversionen tillhandahålls utan serviceavtal och rekommenderas inte för produktionsarbetsbelastningar. Vissa funktioner kanske inte stöds eller kan vara begränsade. Mer information finns i Kompletterande villkor för användning av Microsoft Azure-förhandsversioner.
Inkommande kommunikation med bedömnings-URL:en för onlineslutpunkten kan skyddas med hjälp av public_network_access
flaggan på slutpunkten. Om du anger flaggan till disabled
begränsas onlineslutpunkten till att endast ta emot trafik från det virtuella nätverket. För säker inkommande kommunikation används Azure Machine Learning arbetsytans privata slutpunkt.
Utgående kommunikation från en distribution kan skyddas per distribution med hjälp egress_public_network_access
av flaggan . Utgående kommunikation i det här fallet är från distributionen till Azure Container Registry, lagringsbloben och arbetsytan. Om du anger flaggan till true
begränsas kommunikationen med dessa resurser till det virtuella nätverket.
Anteckning
För säker utgående kommunikation skapas en privat slutpunkt för varje distribution där egress_public_network_access
är inställd på disabled
.
Slutpunktens synlighet styrs också av public_network_access
flaggan för Azure Machine Learning arbetsyta. Om den här flaggan är disabled
kan bedömningsslutpunkterna endast nås från virtuella nätverk som innehåller en privat slutpunkt för arbetsytan. Om det är enabled
kan bedömningsslutpunkten nås från det virtuella nätverket och offentliga nätverk.
Konfigurationer som stöds
Konfiguration | Inkommande (slutpunktsegenskap) | Utgående (distributionsegenskap) | Stöds? |
---|---|---|---|
säker inkommande med säker utgående | public_network_access är inaktiverad |
egress_public_network_access är inaktiverad |
Yes |
säker inkommande med offentligt utgående | public_network_access är inaktiverad |
egress_public_network_access är aktiverat |
Yes |
offentligt inkommande med säker utgående trafik | public_network_access är aktiverat |
egress_public_network_access är inaktiverad |
Yes |
public inbound med offentlig utgående | public_network_access är aktiverat |
egress_public_network_access är aktiverat |
Yes |
Scenario: Använd Azure Kubernetes Service
Information om den utgående konfiguration som krävs för Azure Kubernetes Service finns i avsnittet om anslutningskrav i Distribuera till Azure Kubernetes Service.
Anteckning
Den Azure Kubernetes Service lastbalanseraren är inte samma som lastbalanseraren som skapas av Azure Machine Learning. Om du vill vara värd för din modell som ett skyddat program, endast tillgängligt i det virtuella nätverket, använder du den interna lastbalanseraren som skapats av Azure Machine Learning. Om du vill tillåta offentlig åtkomst använder du den offentliga lastbalanseraren som skapats av Azure Machine Learning.
Om din modell kräver extra inkommande eller utgående anslutning, till exempel till en extern datakälla, använder du en nätverkssäkerhetsgrupp eller brandväggen för att tillåta trafiken.
Scenario: Använda Docker-avbildningar som hanteras av Azure ML
Azure Machine Learning tillhandahåller Docker-avbildningar som kan användas för att träna modeller eller utföra slutsatsdragning. Om du inte anger egna avbildningar används de som tillhandahålls av Azure Machine Learning. Dessa avbildningar finns på Microsoft Container Registry (MCR). De finns också på en geo-replikerad Azure Container Registry med namnet viennaglobal.azurecr.io
.
Om du anger dina egna Docker-avbildningar, till exempel på en Azure Container Registry som du anger, behöver du inte den utgående kommunikationen med MCR eller viennaglobal.azurecr.io
.
Tips
Om din Azure Container Registry skyddas i det virtuella nätverket kan den inte användas av Azure Machine Learning för att skapa Docker-avbildningar. I stället måste du ange ett Azure Machine Learning beräkningskluster för att skapa avbildningar. Mer information finns i Skydda en arbetsyta i ett virtuellt nätverk.
Nästa steg
Nu när du har lärt dig hur nätverkstrafik flödar i en säker konfiguration kan du läsa mer om att skydda Azure ML i ett virtuellt nätverk genom att läsa artikeln Översikt över isolering och sekretess för virtuella nätverk.
Information om metodtips finns i artikeln Azure Machine Learning metodtips för företagssäkerhet.