Crittografia dei dati con Azure Machine Learning

Azure Machine Learning si basa su vari servizi di archiviazione dati di Azure e risorse di calcolo di Azure per il training dei modelli e l'esecuzione dell'inferenza. In questo articolo vengono fornite informazioni sulla crittografia dei dati per ogni servizio sia inattivo che in transito.

Per la crittografia di livello di produzione durante il training, è consigliabile usare un cluster di calcolo di Azure Machine Learning. Per la crittografia di livello di produzione durante l'inferenza, è consigliabile usare il servizio Azure Kubernetes.

Un'istanza di calcolo di Azure Machine Learning è un ambiente di sviluppo/test. Quando lo si usa, è consigliabile archiviare i file, ad esempio notebook e script, in una condivisione file. Archiviare i dati in un archivio dati.

Crittografia dei dati inattivi

I progetti end-to-end di Azure Machine Learning si integrano con servizi come Archiviazione BLOB di Azure, Azure Cosmos DB e database SQL di Azure. Questo articolo descrive i metodi di crittografia per tali servizi.

Archiviazione BLOB di Azure

Azure Machine Learning archivia snapshot, output e log nell'account di archiviazione BLOB di Azure (account di archiviazione predefinito) collegato all'area di lavoro di Azure Machine Learning e alla sottoscrizione. Tutti i dati archiviati nell'Archiviazione BLOB di Azure vengono crittografati quando inattivi con le chiavi gestite da Microsoft.

Per informazioni su come usare le proprie chiavi per i dati archiviati nell'Archiviazione BLOB di Azure, vedere Crittografia di Archiviazione di Azure con chiavi gestite dal cliente in Azure Key Vault.

Anche i dati di training vengono in genere archiviati nell'Archiviazione BLOB di Azure in modo che le destinazioni di calcolo di training possano accedervi. Azure Machine Learning non gestisce questa risorsa di archiviazione. Questa risorsa di archiviazione viene montata per le destinazioni di calcolo come file system remoto.

Se è necessario ruotare o revocare la chiave, è possibile farlo in qualsiasi momento. Durante la rotazione di una chiave, l'account di archiviazione inizia a usare la nuova chiave, ovvero la versione più recente, per crittografare i dati inattivi. Durante la revoca, ovvero la disabilitazione, di una chiave l'account di archiviazione si occupa delle richieste non riuscite. Gli effetti della rotazione o della revoca vengono in genere visualizzati dopo un'ora.

Per informazioni sulla rigenerazione delle chiavi di accesso, vedere Rigenerare le chiavi di accesso dell’account di archiviazione.

Archiviazione di Azure Data Lake

Nota

Il 29 febbraio 2024, Azure Data Lake Storage Gen1 verrà ritirato. Per altre informazioni, consultare l'annuncio ufficiale. Se si usa Azure Data Lake Storage Gen1, assicurarsi di eseguire la migrazione ad Azure Data Lake Storage Gen2 prima di tale data. Per informazioni su come, vedere Eseguire la migrazione di Azure Data Lake Storage da Gen1 a Gen2 usando il portale di Azure.

A meno che non si abbia già un account Azure Data Lake Storage Gen1, non è possibile crearne di nuovi.

Azure Data Lake Storage Gen2 si basa su Archiviazione BLOB di Azure ed è una soluzione progettata per le analisi di Big Data nelle aziende. Data Lake Storage Gen2 viene usato come archivio dati per Azure Machine Learning. Analogamente all'archiviazione BLOB di Azure, i dati inattivi vengono crittografati con chiavi gestite da Microsoft.

Per informazioni su come usare le proprie chiavi per i dati archiviati nell'Archiviazione Data Lake di Azure, vedere Crittografia di Archiviazione di Azure con chiavi gestite dal cliente in Azure Key Vault.

Database relazionali di Azure

Il servizio Azure Machine Learning supporta i dati delle origini dati seguenti.

Database SQL di Microsoft Azure

La funzionalità Transparent Data Encryption consente di proteggere il database SQL di Azure dalla minaccia di attività dannose offline tramite la crittografia dei dati inattivi. Per impostazione predefinita, Transparent Data Encryption è abilitato per tutti i database SQL appena distribuiti che usano chiavi gestite da Microsoft.

Per informazioni su come usare chiavi gestite dal cliente per Transparent Data Encryption, vedere Transparent Data Encryption del database SQL di Azure.

Database di Azure per PostgreSQL

Per impostazione predefinita, Database di Azure per PostgreSQL usa la crittografia di Archiviazione di Azure per crittografare i dati inattivi usando chiavi gestite da Microsoft. È simile a Transparent Data Encryption in altri database, ad esempio SQL Server.

Per informazioni su come usare chiavi gestite dal cliente per Transparent Data Encryption, vedere Crittografia dei dati del server singolo di Database di Azure per PostgreSQL con una chiave gestita dal cliente.

Database di Azure per MySQL

Database di Azure per MySQL è un servizio di database relazionale in Microsoft Cloud. Si basa sul motore di database MySQL Community Edition. Il servizio Database di Azure per MySQL usa il modulo crittografico convalidato FIPS 140-2 per la crittografia dei dati inattivi di Archiviazione di Azure.

Per crittografare i dati usando chiavi gestite dal cliente, vedere Crittografia dei dati di Database di Azure per MySQL con una chiave gestita dal cliente.

Azure Cosmos DB

Azure Machine Learning archivia i metadati in un'istanza di Azure Cosmos DB. Questa istanza è associata a una sottoscrizione Microsoft gestita da Azure Machine Learning. Tutti i dati archiviati in Azure Cosmos DB vengono crittografati quando inattivi con le chiavi gestite da Microsoft.

Quando si usano chiavi personalizzate (gestite dal cliente) per crittografare l'istanza di Azure Cosmos DB, viene creata un'istanza di Azure Cosmos DB gestita da Microsoft nella sottoscrizione. Questa istanza viene creata in un gruppo di risorse gestito da Microsoft, diverso dal gruppo di risorse per l'area di lavoro. Per altre informazioni, vedere Chiavi gestite dal cliente per Azure Machine Learning.

Registro Azure Container

Tutte le immagini del contenitore presenti nel registro contenitori (un'istanza di Registro Azure Container) vengono crittografate quando inattive. Azure crittografa automaticamente un'immagine prima di archiviarla e la decrittografa quando Azure Machine Learning esegue il pull dell'immagine.

Per usare le chiavi gestite dal cliente per crittografare il registro contenitori, è necessario creare e collegare il registro contenitori durante il provisioning dell'area di lavoro. È possibile crittografare l'istanza predefinita creata al momento del provisioning dell'area di lavoro.

Importante

Azure Machine Learning richiede l'abilitazione dell'account amministratore nel registro contenitori. Per impostazione predefinita, questa impostazione è disabilitata quando si crea un registro contenitori. Per informazioni sull'abilitazione dell'account amministratore, vedere Account amministratore più avanti in questo articolo.

Dopo aver creato un registro contenitori per un'area di lavoro, non eliminarlo. In caso contrario, l'area di lavoro di Azure Machine Learning verrà terminata.

Per esempi di creazione di un'area di lavoro usando un registro contenitori esistente, vedere gli articoli seguenti:

Istanze di Azure Container

Importante

Le distribuzioni in Istanze di Azure Container si basano su Azure Machine Learning Python SDK e sull'interfaccia della riga di comando v1.

È possibile crittografare una risorsa di Istanze di Azure Container distribuita usando chiavi gestite dal cliente. Le chiavi gestite dal cliente usate per Istanze di Container possono essere archiviate nell'insieme di credenziali delle chiavi per l'area di lavoro.

Si applica a: Python SDK azureml v1

Per usare la chiave durante la distribuzione di un modello in Istanze di Container, creare una nuova configurazione di distribuzione usando AciWebservice.deploy_configuration(). Specificare le informazioni della chiave usando i parametri seguenti:

  • cmk_vault_base_url: URL dell'insieme di credenziali delle chiavi contenente la chiave.
  • cmk_key_name: nome della chiave.
  • cmk_key_version: versione della chiave.

Per altre informazioni sulla creazione e l'uso di una configurazione di distribuzione, vedere gli articoli seguenti:

Per altre informazioni sull'uso della chiave gestita dal cliente con Istanze di Container, vedere Crittografare i dati di distribuzione.

Servizio Azure Kubernetes

È possibile crittografare una risorsa del servizio Azure Kubernetes usando le chiavi gestite dal cliente in qualsiasi momento. Per altre informazioni, vedere Usare le chiavi personali con il servizio Azure Kubernetes.

Questo processo consente di crittografare sia i dati che il disco del sistema operativo delle macchine virtuali distribuite nel cluster Kubernetes.

Importante

Questo processo funziona solo con il servizio Azure Kubernetes versione 1.17 o successiva. Il 13 gennaio 2020 Azure Machine Learning ha aggiunto il supporto per il servizio Azure Kubernetes 1.17.

Ambiente di calcolo di Machine Learning

Cluster di elaborazione

Il disco del sistema operativo per ogni nodo di calcolo archiviato in Archiviazione di Azure viene crittografato con le chiavi gestite da Microsoft negli account di archiviazione di Azure Machine Learning. Questa destinazione di calcolo è temporanea e i cluster vengono in genere ridimensionati quando non vengono accodate i processi. Viene eseguito il deprovisioning della macchina virtuale sottostante e il disco del sistema operativo viene eliminato.

Crittografia dischi di Azure non è abilitata per le aree di lavoro per impostazione predefinita. Se si crea l'area di lavoro con il parametro hbi_workspace impostato su TRUE, il disco del sistema operativo viene crittografato.

Ogni macchina virtuale ha anche un disco temporaneo locale per le operazioni del sistema operativo. Se lo si desidera, è possibile usare il disco per organizzare i dati di training. Se si crea l'area di lavoro con il parametro hbi_workspace impostato su TRUE, il disco temporaneo viene crittografato. Questo ambiente dura solo per il tempo del processo e il supporto della crittografia è limitato solo alle chiavi gestite dal sistema.

Gli endpoint online gestiti e gli endpoint batch usano l'ambiente di calcolo di Azure Machine Learning nel back-end e seguono lo stesso meccanismo di crittografia.

Istanza di calcolo

Il disco del sistema operativo per un'istanza di calcolo viene crittografato con le chiavi gestite da Microsoft negli account di archiviazione di Azure Machine Learning. Se si crea l'area di lavoro con il parametro hbi_workspace impostato su TRUE, il sistema operativo locale e i dischi temporanei in un'istanza di calcolo vengono crittografati con chiavi gestite da Microsoft. La crittografia della chiave gestita dal cliente non è supportata per il sistema operativo e i dischi temporanei.

Per altre informazioni, vedere Chiavi gestite dal cliente per Azure Machine Learning.

Azure Data Factory

La pipeline di Azure Data Factory inserisce i dati da usare con Azure Machine Learning. Azure Data Factory crittografa i dati inattivi, ad esempio le definizioni delle entità e i dati memorizzati nella cache mentre le esecuzioni sono in corso. Per impostazione predefinita, i dati vengono crittografati con una chiave gestita da Microsoft e generata in modo casuale, assegnata in modo univoco alla data factory.

Per informazioni su come usare le chiavi gestite dal cliente per la crittografia, vedere Crittografare Azure Data Factory con chiavi gestite dal cliente.

Azure Databricks

È possibile usare Azure Databricks nelle pipeline di Azure Machine Learning. Per impostazione predefinita, il file system di Databricks (DBFS) usato da Azure Databricks viene crittografato tramite una chiave gestita da Microsoft. Per configurare Azure Databricks per l'uso delle chiavi gestite dal cliente, vedere Configurare chiavi gestite dal cliente in DBFS predefinito (radice).

Dati generati da Microsoft

Quando si usano servizi come Azure Machine Learning, Microsoft potrebbe generare dati temporanei pre-elaborati per il training di più modelli. Questi dati vengono archiviati in un archivio dati dell'area di lavoro, che consente di applicare i controlli di accesso e la crittografia in modo appropriato.

Potrebbe anche essere necessario crittografare le informazioni di diagnostica registrate nell'endpoint distribuito nell'istanza di Application Insights.

Crittografia dei dati in transito

Azure Machine Learning usa Transport Layer Security (TLS) per proteggere le comunicazioni interne tra diversi microservizi di Azure Machine Learning. Tutti gli accessi di Archiviazione di Azure avvengono inoltre su un canale sicuro.

Per proteggere le chiamate esterne all'endpoint dei punteggi, Azure Machine Learning usa TLS. Per altre informazioni, vedere Usare TLS per proteggere un servizio Web tramite Azure Machine Learning.

Raccolta e gestione dei dati

Ai fini della diagnostica, Microsoft potrebbe raccogliere informazioni che non identificano gli utenti. Ad esempio, Microsoft potrebbe raccogliere i nomi delle risorse, ad esempio il nome del set di dati o il nome dell'esperimento di Machine Learning, o le variabili di ambiente del processo per scopi diagnostici. Tutti questi dati vengono archiviati tramite chiavi gestite da Microsoft nell'archiviazione ospitata nelle sottoscrizioni di proprietà di Microsoft. L'archiviazione segue l'informativa sulla privacy standard e gli standard di gestione dei dati di Microsoft. Questi dati rimangono nella stessa area dell'area di lavoro.

È consigliabile anche non archiviare informazioni sensibili, quali i segreti della chiave dell'account, nelle variabili di ambiente. Microsoft registra, crittografa e archivia le variabili di ambiente. Analogamente, quando si assegna un nome ai processi, evitare di inserire informazioni sensibili, quali nomi utente o nomi di progetti segreti. Queste informazioni potrebbero essere visualizzate nei log di telemetria a cui possono accedere i tecnici del supporto Tecnico Microsoft.

È possibile rifiutare esplicitamente la raccolta di dati di diagnostica impostando il parametro hbi_workspace su TRUE durante il provisioning dell'area di lavoro. Questa funzionalità è supportata quando si usa Azure Machine Learning Python SDK, l'interfaccia della riga di comando di Azure, le API REST o i modelli di Azure Resource Manager.

Archiviazione delle credenziali in Azure Key Vault

Azure Machine Learning usa l'istanza di Azure Key Vault associata all'area di lavoro per archiviare credenziali di diversi tipi:

  • Stringa di connessione associata per l'account di archiviazione
  • Password per le istanze di Registro Azure Container
  • Stringhe di connessione ad archivi dati

Le password e le chiavi SSH (Secure Shell) per calcolare destinazioni come Azure HDInsight e le macchine virtuali vengono archiviate in un insieme di credenziali delle chiavi separato associato alla sottoscrizione Microsoft. Azure Machine Learning non archivia le password o le chiavi fornite dagli utenti. Al contrario, genera, autorizza e archivia le proprie chiavi SSH per connettersi alle macchine virtuali e a HDInsight per eseguire gli esperimenti.

A ogni area di lavoro è associata un'identità gestita assegnata dal sistema con lo stesso nome dell'area di lavoro. Questa identità gestita ha accesso a tutte le chiavi, i segreti e i certificati nell'insieme di credenziali delle chiavi.

Passaggi successivi