Proteggere le risorse dell'area di lavoro di Azure Machine Learning usando reti virtuali

Suggerimento

Microsoft consiglia di 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 i calcoli gestiti. È 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 network gestito dell'area di lavoro.

Proteggere le risorse e gli ambienti di calcolo dell'area di lavoro di Azure Machine Learning usando azure Rete virtuale (VNet). 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:

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:

Per un'esercitazione sulla creazione di un'area di lavoro sicura, vedere Esercitazione: Creare un'area di lavoro sicura o Esercitazione: Creare un'area di lavoro sicura usando un modello.

Prerequisiti

Questo articolo presuppone che l'utente abbia familiarità con gli articoli seguenti:

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 di training Inferenza dell'ambiente di calcolo
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 servizio)
-O-
IP privato (endpoint privato)
IP pubblico IP privato
Proteggere le risorse in una rete virtuale IP privato (endpoint privato) IP pubblico (endpoint 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: facoltativamente è possibile abilitare l'accesso pubblico per un'area di lavoro protetta.
  • Risorsa associata: usare endpoint di servizio o endpoint privati per connettersi alle risorse dell'area di lavoro, ad esempio 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 dalla rete virtuale, portando effettivamente il servizio nella rete virtuale.
  • Training dell'accesso alle risorse di calcolo: accedere a 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 alle risorse di calcolo dell'inferenza- Accedere ai cluster di calcolo servizio Azure Kubernetes 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:

  1. Proteggere l'area di lavoro e le risorse associate.
  2. Proteggere l'ambiente di training.
  3. Proteggere l'ambiente di inferenza.
  4. Facoltativamente: abilitare la funzionalità studio.
  5. Configurare le impostazioni del firewall.
  6. 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 lo consiglia. I dati nell'account 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:

  1. Creare un Rete virtuale di Azure. Questa rete protegge le risorse usate dall'area di lavoro.

  2. 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 le aree di lavoro di Azure Machine Learning.

    OPPURE

    • Creare un'area di lavoro di Azure Machine Learning che non usa la rete virtuale. Per altre informazioni, vedere Gestire le aree di lavoro di Azure Machine Learning.
    • Creare un'area di lavoro abilitata per collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro. Abilitare quindi l'accesso pubblico all'area di lavoro.
  3. Aggiungere i servizi seguenti alla rete virtuale usando un endpoint di servizio o un endpoint privato. Consentire anche agli servizi Microsoft attendibili di accedere a questi servizi:

  4. Nelle proprietà per gli account 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 firewall e reti virtuali.

Proteggere l'area di lavoro e le risorse associate

Usare la procedura seguente per proteggere l'area di lavoro e le risorse associate. Questi passaggi consentono ai servizi di comunicare nella rete virtuale.

  1. Creare un Rete virtuale di Azure. Questa rete protegge l'area di lavoro e altre risorse. Creare quindi un'area di lavoro abilitata per collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro.

  2. Aggiungere i servizi seguenti alla rete virtuale usando un endpoint di servizio o un endpoint privato. Consentire anche agli servizi Microsoft attendibili di accedere a questi servizi:

    Servizio Informazioni sugli endpoint Consenti informazioni attendibili
    Azure Key Vault Endpoint
    servizio Endpoint privato
    Consenti alle servizi Microsoft attendibili di ignorare questo firewall
    Account di archiviazione di Azure Endpoint privato del servizio e dell'endpoint
    privato
    Concedere l'accesso da istanze
    di risorse di Azure o
    Concedere l'accesso ai servizi di Azure attendibili
    Registro Azure Container Endpoint privato Consenti servizi attendibili
  1. Creare un Rete virtuale di Azure. Questa rete virtuale protegge l'area di lavoro e altre risorse. Creare quindi un'area di lavoro abilitata per collegamento privato per abilitare la comunicazione tra la rete virtuale e l'area di lavoro.

  2. Aggiungere i servizi seguenti alla rete virtuale usando un endpoint di servizio o un endpoint privato. Consentire anche agli servizi Microsoft attendibili di accedere a questi servizi:

    Servizio Informazioni sugli endpoint Consenti informazioni attendibili
    Azure Key Vault Endpoint
    servizio Endpoint privato
    Consenti alle servizi Microsoft attendibili di ignorare questo firewall
    Account di archiviazione di Azure Endpoint privato del servizio e dell'endpoint
    privato
    Concedere l'accesso da istanze
    di risorse di Azure o
    Concedere l'accesso ai servizi di Azure attendibili
    Registro Azure Container Endpoint privato Consenti servizi attendibili

Diagram showing how the workspace and associated resources communicate inside a VNet.

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 usare Azure Key Vault e Registro Azure Container per l'area di lavoro anche 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 come Azure Machine Learning completa un processo di training per comprendere come interagiscono le configurazioni di rete.

Per proteggere l'ambiente di training, seguire questa procedura:

  1. Creare un'istanza di calcolo e un cluster di computer di Azure Machine Learning nella rete virtuale per eseguire il processo di training.

  2. 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 calcolo e un'istanza di calcolo con o senza un indirizzo IP pubblico. Se creato 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 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.

  1. Creare un'istanza di calcolo e un cluster di computer di Azure Machine Learning nella rete virtuale per eseguire il processo di training.

  2. 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 calcolo e un'istanza di calcolo con o senza un indirizzo IP pubblico. Se creato 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 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.

Diagram showing how to secure managed compute clusters and instances.

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.

  1. Il client carica script di training e dati di training negli account di archiviazione protetti con un servizio o un endpoint privato.

  2. Il client invia un processo di training all'area di lavoro di Azure Machine Learning tramite l'endpoint privato.

  3. 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.

  4. 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.

Diagram showing the secure training job submission workflow.

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 cluster servizio Azure Kubernetes (AKS) 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.

Diagram showing an attached private AKS cluster.

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 alla protezione dell'area di lavoro e delle risorse associate.

Dopo aver assicurato l'area di lavoro con un endpoint privato, seguire questa procedura per consentire ai client di sviluppare in modalità remota usando l'SDK o studio di Azure Machine Learning:

  1. Abilitare l'accesso pubblico all'area di lavoro.
  2. Configurare il firewall Archiviazione di Azure per consentire la comunicazione con l'indirizzo IP dei client che si connettono tramite internet pubblico.
  1. Abilitare l'accesso pubblico all'area di lavoro.
  2. Configurare il firewall 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 dello 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 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 è necessario 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 cercare minacce alla sicurezza.

Accesso pubblico

Microsoft Sentinel può creare automaticamente un'area di lavoro se si è ok con un endpoint pubblico. In questa configurazione, gli analisti e gli amministratori di sistema del Centro operazioni di 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

Diagram showing Microsoft Sentinel public connection.

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

Daigram showing Microsoft Sentinel connection through a VNet.

Passaggi successivi

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: