Condividi tramite


Flusso del traffico di rete quando si usa un'area di lavoro protetta

Quando si inserisce l'area di lavoro di Azure Machine Learning e le risorse associate in una rete virtuale di Azure, il traffico di rete tra le risorse cambia. Senza una rete virtuale, il traffico di rete passa tramite Internet pubblico o all'interno di un data center di Azure. Dopo aver introdotto una rete virtuale, è inoltre possibile rafforzare la sicurezza di rete. Ad esempio, è possibile bloccare le comunicazioni in ingresso e in uscita tra la rete virtuale e la rete Internet pubblica. Azure Machine Learning richiede tuttavia l'accesso ad alcune risorse sulla rete Internet pubblica. Ad esempio, usa Azure Resource Manager per le distribuzioni e le operazioni di gestione.

Questo articolo elenca il traffico richiesto da e verso Internet pubblico. Illustra anche il flusso del traffico di rete tra l'ambiente di sviluppo client e un'area di lavoro di Azure Machine Learning protetta negli scenari seguenti:

  • Uso di studio di Azure Machine Learning per lavorare con:

    • La propria area di lavoro
    • AutoML
    • Progettista
    • Set di dati e archivi dati

    Studio di Azure Machine Learning è un'interfaccia utente basata sul Web che viene eseguita parzialmente nel Web browser. Esegue chiamate ai servizi di Azure per eseguire attività come il training di un modello, tramite la finestra di progettazione o la visualizzazione dei set di dati. Alcune di queste chiamate usano un flusso di comunicazione diverso rispetto all’uso di Azure Machine Learning SDK, l'interfaccia della riga di comando di Azure, l'API REST o Visual Studio Code.

  • Utilizzo di studio di Azure Machine Learning, l’SDK Azure Machine Learning, interfaccia della riga di comando di Azure o API REST per lavorare con:

    • Istanze di ambienti di calcolo e cluster
    • Servizio Azure Kubernetes (AKS)
    • Immagini Docker gestite da Azure Machine Learning

Se uno scenario o un'attività non è elencata qui, dovrebbe funzionare allo stesso modo con o senza un'area di lavoro protetta.

Presupposti

Questo articolo presuppone la seguente configurazione:

  • L'area di lavoro di Azure Machine Learning usa un endpoint privato per comunicare con la rete virtuale.
  • L'account di archiviazione di Azure, l'insieme di credenziali delle chiavi e il registro contenitori usati dall'area di lavoro usano anche un endpoint privato per comunicare con la rete virtuale.
  • Le workstation client usano un gateway VPN o Azure ExpressRoute per accedere alla rete virtuale.

Requisiti in ingresso e in uscita

Scenario Obbligatorio in ingresso Obbligatorio in uscita Configurazione aggiuntiva
Accedere a un'area di lavoro dallo studio Non applicabile
  • Microsoft Entra ID
  • Frontdoor di Azure
  • Azure Machine Learning
Potrebbe essere necessario usare un server DNS personalizzato. Per ulteriori informazioni, consultare Usare l'area di lavoro con un server DNS personalizzato.
Usare AutoML, la finestra di progettazione, il set di dati e l'archivio dati dallo studio Non applicabile Non applicabile
  • Configurare l'entità servizio dell'area di lavoro
  • Consentire l'accesso da servizi di Azure attendibili
Per ulteriori informazioni, consultare Proteggere un'area di lavoro di Azure Machine Learning con reti virtuali.
Usare un'istanza di ambiente di calcolo e un cluster di calcolo
  • Azure Machine Learning sulla porta 44224
  • Azure Batch sulle porte 29876-29877
  • Microsoft Entra ID
  • Azure Resource Manager
  • Azure Machine Learning
  • Archiviazione di Azure
  • Azure Key Vault
Se si usa un firewall, creare route definite dall'utente. Per ulteriori informazioni, consultare Configurare il traffico di rete in ingresso e in uscita.
Usare il servizio Azure Kubernetes Non applicabile Per informazioni sulla configurazione in uscita per il servizio Azure Kubernetes, consultare Ambiente di inferenza del servizio Azure Kubernetes sicuro.
Usare immagini Docker gestite da Azure Machine Learning Non applicabile Registro artefatti Microsoft Se il registro contenitori per l'area di lavoro si trova dietro la rete virtuale, configurare l'area di lavoro per usare un cluster di calcolo per compilare immagini. Per ulteriori informazioni, consultare Proteggere un'area di lavoro di Azure Machine Learning con reti virtuali.

Scopi degli account di archiviazione

Azure Machine Learning usa più account di archiviazione. Ognuno archivia dati diversi e ha uno scopo diverso:

  • Archiviazione: gli account di archiviazione nella sottoscrizione di Azure archiviano i dati e gli artefatti, ad esempio modelli, dati di training, log di training e script Python. Ad esempio, l'account di archiviazione predefinito per l'area di lavoro si trova nella sottoscrizione. L'istanza di calcolo di Azure Machine Learning e i dati blob e i file di accesso ai cluster di calcolo in questa risorsa di archiviazione sulle porte 445 (SMB) e 443 (HTTPS).

    Quando si usa un'istanza di calcolo o un cluster di calcolo, l'account di archiviazione viene montato come condivisione file tramite il protocollo SMB. L'istanza di calcolo e il cluster usano questa condivisione file per archiviare elementi come i dati, i modelli, i notebook di Jupyter e i set di dati. L'istanza di calcolo e il cluster usano l'endpoint privato quando accedono all'account di archiviazione.

  • Archiviazione Microsoft: l'istanza di calcolo e il cluster di calcolo di Azure Machine Learning si basano su Azure Batch. Accedono all'archiviazione che si trova in una sottoscrizione Microsoft. Questa risorsa di archiviazione viene usata solo per la gestione dell'istanza di calcolo o del cluster. Nessuno dei dati viene archiviato qui. L'istanza di calcolo e il cluster di calcolo accedono ai dati BLOB, tabelle e code in questa risorsa di archiviazione usando la porta 443 (HTTPS).

Machine Learning archivia anche i metadati in un'istanza di Azure Cosmos DB. Per impostazione predefinita, questa istanza è ospitata in una sottoscrizione Microsoft e Microsoft la gestisce. Facoltativamente, è possibile usare un'istanza di Azure Cosmos DB nella sottoscrizione di Azure. Per altre informazioni, vedere Crittografia dei dati con Azure Machine Learning.

Scenario: accedere a un'area di lavoro dallo studio

Nota

Le informazioni contenute in questa sezione sono specifiche dell'uso dell'area di lavoro di studio di Azure Machine Learning. Se si usa l’SDK Azure Machine Learning, l'API REST, l'interfaccia della riga di comando di Azure o Visual Studio Code, le informazioni contenute in questa sezione non si applicano all'utente.

Quando si accede all'area di lavoro dallo studio, i flussi di traffico di rete sono i seguenti:

  • Per eseguire l'autenticazione alle risorse, la configurazione usa Microsoft Entra ID.
  • Per le operazioni di gestione e distribuzione, la configurazione usa Azure Resource Manager.
  • Per le attività specifiche di Azure Machine Learning, la configurazione usa il servizio Azure Machine Learning.
  • Per l'accesso ad Azure Machine Learning Studio, la configurazione usa il servizio Frontdoor di Azure.
  • Per la maggior parte delle operazioni di archiviazione, il traffico passa attraverso l'endpoint privato della risorsa di archiviazione predefinita per l'area di lavoro. La sezione Usare AutoML, la finestra di progettazione, il set di dati e l'archivio dati della sezione Studio di questo articolo illustra le eccezioni.
  • Inoltre è necessario configurare una soluzione DNS che consente di risolvere i nomi delle risorse all'interno della rete virtuale. Per ulteriori informazioni, consultare Usare l'area di lavoro con un server DNS personalizzato.

Diagramma del traffico di rete tra il client e l'area di lavoro quando si usa lo studio.

Scenario: usare AutoML, la finestra di progettazione, il set di dati e l'archivio dati dallo studio

Le funzionalità seguenti di Azure Machine Learning Studio usano la profilatura dei dati:

  • Set di dati: esplorare il set di dati da Studio.
  • Finestra di progettazione: visualizzare i dati di output del modulo.
  • AutoML: visualizzare un'anteprima dei dati o un profilo e scegliere una colonna di destinazione.
  • Etichettatura: usare le etichette per preparare i dati per un progetto di Machine Learning.

La profilatura dei dati dipende dalla possibilità del servizio gestito di Azure Machine Learning di accedere all'account di archiviazione di Azure predefinito per l'area di lavoro. Il servizio gestito non esiste nella rete virtuale, quindi non può accedere direttamente all'account di archiviazione nella rete virtuale. L'area di lavoro usa invece un'entità servizio per accedere all'archiviazione.

Suggerimento

È possibile fornire un'entità servizio quando si crea l'area di lavoro. In caso contrario, ne viene creato uno con lo stesso nome dell'area di lavoro.

Per consentire l'accesso all'account di archiviazione, configurare l'account di archiviazione per consentire a un'istanza di risorsa per l'area di lavoro o selezionare Consenti ai servizi di Azure nell'elenco dei servizi attendibili di accedere a questo account di archiviazione. Questa impostazione consente al servizio gestito di accedere all'archiviazione tramite la rete del data center di Azure.

Aggiungere quindi l'entità servizio per l'area di lavoro al ruolo di Lettore all'endpoint privato dell'account di archiviazione. Azure usa questo ruolo per verificare le informazioni sull'area di lavoro e sulla subnet di archiviazione. Se sono uguali, Azure consente l'accesso. Infine, l'entità servizio richiede anche l'accesso del Collaboratore ai dati BLOB all'account di archiviazione.

Per ulteriori informazioni, consultare la sezione "Proteggere gli account di archiviazione di Azure" di Proteggere un'area di lavoro di Azure Machine Learning con reti virtuali.

Diagramma del traffico tra il client, la profilatura dei dati e l'archiviazione.

Scenario: usare un'istanza di calcolo e un cluster di calcolo

Un'istanza di calcolo e un cluster di calcolo di Azure Machine Learning sono servizi gestiti ospitati da Microsoft. Si basano sul servizio Azure Batch. Anche se esistono in un ambiente gestito da Microsoft, vengono inseriti anche nella rete virtuale.

Quando si crea un'istanza di calcolo o un cluster di calcolo, nella rete virtuale vengono create anche le risorse seguenti:

  • Un gruppo di sicurezza di rete con le regole in uscita necessarie. Queste regole consentono l'accesso in ingresso da Azure Machine Learning (TCP sulla porta 44224) e Azure Batch (TCP sulle porte 29876-29877).

    Importante

    Se si usa un firewall per bloccare l'accesso a Internet nella rete virtuale, è necessario configurare il firewall per consentire questo traffico. Ad esempio, con Firewall di Azure è possibile creare route definite dall'utente. Per ulteriori informazioni, consultare Configurare il traffico di rete in ingresso e in uscita.

  • Servizio di bilanciamento del carico con un indirizzo IP pubblico.

Consentire anche l'accesso in uscita ai seguenti tag del servizio. Per ogni tag, sostituire region con l'area di Azure dell'istanza di calcolo o del cluster:

  • Storage.region: questo accesso in uscita viene usato per connettersi all'account di archiviazione di Azure all'interno della rete virtuale gestita di Azure Batch.
  • Keyvault.region: questo accesso in uscita viene usato per connettersi all'account Azure Key Vault all'interno della rete virtuale gestita di Azure Batch.

L'accesso ai dati dall'istanza di calcolo o dal cluster passa attraverso l'endpoint privato dell'account di archiviazione per la rete virtuale.

Se si usa Visual Studio Code in un'istanza di ambiente di calcolo, è necessario consentire altro traffico in uscita. Per ulteriori informazioni, consultare Configurare il traffico di rete in ingresso e in uscita.

Diagramma del flusso di traffico quando si usa un'istanza di calcolo o un cluster.

Scenario: usare gli endpoint online

La sicurezza viene configurata separatamente per le comunicazioni in ingresso e in uscita per gli endpoint online gestiti.

Comunicazione in ingresso

È possibile proteggere la comunicazione in ingresso con l'URL di assegnazione dei punteggi dell'endpoint online usando il flag public_network_access nell'endpoint. L'impostazione del flag su disabled garantisce che l'endpoint online riceva il traffico solo dalla rete virtuale di un client tramite l'endpoint privato dell'area di lavoro di Azure Machine Learning.

Il flag public_network_access dell'area di lavoro di Azure Machine Learning determina anche la visibilità dell'endpoint online. Se questo flag è disabled, gli endpoint di assegnazione dei punteggi possono essere accessibili solo dalle reti virtuali che contengono un endpoint privato per l'area di lavoro. Se questo flag è enabled, è possibile accedere all'endpoint di assegnazione dei punteggi dalla rete virtuale e dalle reti pubbliche.

Comunicazione in uscita

È possibile proteggere le comunicazioni in uscita da una distribuzione a livello di area di lavoro usando l'isolamento della rete virtuale gestita per l'area di lavoro di Azure Machine Learning. L'uso di questa impostazione fa sì che Azure Machine Learning crei una rete virtuale gestita per l'area di lavoro. Tutte le distribuzioni nella rete virtuale gestita dell'area di lavoro possono usare gli endpoint privati della rete virtuale per la comunicazione in uscita.

Il metodo di isolamento della rete legacy per proteggere le comunicazioni in uscita ha funzionato disabilitando il flag di egress_public_network_access una distribuzione. È consigliabile proteggere le comunicazioni in uscita per le distribuzioni usando invece una rete virtuale gestita dell'area di lavoro. A differenza dell'approccio legacy, il flag egress_public_network_access per la distribuzione non si applica più quando si usa una rete virtuale gestita dell'area di lavoro con la distribuzione. Al contrario, le regole impostate per l’area di lavoro della rete virtuale gestita controllano la comunicazione in uscita.

Scenario: usare il servizio Azure Kubernetes

Per informazioni sulla configurazione in uscita necessaria per il servizio Azure Kubernetes, consultare Proteggere un ambiente di inferenza di Azure Machine Learning con reti virtuali.

Nota

Il servizio di bilanciamento del carico del servizio Azure Kubernetes non corrisponde al servizio di bilanciamento del carico creato da Azure Machine Learning. Se si vuole ospitare il modello come applicazione protetta disponibile solo nella rete virtuale, usare il servizio di bilanciamento del carico interno creato da Azure Machine Learning. Se si vuole consentire l'accesso pubblico, usare il servizio di bilanciamento del carico pubblico creato da Azure Machine Learning.

Se il modello richiede connettività aggiuntiva in ingresso o in uscita, ad esempio a un'origine dati esterna, usare un gruppo di sicurezza di rete o il firewall per consentire il traffico.

Scenario: usare immagini Docker gestite da Azure Machine Learning

Azure Machine Learning offre immagini Docker che si possono usare per eseguire il training dei modelli o l'inferenza. Queste immagini sono ospitate in Registro artefatti Microsoft.

Se si forniscono immagini Docker personalizzate, ad esempio in un registro contenitori fornito, non è necessaria la comunicazione in uscita con Il Registro artefatti.

Suggerimento

Se il registro contenitori è protetto nella rete virtuale, Azure Machine Learning non può usarlo per compilare immagini Docker. Al contrario è necessario designare un cluster di calcolo di Azure Machine Learning per creare immagini. Per ulteriori informazioni, consultare Proteggere un'area di lavoro di Azure Machine Learning con reti virtuali.

Diagramma del flusso del traffico quando si usano immagini Docker fornite.

Passaggi successivi

Dopo aver appreso il flusso del traffico di rete in una configurazione protetta, sono disponibili ulteriori informazioni sulla protezione di Azure Machine Learning in una rete virtuale nell’articolo panoramica sull'isolamento della rete virtuale e sulla privacy.

Per informazioni sulle procedure consigliate, consultare l'articolo Procedure consigliate di Azure Machine Learning per la sicurezza aziendale.