Proteggere le risorse dell'area di lavoro di Azure Machine Learning usando reti virtuali
SI APPLICA A:Estensione ml dell'interfaccia della riga di comando di Azure v2 (corrente)Python SDK azure-ai-ml v2 (corrente)
SI APPLICA A:Estensione per Machine Learning dell'interfaccia della riga di comando di Azure v1Python SDK azureml v1
Suggerimento
È possibile usare reti virtuali gestite di Azure Machine Learning anziché i passaggi descritti in questo articolo. Con una rete virtuale gestita, Azure Machine Learning gestisce il processo di isolamento della rete per l'area di lavoro e gli ambienti di calcolo gestito. È anche possibile aggiungere endpoint privati per le risorse necessarie per l'area di lavoro, ad esempio l'account di archiviazione di Azure. Per altre informazioni vedere Isolamento rete gestito dall'area di lavoro.
Informazioni su come proteggere le risorse e gli ambienti di calcolo dell'area di lavoro di Azure Machine Learning usando una rete virtuale di Azure. Questo articolo usa uno scenario di esempio per illustrare come configurare una rete virtuale completa.
Questo articolo fa parte di una serie sulla protezione di un flusso di lavoro di Azure Machine Learning. Vedere gli altri articoli di questa serie:
- Usare reti gestite
- Proteggere le risorse dell'area di lavoro
- Registri di apprendimento automatico sicuri
- Proteggere l'ambiente di training
- Proteggere l'ambiente di inferenza
- Abilitare la funzionalità di Studio
- Usare DNS personalizzato
- Utilizzare un firewall
- Isolamento della rete della piattaforma API
Per un'esercitazione sulla creazione di un'area di lavoro sicura, vedere Esercitazione: Creare un'area di lavoro sicura, Modello Bicep o Terraform template (Modello Terraform).
Prerequisiti
Questo articolo presuppone che l'utente abbia familiarità con gli articoli seguenti:
- Reti virtuali di Azure
- Funzionalità di rete IP
- Area di lavoro di Azure Machine Learning con endpoint privato
- Gruppi di sicurezza di rete
- Firewall di rete
Scenario di esempio
In questa sezione viene illustrato come configurare uno scenario di rete comune per proteggere le comunicazioni di Azure Machine Learning con indirizzi IP privati.
La tabella seguente confronta il modo in cui i servizi accedono a parti diverse di una rete di Azure Machine Learning con e senza una rete virtuale:
Scenario | Area di lavoro | Risorse associate | Ambiente di calcolo per il training | Ambiente di calcolo per l'inferenza |
---|---|---|---|---|
Nessuna rete virtuale | IP pubblico | IP pubblico | IP pubblico | IP pubblico |
Area di lavoro pubblica, tutte le altre risorse in una rete virtuale | IP pubblico | IP pubblico (endpoint di servizio) o IP privato (endpoint privato) |
IP pubblico | IP privato |
Proteggere le risorse in una rete virtuale | IP privato (endpoint privato) | IP pubblico (endpoint di servizio) o IP privato (endpoint privato) |
IP privato | IP privato |
- Area di lavoro: creare un endpoint privato per l'area di lavoro. L'endpoint privato connette l'area di lavoro alla rete virtuale tramite diversi indirizzi IP privati.
- Accesso pubblico: è possibile abilitare facoltativamente l'accesso pubblico per un'area di lavoro protetta.
- Risorse associate: usare endpoint di servizio o endpoint privati per connettersi alle risorse dell'area di lavoro, ad esempio risorsa di archiviazione di Azure, Azure Key Vault. Per Servizi Azure Container, usare un endpoint privato.
- Endpoint di servizio: forniscono l'identità della rete virtuale al servizio di Azure. Una volta abilitati gli endpoint di servizio nella rete virtuale, è possibile aggiungere una regola di rete virtuale per proteggere le risorse dei servizi di Azure nella rete virtuale. Gli endpoint di servizio usano indirizzi IP pubblici.
- Endpoint privati: sono interfacce di rete che consentono una connessione sicura a un servizio basato su collegamento privato di Azure. L'endpoint privato usa un indirizzo IP privato della rete virtuale, introducendo efficacemente il servizio nella rete virtuale.
- Training dell'accesso alle risorse di calcolo: accedere alle destinazioni di calcolo di training come l'istanza di calcolo di Azure Machine Learning e i cluster di calcolo di Azure Machine Learning con indirizzi IP pubblici o privati.
- Accesso al calcolo dell'inferenza : accedere ai cluster di calcolo del servizio Azure Kubernetes con indirizzi IP privati.
Le sezioni successive illustrano come proteggere lo scenario di rete descritto in precedenza. Per proteggere la rete, è necessario:
- Proteggere l'area di lavoro e le risorse associate.
- Proteggere l'ambiente di training.
- Proteggere l'ambiente di inferenza.
- Facoltativo: abilitare la funzionalità Studio.
- Configurare le impostazioni del firewall.
- Configurare la risoluzione dei nomi DNS.
Area di lavoro pubblica e risorse protette
Importante
Anche se si tratta di una configurazione supportata per Azure Machine Learning, Microsoft non la consiglia. I dati nell'account di archiviazione di Azure dietro la rete virtuale possono essere esposti nell'area di lavoro pubblica. È necessario verificare questa configurazione con il team di sicurezza prima di usarla nell'ambiente di produzione.
Se si vuole accedere all'area di lavoro tramite Internet pubblico mantenendo tutte le risorse associate protette in una rete virtuale, seguire questa procedura:
Creare una rete virtuale di Azure. Questa rete protegge le risorse usate dall'area di lavoro.
Usare una delle opzioni seguenti per creare un'area di lavoro accessibile pubblicamente:
- Creare un'area di lavoro di Azure Machine Learning che non usa la rete virtuale. Per altre informazioni, vedere Gestire aree di lavoro di Azure Machine Learning.
OPPURE
- Creare un'area di lavoro abilitata per il collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro. Quindi abilitare l'accesso pubblico all'area di lavoro.
- Creare un'area di lavoro di Azure Machine Learning che non usa la rete virtuale. Per altre informazioni, vedere Gestire aree di lavoro di Azure Machine Learning.
- Creare un'area di lavoro abilitata per il collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro. Quindi abilitare l'accesso pubblico all'area di lavoro.
Aggiungere i seguenti servizi alla rete virtuale usando un endpoint di servizio o un endpoint privato. Consentire anche ai servizi Microsoft attendibili di accedere a questi servizi:
Servizio Informazioni sugli endpoint Consentire informazioni attendibili Azure Key Vault Endpoint di servizio
Endpoint privatoConsentire ai servizi Microsoft attendibili di ignorare il firewall Account di archiviazione di Azure Endpoint servizio ed endpoint privato
Endpoint privatoConcedere l'accesso ai servizi di Azure attendibili Registro Azure Container Endpoint privato Consenti servizi attendibili Servizio Informazioni sugli endpoint Consentire informazioni attendibili Azure Key Vault Endpoint di servizio
Endpoint privatoConsentire ai servizi Microsoft attendibili di ignorare il firewall Account di archiviazione di Azure Endpoint servizio ed endpoint privato
Endpoint privatoConcedere l'accesso ai servizi di Azure attendibili Registro Azure Container Endpoint privato Consenti servizi attendibili Nelle proprietà per l'account di archiviazione di Azure per l'area di lavoro aggiungere l'indirizzo IP client all'elenco consentito nelle impostazioni del firewall. Per altre informazioni, vedere Configurare i firewall e le reti virtuali.
Proteggere l'area di lavoro e le risorse associate
Usare i seguenti passaggi per proteggere l'area di lavoro e le risorse associate. Questi passaggi consentono ai servizi di comunicare nella rete virtuale.
Creare una rete virtuale di Azure. Questa rete protegge l'area di lavoro e altre risorse. Creare quindi un'area di lavoro abilitata per il collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro.
Aggiungere i seguenti servizi alla rete virtuale usando un endpoint di servizio o un endpoint privato. Consentire anche ai servizi Microsoft attendibili di accedere a questi servizi:
Servizio Informazioni sugli endpoint Consentire informazioni attendibili Azure Key Vault Endpoint di servizio
Endpoint privatoConsentire ai servizi Microsoft attendibili di ignorare il firewall Account di archiviazione di Azure Endpoint servizio ed endpoint privato
Endpoint privatoConcedere l'accesso da istanze di risorse di Azure
o
Concedere l'accesso ai servizi di Azure attendibiliRegistro Azure Container Endpoint privato Consenti servizi attendibili
Creare una rete virtuale di Azure. Questa rete virtuale protegge l'area di lavoro e altre risorse. Creare quindi un'area di lavoro abilitata per il collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro.
Aggiungere i seguenti servizi alla rete virtuale usando un endpoint di servizio o un endpoint privato. Consentire anche ai servizi Microsoft attendibili di accedere a questi servizi:
Servizio Informazioni sugli endpoint Consentire informazioni attendibili Azure Key Vault Endpoint di servizio
Endpoint privatoConsentire ai servizi Microsoft attendibili di ignorare il firewall Account di archiviazione di Azure Endpoint servizio ed endpoint privato
Endpoint privatoConcedere l'accesso da istanze di risorse di Azure
o
Concedere l'accesso ai servizi di Azure attendibiliRegistro Azure Container Endpoint privato Consenti servizi attendibili
Per istruzioni dettagliate su come completare questi passaggi, vedere Proteggere un'area di lavoro di Azure Machine Learning.
Per istruzioni dettagliate su come completare questi passaggi, vedere Proteggere un'area di lavoro di Azure Machine Learning.
Limiti
La protezione dell'area di lavoro e delle risorse associate all'interno di una rete virtuale presenta le limitazioni seguenti:
L'area di lavoro e l'account di archiviazione predefinito devono trovarsi nella stessa rete virtuale. Tuttavia, le subnet all'interno della stessa rete virtuale sono consentite. Ad esempio, l'area di lavoro in una subnet e l'archiviazione in un'altra.
È consigliabile che Anche Azure Key Vault e Registro Azure Container per l'area di lavoro si trovino nella stessa rete virtuale. Tuttavia, entrambe queste risorse possono trovarsi anche in una rete virtuale con peering.
Proteggere l'ambiente di training
Questa sezione descrive come proteggere l'ambiente di training in Azure Machine Learning. Si apprenderà anche in che modo Azure Machine Learning completa un processo di training per comprendere come interagiscono le configurazioni di rete.
Per proteggere l'ambiente di training, seguire questi passaggi:
Creare un'istanza di calcolo di Azure Machine Learning e un cluster di computer nella rete virtuale. I processi di training vengono eseguiti in questi calcoli.
Se il cluster di calcolo o l'istanza di calcolo usa un indirizzo IP pubblico, è necessario consentire la comunicazione in ingresso in modo che i servizi di gestione possano inviare processi alle risorse di calcolo.
Suggerimento
È possibile creare un cluster di elaborazione e un'istanza di calcolo con o senza un indirizzo IP pubblico. Se creati con un indirizzo IP pubblico, si ottiene un servizio di bilanciamento del carico con un indirizzo IP pubblico per accettare l'accesso in ingresso dal servizio Azure Batch e dal servizio Azure Machine Learning. È necessario configurare il routing definito dall'utente (UDR) se si usa un firewall. Se creato senza un indirizzo IP pubblico, si ottiene un servizio di collegamento privato per accettare l'accesso in ingresso dal servizio Azure Batch e dal servizio Azure Machine Learning senza un indirizzo IP pubblico.
Creare un'istanza di calcolo di Azure Machine Learning e un cluster di computer nella rete virtuale. Eseguire il training dei processi in questi calcoli.
Se il cluster di calcolo o l'istanza di calcolo usa un indirizzo IP pubblico, è necessario consentire la comunicazione in ingresso in modo che i servizi di gestione possano inviare processi alle risorse di calcolo.
Suggerimento
È possibile creare un cluster di elaborazione e un'istanza di calcolo con o senza un indirizzo IP pubblico. Se creati con un indirizzo IP pubblico, si ottiene un servizio di bilanciamento del carico con un indirizzo IP pubblico per accettare l'accesso in ingresso dal servizio Azure Batch e dal servizio Azure Machine Learning. È necessario configurare il routing definito dall'utente (UDR) se si usa un firewall. Se creato senza un indirizzo IP pubblico, si ottiene un servizio di collegamento privato per accettare l'accesso in ingresso dal servizio Azure Batch e dal servizio Azure Machine Learning senza un indirizzo IP pubblico.
Per istruzioni dettagliate su come completare questi passaggi, vedere Proteggere un ambiente di training.
Per istruzioni dettagliate su come completare questi passaggi, vedere Proteggere un ambiente di training.
Esempio di invio di processi di training
In questa sezione si apprenderà come Azure Machine Learning comunica in modo sicuro tra i servizi per inviare un processo di training. Questo esempio illustra come tutte le configurazioni interagiscono per proteggere la comunicazione.
Il client carica script di training e dati di training negli account di archiviazione protetti con un servizio o un endpoint privato.
Il client invia un processo di training all'area di lavoro di Azure Machine Learning tramite l'endpoint privato.
Il servizio Azure Batch riceve il processo dall'area di lavoro. Invia quindi il processo di training all'ambiente di calcolo tramite il servizio di bilanciamento del carico pubblico per la risorsa di calcolo.
La risorsa di calcolo riceve il processo e inizia il training. La risorsa di calcolo usa le informazioni archiviate nell'insieme di credenziali delle chiavi per accedere agli account di archiviazione per scaricare i file di training e caricare l'output.
Limiti
- L'istanza di calcolo di Azure e i cluster di Calcolo di Azure devono essere nella stessa rete virtuale, area e sottoscrizione dell'area di lavoro e delle risorse associate.
Proteggere l'ambiente di inferenza
È possibile abilitare l'isolamento di rete per gli endpoint online gestiti per proteggere il traffico di rete seguente:
- Richieste di assegnazione dei punteggi in ingresso.
- Comunicazione in uscita con l'area di lavoro, Registro Azure Container e Archiviazione BLOB di Azure.
Per altre informazioni, vedere Abilitare l'isolamento di rete per gli endpoint online gestiti.
In questa sezione vengono illustrate le opzioni disponibili per proteggere un ambiente di inferenza quando si usa l'estensione dell'interfaccia della riga di comando di Azure per ML v1 o Azure Machine Learning Python SDK v1. Quando si esegue una distribuzione v1, è consigliabile usare i cluster del servizio Azure Kubernetes per distribuzioni di produzione su larga scala.
Sono disponibili due opzioni per i cluster del servizio Azure Kubernetes in una rete virtuale:
- Distribuire o collegare un cluster del servizio Azure Kubernetes predefinito alla rete virtuale.
- Collegare un cluster del servizio Azure Kubernetes privato alla rete virtuale.
I cluster del servizio Azure Kubernetes predefiniti hanno un piano di controllo con indirizzi IP pubblici. È possibile aggiungere un cluster del servizio Azure Kubernetes predefinito alla rete virtuale durante la distribuzione o collegare un cluster dopo la creazione.
I cluster del servizio Azure Kubernetes privati hanno un piano di controllo accessibile solo tramite indirizzi IP privati. I cluster del servizio Azure Kubernetes privati devono essere collegati dopo la creazione del cluster.
Per istruzioni dettagliate su come aggiungere cluster predefiniti e privati, vedere Proteggere un ambiente di inferenza.
Indipendentemente dal cluster del servizio Azure Kubernetes predefinito o dal cluster del servizio Azure Kubernetes usato, se il cluster del servizio Azure Kubernetes si trova dietro la rete virtuale, l'area di lavoro e le relative risorse associate (archiviazione, insieme di credenziali delle chiavi e Registro Azure Container) devono avere endpoint privati o endpoint di servizio nella stessa rete virtuale del cluster del servizio Azure Kubernetes.
Il diagramma di rete seguente illustra un'area di lavoro di Azure Machine Learning protetta con un cluster del servizio Azure Kubernetes privato collegato alla rete virtuale.
Facoltativo: abilitare l'accesso pubblico
È possibile proteggere l'area di lavoro dietro una rete virtuale usando un endpoint privato e consentire comunque l'accesso tramite Internet pubblico. La configurazione iniziale equivale a proteggere l'area di lavoro e le risorse associate.
Dopo aver assicurato l'area di lavoro con un endpoint privato, seguire questi passaggi per consentire ai client di sviluppare in modalità remota usando l'SDK o lo studio di Azure Machine Learning:
- Abilitare l'accesso pubblico all'area di lavoro.
- Configurare il firewall di Archiviazione di Azure per consentire la comunicazione con l'indirizzo IP dei client che si connettono tramite internet pubblico.
- Abilitare l'accesso pubblico all'area di lavoro.
- Configurare il firewall di Archiviazione di Azure per consentire la comunicazione con l'indirizzo IP dei client che si connettono tramite internet pubblico.
Facoltativo: abilitare la funzionalità di Studio
Se l'archiviazione si trova in una rete virtuale, è necessario usare passaggi di configurazione aggiuntivi per abilitare la funzionalità completa in Studio. Per impostazione predefinita, le funzionalità seguenti sono disabilitate:
- Visualizzazione in anteprima dei dati in Studio.
- Visualizzazione dei dati nella finestra di progettazione.
- Distribuzione di un modello nella finestra di progettazione.
- Invio di un esperimento di Machine Learning automatizzato.
- Avvio di un progetto di etichettatura.
Per abilitare la funzionalità completa di Studio, vedere Usare studio di Azure Machine Learning in una rete virtuale.
Limiti
L'etichettatura dei dati assistita da ML non supporta un account di archiviazione predefinito dietro una rete virtuale. Usare invece un account di archiviazione diverso dall'impostazione predefinita per l'etichettatura dei dati assistita da ML.
Suggerimento
Purché non sia l'account di archiviazione predefinito, l'account usato dall'etichettatura dati può essere protetto dietro la rete virtuale.
Configurare le impostazioni del firewall
Configurare il firewall per controllare il traffico tra le risorse dell'area di lavoro di Azure Machine Learning e la rete Internet pubblica. Sebbene sia consigliabile usare Firewall di Azure, è possibile usare altri prodotti firewall.
Per altre informazioni sulle impostazioni del firewall, vedere Usare l'area di lavoro dietro un firewall.
DNS personalizzato
Se si deve usare una soluzione DNS personalizzata per la rete virtuale, è necessario aggiungere record host per l'area di lavoro.
Per altre informazioni sui nomi di dominio e sugli indirizzi IP necessari, vedere come usare un'area di lavoro con un server DNS personalizzato.
Microsoft Sentinel
Microsoft Sentinel è una soluzione di sicurezza che può essere integrata con Azure Machine Learning. Ad esempio, usando i notebook di Jupyter forniti tramite Azure Machine Learning. Per altre informazioni, vedere Usare notebook di Jupyter per rilevare minacce alla sicurezza.
Accesso pubblico
Microsoft Sentinel può creare automaticamente un'area di lavoro se si accetta di usare un endpoint pubblico. In questa configurazione, gli analisti e gli amministratori di sistema del Centro operazioni per la sicurezza si connettono ai notebook nell'area di lavoro tramite Sentinel.
Per informazioni su questo processo, vedere Creare un'area di lavoro di Azure Machine Learning da Microsoft Sentinel
Endpoint privato
Se si vuole proteggere l'area di lavoro e le risorse associate in una rete virtuale, è prima necessario creare l'area di lavoro di Azure Machine Learning. È anche necessario creare una macchina virtuale "jump box" nella stessa rete virtuale dell'area di lavoro e abilitare la connettività di Azure Bastion. Analogamente alla configurazione pubblica, gli analisti e gli amministratori SOC possono connettersi usando Microsoft Sentinel, ma è necessario eseguire alcune operazioni usando Azure Bastion per connettersi alla macchina virtuale.
Per altre informazioni su questa configurazione, vedere Creare un'area di lavoro di Azure Machine Learning da Microsoft Sentinel
Contenuto correlato
Il presente articolo fa parte di una serie di articoli sulla protezione del flusso di lavoro di Azure Machine Learning. Vedere gli altri articoli di questa serie: