Usare chiavi gestite dal cliente con Azure Machine Learning

L'articolo sui concetti relativi alle chiavi gestite dal cliente illustra le funzionalità di crittografia offerte da Azure Machine Learning. Informazioni su come usare le chiavi gestite dal cliente con Azure Machine Learning.

Azure Machine Learning si basa sui seguenti servizi che usano chiavi gestite dal cliente:

Servizio Scopo
Azure Cosmos DB Archivia i metadati per Azure Machine Learning
Azure AI Search Archivia i metadati dell'area di lavoro per Azure Machine Learning
Archiviazione di Azure Archivia i metadati dell'area di lavoro per Azure Machine Learning
Servizio Azure Kubernetes Host con training di modelli come endpoint di inferenza

Usare la stessa chiave per proteggere Azure Cosmos DB, Azure AI Search e Archiviazione di Azure. È possibile usare una chiave differente per il servizio Azure Kubernetes.

Quando si usa una chiave gestita dal cliente con Azure Cosmos DB, Azure AI Search e Archiviazione di Azure, la chiave viene fornita quando si crea l'area di lavoro. La chiave usata con il servizio Azure Kubernetes viene fornita quando si configura tale risorsa.

Servizio Scopo
Azure Cosmos DB Archivia i metadati per Azure Machine Learning
Azure AI Search Archivia i metadati dell'area di lavoro per Azure Machine Learning
Archiviazione di Azure Archivia i metadati dell'area di lavoro per Azure Machine Learning
Servizio Azure Kubernetes Host con training di modelli come endpoint di inferenza
Istanze di Azure Container Host con training di modelli come endpoint di inferenza

Usare la stessa chiave per proteggere Azure Cosmos DB, Azure AI Search e Archiviazione di Azure. È possibile usare una chiave diversa per il servizio Azure Kubernetes e Istanze di Azure Container.

Quando si usa una chiave gestita dal cliente con Azure Cosmos DB, Azure AI Search e Archiviazione di Azure, la chiave viene fornita quando si crea l'area di lavoro. Le chiavi usate con Istanze di Azure Container e il servizio Azure Kubernetes vengono fornite quando si configurano tali risorse.

Prerequisiti

  • Una sottoscrizione di Azure.

  • È necessario registrare i provider di risorse di Azure seguenti:

    Provider di risorse Perché è necessario
    Microsoft.MachineLearningServices Creazione dell'area di lavoro di Azure Machine Learning.
    Microsoft.Storage L'account di Archiviazione viene usato come risorsa di archiviazione predefinita per l'area di lavoro.
    Microsoft.KeyVault Azure Key Vault viene usato dall'area di lavoro per archiviare i segreti.
    Microsoft.DocumentDB Istanza di Microsoft Azure Cosmos DB che registra i metadati per l'area di lavoro.
    Microsoft.Search Ricerca di intelligenza artificiale di Azure offre funzionalità di indicizzazione per l'area di lavoro.

    Per informazioni sulla registrazione dei provider di risorse, vedere Risoluzione degli errori di registrazione del provider di risorse.

Limiti

  • Dopo la creazione dell'area di lavoro, la chiave di crittografia gestita dal cliente per le risorse da cui dipende l'area di lavoro può essere aggiornata solo a un'altra chiave nella risorsa originale di Azure Key Vault.
  • Le risorse gestite da Microsoft nella sottoscrizione non possono trasferire la proprietà all'utente.
  • Non è possibile eliminare risorse gestite da Microsoft usate per le chiavi gestite dal cliente senza eliminare anche l'area di lavoro.
  • L'insieme di credenziali delle chiavi che contiene la chiave gestita dal cliente deve trovarsi nella stessa sottoscrizione di Azure dell'area di lavoro di Azure Machine Learning.
  • Il disco del sistema operativo dell'ambiente di calcolo di Machine Learning non può essere crittografato con la chiave gestita dal cliente; tuttavia, può essere crittografato con la chiave gestita da Microsoft se l'area di lavoro viene creata con il parametro hbi_workspace impostato su TRUE. Per altri dettagli, vedere Crittografia dei dati.

Importante

Quando si usa una chiave gestita dal cliente, i costi per la sottoscrizione saranno maggiori a causa delle risorse aggiuntive nella sottoscrizione. Per stimare il costo, usare il calcolatore prezzi di Azure.

Creare un Azure Key Vault

Per creare l'insieme di credenziali delle chiavi, vedere Creare un insieme di credenziali delle chiavi. Quando si crea Azure Key Vault, è necessario abilitare l'eliminazione temporanea e la protezione dall'eliminazione.

Importante

L'insieme di credenziali delle chiavi deve trovarsi nella stessa sottoscrizione di Azure che conterrà l'area di lavoro di Azure Machine Learning.

Creazione di una chiave

Suggerimento

Se si verificano problemi durante la creazione della chiave, la causa potrebbero essere i controlli di accesso in base al ruolo di Azure applicati nella sottoscrizione. Assicurarsi che all'entità di sicurezza (utente, identità gestita, entità servizio e così via) in uso per creare la chiave sia stato assegnato il ruolo Collaboratore per l'istanza dell'insieme di credenziali delle chiavi. È inoltre necessario configurare un criterio di accesso nell'insieme di credenziali delle chiavi che concede l'autorizzazione per Crea, Recupera, Elimina e Ripulisci dell'entità di sicurezza.

Se si prevede di usare un'identità gestita assegnata dall'utente per l'area di lavoro, è necessario assegnare anche questi ruoli e criteri di accesso.

Per altre informazioni, vedere gli articoli seguenti:

  1. Nel portale di Azure selezionare l'istanza dell'insieme di credenziali delle chiavi. Successivamente, selezionare Chiavi nel menu a sinistra.

  2. Selezionare + Genera/Importa nella parte superiore della pagina. Usare i valori seguenti per creare una chiave:

    • Impostare Opzioni su Genera.
    • Immettere un nome per la chiave. Il nome deve essere un elemento che identifica l'uso pianificato. Ad esempio, my-cosmos-key.
    • Impostare Tipo di chiave su RSA.
    • È consigliabile selezionare almeno 3072 per le dimensioni della chiave RSA.
    • Lasciare Abilitato impostato su Sì.

    Facoltativamente, è possibile impostare una data di attivazione, una data di scadenza e tag.

  3. Selezionare Crea per creare la chiave.

Consentire ad Azure Cosmos DB di accedere alla chiave

  1. Per configurare l'insieme di credenziali delle chiavi, selezionarlo nel portale di Azure e selezionare Criteri di accesso nel menu a sinistra.
  2. Per creare le autorizzazioni per Azure Cosmos DB, selezionare + Crea nella parte superiore della pagina. In Autorizzazioni chiave, selezionare le autorizzazioni Recupera, Annulla il wrapping della chiave e Esegui il wrapping della chiave.
  3. In Entitàcercare Azure Cosmos DB e selezionare questa voce. L'ID principale per questa voce è a232010e-820c-4083-83bb-3ace5fc29d0b per tutte le aree diverse da Microsoft Azure per enti pubblici. Per Microsoft Azure per enti pubblici, l'ID principale è 57506a73-e302-42a9-b869-6f12d9ec29e9.
  4. Selezionare Rivedi e crea e quindi Crea.

Creare un'area di lavoro che usa una chiave gestita dal cliente

Creare un'area di lavoro di Azure Machine Learning. Quando si crea l'area di lavoro, è necessario selezionare Azure Key Vault e la chiave. A seconda della modalità di creazione dell'area di lavoro, è possibile specificare queste risorse in modi diversi:

Avviso

L'insieme di credenziali delle chiavi che contiene la chiave gestita dal cliente deve trovarsi nella stessa sottoscrizione di Azure dell'area di lavoro.

  • Portale di Azure: selezionare l'insieme di credenziali delle chiavi e la chiave da una casella di input a discesa durante la configurazione dell'area di lavoro.

  • SDK, API REST e modelli di Azure Resource Manager: specificare l'ID di Azure Resource Manager dell'insieme di credenziali delle chiavi e l'URL per la chiave. Per ottenere questi valori, usare l'interfaccia della riga di comando di Azure e i comandi seguenti:

    # Replace `mykv` with your key vault name.
    # Replace `mykey` with the name of your key.
    
    # Get the Azure Resource Manager ID of the key vault
    az keyvault show --name mykv --query id
    # Get the URL for the key
    az keyvault key show --vault-name mykv -n mykey --query key.kid
    

    Il valore dell'ID dell'insieme di credenziali delle chiavi sarà simile a /subscriptions/{GUID}/resourceGroups/{resource-group-name}/providers/Microsoft.KeyVault/vaults/mykv. L'URL della chiave sarà simile a https://mykv.vault.azure.net/keys/mykey/{GUID}.

Per esempi di creazione dell'area di lavoro con una chiave gestita dal cliente, vedere gli articoli seguenti:

Metodo di creazione Articolo
CLI Creare un'area di lavoro con l'interfaccia della riga di comando di Azure
Portale di Azure/
Python SDK
Creare e gestire un'area di lavoro
Modello di Azure Resource Manager
Creare un'area di lavoro con un modello
REST API Creare, eseguire ed eliminare risorse di Azure Machine Learning con REST

Dopo aver creato l'area di lavoro, si noterà che il gruppo di risorse di Azure viene creato nella sottoscrizione. Questo gruppo si aggiunge al gruppo di risorse per l'area di lavoro. Questo gruppo di risorse conterrà le risorse gestite da Microsoft usate dalla chiave. Il gruppo di risorse verrà denominato usando la formula di <Azure Machine Learning workspace resource group name><GUID>. Conterrà un'istanza di Azure Cosmos DB, un account di archiviazione di Azure e Azure AI Search.

Suggerimento

  • Le unità richieste per l'istanza di Azure Cosmos DB vengono ridimensionate automaticamente in base alle esigenze.
  • Se l'area di lavoro di Azure Machine Learning usa un endpoint privato, questo gruppo di risorse conterrà anche una rete virtuale di Azure gestita da Microsoft. Questa rete virtuale viene usata per proteggere le comunicazioni tra i servizi gestiti e l'area di lavoro. Non è possibile fornire la propria rete virtuale da usare con le risorse gestite da Microsoft. Non è inoltre possibile modificare la rete virtuale. Ad esempio, non è possibile modificare l'intervallo di indirizzi IP usato.

Importante

Se la sottoscrizione non dispone di una quota sufficiente per questi servizi, si verificherà un errore.

Avviso

Non eliminare il gruppo di risorse che contiene questa istanza di Microsoft Azure Cosmos DB o una delle risorse create automaticamente in questo gruppo. Se è necessario eliminare il gruppo di risorse o i servizi gestiti da Microsoft, è necessario eliminare l'area di lavoro di Azure Machine Learning che la utilizza. Le risorse del gruppo di risorse vengono eliminate quando l'area di lavoro associata viene eliminata.

Per altre informazioni sulle chiavi gestite dal cliente con Azure Cosmos DB, vedere Configurare le chiavi gestite dal cliente per l'account Azure Cosmos.

Azure Container Instance

Importante

La distribuzione in Istanze di Azure Container non è disponibile in SDK o nell'interfaccia della riga di comando v2. Solo tramite SDK e interfaccia della riga di comando v1.

Quando si distribuisce un modello sottoposto a training in un'istanza di Azure Container (ACI), è possibile crittografare la risorsa distribuita usando una chiave gestita dal cliente. Per informazioni sulla generazione di una chiave, vedere Crittografare i dati con una chiave gestita dal cliente.

Per usare la chiave durante la distribuzione di un modello in un'istanza di contenitore di Azure, 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:

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 K8s versione 1.17 o successiva.

Passaggi successivi