Pianificare l'isolamento della rete in Azure Machine Learning
Questo articolo illustra come pianificare l'isolamento della rete per Azure Machine Learning ed elementi consigliati. Questo articolo è destinato agli amministratori IT che desiderano progettare l'architettura di rete.
Che cos'è l'isolamento della rete?
L'isolamento della rete è una strategia di sicurezza che implica la divisione di una rete in segmenti o subnet separati, ognuno funziona come una rete di piccole dimensioni. Questo approccio consente di migliorare la sicurezza e le prestazioni all'interno di una struttura di rete più ampia. Le principali aziende richiedono l'isolamento della rete per proteggere le risorse da accessi non autorizzati, manomissioni o perdita di dati e modelli. Devono inoltre rispettare le normative e gli standard che si applicano al proprio settore e dominio.
Accesso in ingresso e in uscita
L'isolamento della rete deve essere considerato in tre aree all'interno di Azure Machine Learning:
- Accesso in ingresso all'area di lavoro di Azure Machine Learning. Ad esempio, per consentire agli Scienziato dei dati di accedere in modo sicuro all'area di lavoro.
- Accesso in uscita dall'area di lavoro di Azure Machine Learning. Ad esempio, per accedere ad altri servizi di Azure.
- Accesso in uscita dalle risorse di calcolo di Azure Machine Learning. Ad esempio, per accedere a origini dati, repository di pacchetti Python o altre risorse.
Il diagramma seguente suddivide il traffico in ingresso e in uscita.
Accesso in ingresso ad Azure Machine Learning
L'accesso in ingresso a un'area di lavoro di Azure Machine Learning protetta viene impostato usando il flag PNA (Public Network Access). L'impostazione del flag PNA decide se l'area di lavoro richiede o meno un endpoint privato per accedere all'area di lavoro. Esiste un'impostazione aggiuntiva tra pubblico e privato: abilitata dagli indirizzi IP selezionati. Questa impostazione consente l'accesso all'area di lavoro dagli indirizzi IP specificati. Per altre informazioni su questa funzionalità, vedere Abilitare l'accesso pubblico solo da intervalli IP Internet.
Accesso in uscita
L'isolamento di rete di Azure Machine Learning prevede componenti PaaS (Platform as a Service) e Infrastructure as a Service (IaaS). I servizi PaaS, ad esempio l'area di lavoro di Azure Machine Learning, l'archiviazione, l'insieme di credenziali delle chiavi, il registro contenitori e il monitoraggio, possono essere isolati tramite collegamento privato. I servizi di calcolo IaaS, ad esempio istanze di calcolo/cluster per il training del modello di intelligenza artificiale, e il servizio Azure Kubernetes o gli endpoint online gestiti per il punteggio dei modelli di intelligenza artificiale, possono essere inseriti nella rete virtuale e comunicare con i servizi PaaS tramite collegamento privato. Il diagramma seguente è un esempio di componenti IaaS e PaaS.
In uscita dal servizio ad altre risorse PaaS di Azure
La protezione dell'accesso in uscita dal servizio Azure Machine Learning ad altri servizi PaaS viene completata tramite servizi attendibili. È possibile concedere a un subset di servizi di Azure attendibili l'accesso ad Azure Machine Learning, mantenendo al contempo le regole di rete per altre app. Questi servizi attendibili usano un'identità gestita per autenticare il servizio Azure Machine Learning.
In uscita dai calcoli a Internet e da altre risorse PaaS di Azure
I componenti IaaS sono le risorse di calcolo, ad esempio istanze di calcolo/cluster e servizio Azure Kubernetes (servizio Azure Kubernetes) o gli endpoint online gestiti. Per queste risorse IaaS, l'accesso in uscita a Internet viene protetto tramite un firewall e l'accesso in uscita ad altre risorse PaaS è protetto con collegamento privato ed endpoint privati. Una rete virtuale gestita consente di configurare più facilmente il controllo in uscita dai calcoli.
Se non si usa una rete virtuale gestita, il controllo in uscita può essere protetto con la propria rete virtuale e il set di subnet. Se si dispone di una rete virtuale autonoma, la configurazione è semplice usando il gruppo di sicurezza di rete. Tuttavia, potrebbe essere disponibile un'architettura di rete hub-spoke o mesh, un firewall, un'appliance virtuale di rete, un proxy e un routing definito dall'utente. In entrambi i casi, assicurarsi di consentire i componenti di sicurezza di rete in ingresso e in uscita.
In questo diagramma è disponibile un'architettura di rete hub e spoke. La rete virtuale spoke include risorse per Azure Machine Learning. La rete virtuale hub ha un firewall che controlla internet in uscita dalle reti virtuali. In questo caso, il firewall deve consentire le risorse necessarie in uscita e le risorse di calcolo nella rete virtuale spoke devono essere in grado di raggiungere il firewall.
Suggerimento
Nel diagramma l'istanza di calcolo e il cluster di calcolo sono configurati per nessun indirizzo IP pubblico. Se invece si usa un'istanza di calcolo o un cluster con IP pubblico, è necessario consentire l'ingresso dal tag del servizio Azure Machine Learning usando un gruppo di sicurezza di rete (NSG) e il routing definito dall'utente per ignorare il firewall. Questo traffico in ingresso proviene da un servizio Microsoft (Azure Machine Learning). Tuttavia, è consigliabile usare l'opzione nessun indirizzo IP pubblico per rimuovere questo requisito in ingresso.
Offerte di isolamento della rete per l'accesso in uscita dai calcoli
Ora che si comprende l'accesso da proteggere, si esaminerà come proteggere l'area di lavoro di Machine Learning con isolamento di rete. Azure Machine Learning offre opzioni di isolamento della rete per l'accesso in uscita dalle risorse di calcolo.
Isolamento rete gestita (scelta consigliata)
L’uso di una rete virtuale gestita offre una configurazione più semplice per l'isolamento della rete. Protegge automaticamente l'area di lavoro e le risorse di calcolo gestite in una rete virtuale gestita. È possibile aggiungere connessioni endpoint privato per altri servizi di Azure su cui si basa l'area di lavoro, ad esempio account di Archiviazione di Microsoft Azure. A seconda delle esigenze, è possibile consentire tutto il traffico in uscita verso la rete pubblica o consentire solo il traffico in uscita approvato. Il traffico in uscita richiesto dal servizio Azure Machine Learning viene abilitato automaticamente per la rete virtuale gestita. È consigliabile usare l'isolamento network gestito dell'area di lavoro per un metodo di isolamento della rete meno predefinito. Sono disponibili due modelli: consentire la modalità Internet in uscita o consentire solo la modalità in uscita approvata.
Nota
La protezione dell'area di lavoro con una rete virtuale gestita garantisce l'isolamento della rete per l'accesso in uscita dall'area di lavoro e dai calcoli gestiti. Una rete virtuale di Azure creata e gestita dall'utente viene usata per fornire l'isolamento della rete per l'accesso in ingresso all'area di lavoro. Ad esempio, un endpoint privato per l'area di lavoro viene creato nella Rete virtuale di Azure. Tutti i client che si connettono alla rete virtuale possono accedere all'area di lavoro tramite l'endpoint privato. Quando si eseguono processi in ambienti di calcoli gestiti, la rete gestita limita le risorse a cui l'ambiente di calcolo può accedere. Questa configurazione è diversa dall'offerta di rete virtuale personalizzata che richiede anche l'impostazione di una rete virtuale e l'impostazione di tutti i calcoli in tale rete virtuale.
Consenti la modalità internet in uscita: usare questa opzione se si vuole consentire ai tecnici di Machine Learning di accedere liberamente a Internet. È possibile creare altre regole in uscita dell'endpoint privato per consentire loro di accedere alle risorse private in Azure.
Consenti solo la modalità in uscita approvata: usare questa opzione se si vuole ridurre al minimo il rischio di esfiltrazione dei dati e controllare a quali tecnici di Machine Learning possono accedere. È possibile controllare le regole in uscita usando endpoint privato, tag del servizio e FQDN.
Isolamento di rete personalizzato
Se si dispone di un requisito specifico o di criteri aziendali che impediscono l'uso di una rete virtuale gestita, è possibile usare un rete virtuale di Azure per l'isolamento della rete.
Il diagramma seguente è l'architettura consigliata per rendere private tutte le risorse, ma consentire l'accesso a Internet in uscita dalla rete virtuale. Questo diagramma descrive l'architettura seguente:
- Inserire tutte le risorse nella stessa area.
- Una rete virtuale hub che contiene il firewall e la configurazione DNS personalizzata.
- Una rete virtuale spoke che contiene le risorse seguenti:
- Una subnet di training contiene istanze di calcolo e cluster usati per il training dei modelli di Machine Learning. Queste risorse sono configurate per nessun indirizzo IP pubblico.
- Una subnet di assegnazione dei punteggi contiene un cluster del servizio Azure Kubernetes.
- Una subnet "pe" contiene endpoint privati che si connettono all'area di lavoro e alle risorse private usate dall'area di lavoro (archiviazione, insieme di credenziali delle chiavi, registro contenitori e così via)
- Per proteggere gli endpoint online gestiti con una rete virtuale personalizzata, abilitare la rete virtuale gestita dall'endpoint online gestito legacy. Non è consigliabile usare questo metodo.
Questa architettura bilancia la sicurezza di rete e la produttività dei tecnici di ML.
Nota
Se si vuole rimuovere il requisito del firewall, è possibile usare i gruppi di sicurezza di rete e Azure Rete virtuale NAT per consentire internet in uscita dalle risorse di calcolo private.
Prevenzione dell'esfiltrazione di dati
Questo diagramma mostra l'architettura consigliata per rendere tutte le risorse private e controllare le destinazioni in uscita per evitare l'esfiltrazione dei dati. Questa architettura è consigliabile quando si usa Azure Machine Learning con i dati sensibili nell'ambiente di produzione. Questo diagramma descrive l'architettura seguente:
- Inserire tutte le risorse nella stessa area.
- Una rete virtuale hub che contiene il firewall.
- Oltre ai tag di servizio, il firewall usa FQDN per impedire l'esfiltrazione dei dati.
- Una rete virtuale spoke che contiene le risorse seguenti:
- Una subnet di training contiene istanze di calcolo e cluster usati per il training dei modelli di Machine Learning. Queste risorse sono configurate per nessun indirizzo IP pubblico. Inoltre, vengono applicati un endpoint di servizio e i criteri dell'endpoint di servizio per impedire l'esfiltrazione dei dati.
- Una subnet di assegnazione dei punteggi contiene un cluster del servizio Azure Kubernetes.
- Una subnet "pe" contiene endpoint privati che si connettono all'area di lavoro e alle risorse private usate dall'area di lavoro (archiviazione, insieme di credenziali delle chiavi, registro contenitori e così via)
- Gli endpoint online gestiti usano l'endpoint privato dell'area di lavoro per elaborare le richieste in ingresso. Un endpoint privato viene usato anche per consentire alle distribuzioni di endpoint online gestiti di accedere all'archiviazione privata.
Confronto delle opzioni di isolamento della rete
Sia isolamento network gestito che l'isolamento di rete personalizzato sono offerte simili. La tabella seguente descrive tutte le analogie e le differenze tra le due offerte in termini di configurazione. L'unica differenza fondamentale nella configurazione è la posizione in cui è ospitata la rete virtuale per i calcoli. Per l'isolamento della rete personalizzata, la rete virtuale per i calcoli si trova nel tenant mentre per isolamento network gestito, la rete virtuale per i calcoli si trova nel tenant Microsoft.
Somiglianze | Differenze |
---|---|
- La rete è dedicata all'utente e non è condivisa con altri clienti.
- I dati sono protetti nella rete virtuale. - Controllo completo in uscita con regole in uscita. - ServiceTag necessari. |
- Dove è ospitata la rete virtuale; nel tenant per l'isolamento di rete personalizzato o nel tenant Microsoft per isolamento network gestito. |
Per prendere la decisione corretta sulla configurazione della rete più adatta allo scenario, prendere in considerazione le funzionalità all'interno di Azure Machine Learning che si vuole usare. Per altre informazioni sulle differenze tra le offerte di isolamento della rete, vedere Confrontare le configurazioni di isolamento della rete.
Confronto delle configurazioni
Rete gestita (scelta consigliata) | Rete personalizzata | |
---|---|---|
Vantaggi | - Ridurre al minimo il sovraccarico di configurazione e manutenzione.
- Supporta gli endpoint online gestiti. - Supporta spark serverless. - Accesso alle risorse dell'endpoint HTTPs che si trovano in locale o nella rete virtuale personalizzata. - Focus per lo sviluppo di nuove funzionalità. |
- Personalizzare la rete in base alle esigenze.
- Usare le proprie risorse non di Azure. - Connettersi alle risorse locali. |
Limitazioni | - Costi aggiuntivi per le regole Firewall di Azure e FQDN.
- La registrazione del firewall di rete virtuale e delle regole del gruppo di sicurezza di rete non è supportata. - L'accesso alle risorse dell'endpoint non HTTP non è supportato. |
- Il nuovo supporto delle funzionalità potrebbe essere ritardato.
Gli endpoint online gestiti non sono supportati. - Spark serverless non è supportato. - I modelli di base non sono supportati. - Nessun codice MLFlow non è supportato. - Complessità dell'implementazione. - Sovraccarico di manutenzione. |
Usare un'area di lavoro pubblica
È possibile usare un'area di lavoro pubblica se si ha familiarità con l'autenticazione e l'autorizzazione di Microsoft Entra ID con l'accesso condizionale. Un'area di lavoro pubblica include alcune funzionalità che consentono l'uso dei dati in un account di archiviazione privato. Se possibile, è consigliabile usare un'area di lavoro privata.
Considerazioni essenziali
Risoluzione DNS delle risorse di collegamento privato e dell'applicazione nell'istanza di calcolo
Se si ha un server DNS ospitato in Azure o in locale, è necessario creare un server d'inoltro condizionale nel server DNS. Il server d'inoltro condizionale invia richieste DNS al DNS di Azure per tutti i servizi PaaS abilitati per il collegamento privato. Per altre informazioni, vedere gli articoli Scenari di configurazione DNS e Configurazione DNS specifica di Azure Machine Learning.
Protezione dall'esfiltrazione di dati
Abbiamo due tipi di uscita; di sola lettura e di lettura/scrittura. L'attore malintenzionato non può esporre la sola lettura in uscita, ma può essere di lettura/scrittura in uscita. Archiviazione di Azure e Frontdoor di Azure (tag del servizio frontdoor.frontend) sono in uscita in lettura/scrittura nel nostro caso.
È possibile attenuare questo rischio di esfiltrazione dei dati usando la nostra soluzione di prevenzione dell'esfiltrazione dei dati. I criteri degli endpoint di servizio vengono usati con un alias di Azure Machine Learning per consentire l'uscita solo agli account di archiviazione gestiti di Azure Machine Learning. Non è necessario aprire l'archiviazione in uscita nel firewall.
In questo diagramma l'istanza di calcolo e il cluster devono accedere agli account di archiviazione gestiti di Azure Machine Learning per ottenere script di configurazione. Anziché aprire l'archiviazione in uscita, è possibile usare i criteri degli endpoint di servizio con l'alias di Azure Machine Learning per consentire l'accesso alle risorse di archiviazione solo agli account di archiviazione di Azure Machine Learning.
Endpoint online gestiti
La sicurezza per le comunicazioni in ingresso e in uscita viene configurata separatamente per gli endpoint online gestiti.
- Comunicazione in ingresso: Azure Machine Learning usa un endpoint privato per proteggere le comunicazioni in ingresso a un endpoint online gestito. Per impedire l'accesso pubblico a un endpoint, impostare public_network_access flag per l'endpoint su disabilitato. Quando questo flag è disabilitato, l'endpoint può essere accessibile solo tramite l'endpoint privato dell'area di lavoro di Azure Machine Learning e non può essere raggiunto dalle reti pubbliche.
- Comunicazione in uscita: per proteggere le comunicazioni in uscita da una distribuzione alle risorse, Azure Machine Learning usa una rete virtuale gestita dell'area di lavoro. La distribuzione deve essere creata nella rete virtuale gestita dell'area di lavoro in modo che possa usare gli endpoint privati della rete virtuale gestita dell'area di lavoro per la comunicazione in uscita.
Il diagramma dell'architettura seguente illustra come il flusso delle comunicazioni passa attraverso gli endpoint privati verso l'endpoint online gestito. Le richieste di assegnazione in ingresso dalla rete virtuale di un client passano attraverso l'endpoint privato dell'area di lavoro all'endpoint online gestito. La comunicazione in uscita dalle distribuzioni ai servizi viene gestita tramite endpoint privati dalla rete virtuale gestita dell'area di lavoro a tali istanze del servizio.
Per altre informazioni, vedere Isolamento di rete con gli endpoint online gestiti.
Carenza di indirizzi IP privati nella rete principale
Azure Machine Learning richiede indirizzi IP privati; un INDIRIZZO IP per istanza di calcolo, nodo del cluster di calcolo ed endpoint privato. Sono necessari anche molti indirizzi IP se si usa il servizio Azure Kubernetes. La rete hub-spoke connessa alla rete locale potrebbe non avere uno spazio di indirizzi IP privato sufficiente. In questo scenario è possibile usare reti virtuali isolate senza peering per le risorse di Azure Machine Learning.
In questo diagramma la rete virtuale principale richiede gli indirizzi IP per gli endpoint privati. È possibile avere reti virtuali hub-spoke per più aree di lavoro di Azure Machine Learning con spazi indirizzi di grandi dimensioni. Uno svantaggio di questa architettura consiste nel raddoppiare il numero di endpoint privati.
Imposizione dei criteri di rete
È possibile usare i criteri predefiniti se si vogliono controllare i parametri di isolamento della rete con l'area di lavoro self-service e la creazione delle risorse di calcolo o creare criteri personalizzati per controlli più granulari. Per altre informazioni sui criteri, vedere Criteri di Azure controlli di conformità alle normative.
Contenuto correlato
Per altre informazioni sull'uso di una rete virtuale gestita, vedere i seguenti articoli:
- Isolamento della rete gestita
- Usare endpoint privati per accedere all'area di lavoro
- Usare DNS personalizzato
Per altre informazioni sull'uso di una rete virtuale personalizzata, vedere gli articoli seguenti: