Prevenzione dell'esfiltrazione dei dati di Azure Machine Learning

Azure Machine Learning presenta diverse dipendenze in ingresso e in uscita. Alcune di queste dipendenze possono esporre un rischio di esfiltrazione di dati da parte di agenti dannosi all'interno dell'organizzazione. Questo documento illustra come ridurre al minimo il rischio di esfiltrazione dei dati limitando i requisiti in ingresso e in uscita.

  • In ingresso: se l'istanza di ambiente di calcolo o il cluster usa un indirizzo IP pubblico, si dispone di un tag del servizio in ingresso in azuremachinelearning (porta 44224). È possibile controllare questo traffico in ingresso usando un gruppo di sicurezza di rete (NSG) e tag del servizio. È difficile mascherare gli indirizzi IP del servizio di Azure, per cui il rischio di esfiltrazione dei dati è basso. È anche possibile configurare il calcolo in modo da non usare un indirizzo IP pubblico, operazione che rimuove i requisiti in ingresso.

  • In uscita: se gli agenti dannosi non hanno accesso in scrittura alle risorse di destinazione in uscita, non possono usare l'uscita per l'esfiltrazione dei dati. Microsoft Entra ID, Azure Resource Manager, Azure Machine Learning e Registro Azure Container appartengono a questa categoria. D'altra parte, è possibile usare Archiviazione e AzureFrontDoor.frontend per l'esfiltrazione dei dati.

    • Archiviazione in uscita: questo requisito proviene dall'istanza di ambiente di calcolo e dal cluster di elaborazione. Un agente dannoso può usare questa regola in uscita per esfiltrare i dati effettuando il provisioning e il salvataggio dei dati nel proprio account di archiviazione. È possibile rimuovere il rischio di esfiltrazione dei dati usando un criterio di endpoint di servizio di Azure e l'architettura di comunicazione dei nodi semplificata di Microsoft Azure Batch.

    • AzureFrontDoor.frontend in uscita: Frontdoor di Azure viene usato dall'interfaccia utente di Studio di Azure Machine Learning e da AutoML. Anziché consentire il traffico in uscita al tag del servizio (AzureFrontDoor.frontend), passare ai seguenti nomi di dominio completi (FQDN). Il passaggio a questi FQDN rimuove il traffico in uscita non necessario incluso nel tag del servizio e consente solo ciò che è necessario per l'interfaccia utente di Studio di Azure Machine Learning e AutoML.

      • ml.azure.com
      • automlresources-prod.azureedge.net

Suggerimento

Le informazioni contenute in questo articolo riguardano principalmente l'uso di una rete virtuale di Azure. Azure Machine Learning può anche usare reti virtuali gestite. Con una rete virtuale gestita, Azure Machine Learning si occupa del processo di isolamento rete per l'area di lavoro e i calcoli gestiti.

Per risolvere i problemi di esfiltrazione dei dati, le reti virtuali gestite consentono di limitare l'uscita solo al traffico in uscita approvato. Per altre informazioni, vedere Isolamento rete gestito dall'area di lavoro.

Prerequisiti

  • Una sottoscrizione di Azure
  • Una rete virtuale di Azure (VNet)
  • Un'area di lavoro di Azure Machine Learning con endpoint privato che si connette alla rete virtuale.
    • Anche l'account di archiviazione usato dall'area di lavoro deve connettersi alla rete virtuale usando un endpoint privato.
  • È necessario ricreare l'istanza di ambiente di calcolo o ridurre il cluster di elaborazione a zero nodi.
    • Non obbligatorio se si ha l'anteprima congiunta.
    • Non obbligatorio se è stata creata una nuova istanza di ambiente di calcolo e un cluster di elaborazione dopo dicembre 2022.

Perché è necessario usare i criteri dell'endpoint di servizio?

I criteri degli endpoint di servizio consentono di filtrare il traffico di rete virtuale in uscita verso gli account di archiviazione di Azure tramite l'endpoint di servizio e consentire l'esfiltrazione dei dati solo a specifici account di archiviazione di Azure. L'istanza di ambiente di calcolo e il cluster di elaborazione di Azure Machine Learning richiedono l'accesso agli account di archiviazione gestiti da Microsoft per il provisioning. L'alias di Azure Machine Learning nei criteri degli endpoint di servizio include gli account di archiviazione gestiti da Microsoft. I criteri degli endpoint di servizio vengono usati con l'alias di Azure Machine Learning per impedire l'esfiltrazione dei dati o controllare gli account di archiviazione di destinazione. Per altre informazioni, vedere la documentazione dei criteri degli endpoint di servizio.

1. Creare i criteri per l'endpoint servizio

  1. Nel portale di Azure aggiungere un nuovo criterio di endpoint di servizio. Nella scheda Nozioni di base specificare le informazioni necessarie e selezionare Avanti.

  2. Nella scheda Definizioni di criteri eseguire le azioni seguenti:

    1. Selezionare + Aggiungi una risorsae specificare le informazioni seguenti:

      • Servizio: Microsoft.Storage
      • Ambito: selezionare l'ambito come Account singolo per limitare il traffico di rete a un account di archiviazione.
      • Sottoscrizione: sottoscrizione di Azure che contiene l'account di archiviazione.
      • Gruppo di risorse: gruppo di risorse che contiene l'account di archiviazione.
      • Risorsa: l'account di archiviazione predefinito dell'area di lavoro.

      Selezionare Aggiungi per aggiungere le informazioni sulla risorsa.

      Screenshot che mostra come creare un criterio dell'endpoint di servizio.

    2. Selezionare + Aggiungi un alias, quindi selezionare /services/Azure/MachineLearning come valore alias del server. Selezionare Aggiungi per aggiungere l'alias.

      Nota

      L'interfaccia della riga di comando di Azure e Azure PowerShell non forniscono il supporto per l'aggiunta di un alias ai criteri.

  3. Selezionare Rivedi e crea e quindi Crea.

Importante

Se l'istanza di ambiente di calcolo e il cluster di elaborazione devono accedere ad account di archiviazione aggiuntivi, i criteri dell'endpoint di servizio devono includere gli account di archiviazione aggiuntivi nella sezione delle risorse. Si noti che non è necessario se si usano endpoint privati di archiviazione. I criteri dell'endpoint di servizio e l'endpoint privato sono indipendenti.

2. Consentire il traffico di rete in ingresso e in uscita

In entrata

Importante

Le informazioni seguenti modificano le indicazioni fornite nell'articolo Come proteggere l'ambiente di training.

Importante

Le informazioni seguenti modificano le indicazioni fornite nell'articolo Come proteggere l'ambiente di training.

Quando si usa l'istanza di ambiente di calcolo di Azure Machine Learning con un indirizzo IP pubblico, consentire il traffico in ingresso dalla gestione di Microsoft Azure Batch (tag del servizio BatchNodeManagement.<region>). Le istanze di ambiente di calcolo senza IP pubblico non richiedono questa comunicazione in ingresso.

In uscita

Importante

Le informazioni seguenti sono aggiuntive alle indicazioni fornite negli articoli Ambiente di training sicuro con reti virtuali e Configurare il traffico di rete in ingresso e in uscita.

Importante

Le informazioni seguenti sono aggiuntive alle indicazioni fornite negli articoli Ambiente di training sicuro con reti virtuali e Configurare il traffico di rete in ingresso e in uscita.

Selezionare la configurazione in uso:

Consentire il traffico in uscita ai seguenti tag del servizio. Sostituire <region> con l'area di Azure contenente la propria area di lavoro:

Tag di servizio Protocollo Port
BatchNodeManagement.<region> QUALSIASI 443
AzureMachineLearning TCP 443
Storage.<region> TCP 443

Nota

Per l'archiviazione in uscita, un criterio degli endpoint di servizio verrà applicato in un passaggio successivo per limitare il traffico in uscita.

3. Abilitare l'endpoint di archiviazione per la subnet

Usare la procedura seguente per abilitare un endpoint di archiviazione per la subnet che contiene i cluster di elaborazione e le istanze di ambiente di calcolo di Azure Machine Learning:

  1. Nel portale di Azure selezionare la rete virtuale di Azure per l'area di lavoro di Azure Machine Learning.
  2. A sinistra della pagina selezionare Subnet, quindi selezionare la subnet contenente il cluster di elaborazione e l'istanza di ambiente di calcolo.
  3. Nel modulo visualizzato espandere l'elenco a discesa Servizi e abilitare Microsoft.Storage. Selezionare Salva per salvare le modifiche.
  4. Applicare i criteri dell'endpoint di servizio alla subnet dell'area di lavoro.

Screenshot del portale di Azure che mostra come abilitare l'endpoint di archiviazione per la subnet.

4. Ambienti dedicati

Quando si usano ambienti curati di Azure Machine Learning, assicurarsi di usare la versione più recente dell'ambiente. Anche il registro contenitori per l'ambiente deve essere mcr.microsoft.com. Eseguire i seguenti passaggi per controllare il registro contenitori:

  1. In Studio di Azure Machine Learningselezionare l'area di lavoro seguito da Ambienti.

  2. Verificare che Registro Azure Container inizi con il valore mcr.microsoft.com.

    Importante

    Se il registro contenitori è viennaglobal.azurecr.io, non è possibile usare l'ambiente curato con l'esfiltrazione dei dati. Provare ad eseguire l'aggiornamento alla versione più recente dell'ambiente curato.

  3. Quando si usa mcr.microsoft.com, è anche necessario consentire la configurazione in uscita alle risorse seguenti. Selezionare l'opzione di configurazione in uso:

    Consentire il traffico in uscita sulla porta TCP 443 ai seguenti tag del servizio. Sostituire <region> con l'area di Azure contenente la propria area di lavoro.

    • MicrosoftContainerRegistry.<region>
    • AzureFrontDoor.FirstParty

Passaggi successivi

Per altre informazioni, vedere gli articoli seguenti: