Come integrare in modo sicuro Azure Machine Learning e Azure Synapse
Questo articolo illustra come integrare in modo sicuro Azure Machine Learning da Azure Synapse. Questa integrazione consente di usare Azure Machine Learning dai notebook nell'area di lavoro di Azure Synapse. La comunicazione tra le due aree di lavoro è protetta tramite una rete virtuale di Azure.
Prerequisiti
Una sottoscrizione di Azure.
Un'area di lavoro di Azure Machine Learning con una connessione endpoint privato a una rete virtuale. Anche i servizi di dipendenza dell'area di lavoro seguenti devono avere una connessione endpoint privato alla rete virtuale:
Account di archiviazione di Azure
Suggerimento
Per l'account di archiviazione sono presenti tre endpoint privati separati; uno per BLOB, file e dfs.
Azure Key Vault
Registro Azure Container
Un modo rapido e semplice per compilare questa configurazione consiste nell'usare un modello Bicep o un modello Terraform.
Un'area di lavoro di Azure Synapse in una rete virtuale gestita usando un endpoint privato gestito. Per altre informazioni, vedere Rete virtuale gestita di Azure Synapse Analytics.
Avviso
L'integrazione di Azure Machine Learning non è attualmente supportata nelle aree di lavoro di Synapse con protezione dell'esfiltrazione di dati. Quando si configura l'area di lavoro di Azure Synapse, non abilitare la protezione dell'esfiltrazione di dati. Per altre informazioni, vedere Rete virtuale gestita di Azure Synapse Analytics.
Nota
La procedura in questo articolo parte dai presupposti seguenti:
- L'area di lavoro di Azure Synapse si trova in un gruppo di risorse diverso rispetto all'area di lavoro di Azure Machine Learning.
- L'area di lavoro di Azure Synapse usa una rete virtuale gestita. La rete virtuale gestita protegge la connettività tra Azure Synapse e Azure Machine Learning. Questa non limita l'accesso all'area di lavoro di Azure Synapse. Si accederà all'area di lavoro tramite La rete Internet pubblica.
Informazioni sulla comunicazione di rete
In questa configurazione, Azure Synapse usa un endpoint privato gestito e una rete virtuale. La rete virtuale gestita e l'endpoint privato proteggono le comunicazioni interne da Azure Synapse ad Azure Machine Learning limitando il traffico di rete verso la rete virtuale. Questa non limita la comunicazione tra il client e l'area di lavoro di Azure Synapse.
Azure Machine Learning non fornisce endpoint privati gestiti o reti virtuali e usa invece un endpoint privato gestito dall'utente e una rete virtuale. In questa configurazione la comunicazione interna e client/servizio è limitata alla rete virtuale. Ad esempio, se si vuole accedere direttamente allo studio di Azure Machine Learning dall'esterno della rete virtuale, usare una delle opzioni seguenti:
- Creare una macchina virtuale di Azure all'interno della rete virtuale e usare Azure Bastion per connettersi. Connettersi quindi ad Azure Machine Learning dalla macchina virtuale.
- Creare un gateway VPN o usare ExpressRoute per connettere i client alla rete virtuale.
Poiché l'area di lavoro di Azure Synapse è accessibile pubblicamente, è possibile connettersi a tale area senza dover creare elementi come un gateway VPN. L'area di lavoro synapse si connette in modo sicuro ad Azure Machine Learning tramite la rete virtuale. Azure Machine Learning e le relative risorse sono protetti all'interno della rete virtuale.
Quando si aggiungono origini dati, è anche possibile proteggere le origini dati dietro la rete virtuale. Ad esempio, connettersi in modo sicuro a un account di archiviazione di Azure o a Data Lake Store Gen 2 tramite la rete virtuale.
Per altre informazioni, vedere gli articoli seguenti:
- Rete virtuale gestita da Azure Synapse Analytics
- Proteggere le risorse dell'area di lavoro di Azure Machine Learning usando reti virtuali.
- Connettersi a un account di archiviazione di Azure sicuro dall'area di lavoro di Synapse.
Configurare Azure Synapse
Importante
Prima di seguire questa procedura, è necessaria un'area di lavoro di Azure Synapse configurata per l'uso di una rete virtuale gestita. Per altre informazioni, vedere Rete virtuale gestita di Azure Synapse Analytics.
Da Azure Synapse Studio Creare un nuovo servizio collegato di Azure Machine Learning.
Dopo aver creato e pubblicato il servizio collegato, in Azure Synapse Studio selezionare Gestisci, Endpoint privati gestiti, quindi + Nuovo.
Nella pagina Nuovo endpoint privato gestito cercare Azure Machine Learninge selezionare il riquadro.
Quando viene richiesto di selezionare l'area di lavoro di Azure Machine Learning, usare la sottoscrizione di Azure e l'area di lavoro di Azure Machine Learning aggiunta in precedenza come servizio collegato. Selezionare Crea per creare l'endpoint.
L'endpoint verrà elencato come Provisioning fino a quando non viene creato. Dopo la creazione, nella colonna Approvazione verrà elencato lo stato In sospeso. L'endpoint verrà approvato nella sezione Configurare Azure Machine Learning .
Nota
Nello screenshot seguente è stato creato un endpoint privato gestito per Azure Data Lake Storage Gen 2 associato a questa area di lavoro di Synapse. Per informazioni su come creare un'istanza di Azure Data Lake Storage Gen 2 e abilitare un endpoint privato, vedere Effettuare il provisioning e proteggere un servizio collegato con una rete virtuale gestita.
Creare un pool di Spark
Per verificare che l'integrazione tra Azure Synapse e Azure Machine Learning funzioni, si userà un pool di Apache Spark. Per informazioni sulla creazione di un pool di Spark, vedere Creare un pool di Spark.
Configura Azure Machine Learning
Nel portale di Azure selezionare l'area di lavoro di Azure Machine Learning, quindi selezionare Rete.
Selezionare Endpoint privati e quindi selezionare l'endpoint creato nei passaggi precedenti. Deve avere lo stato in sospeso. Selezionare Approva per approvare la connessione all'endpoint.
A sinistra della pagina selezionare Controllo di accesso (IAM). Selezionare + Aggiungi e quindi selezionare Assegnazione di ruolo.
Selezionare Ruoli di amministratore con privilegi, Contributore e quindi Avanti.
Selezionare Utente, gruppo o entità servizio, quindi + Seleziona membri. Immettere il nome dell'identità creata in precedenza, selezionarla, quindi usare il pulsante Seleziona.
Selezionare Rivedi e assegna, verificare le informazioni, quindi selezionare il pulsante Rivedi e assegna.
Suggerimento
L'aggiornamento della cache delle credenziali potrebbe richiedere alcuni minuti per l'area di lavoro di Azure Machine Learning. Fino a quando non è stato aggiornato, è possibile che vengano visualizzati errori durante il tentativo di accedere all'area di lavoro di Azure Machine Learning da Synapse.
Verificare la connettività
In Azure Synapse Studio selezionare Sviluppo, quindi + Notebook.
Nel campo Connetti a selezionare il pool di Apache Spark per l'area di lavoro di Azure Synapse e immettere il codice seguente nella prima cella:
from notebookutils.mssparkutils import azureML # getWorkspace() takes the linked service name, # not the Azure Machine Learning workspace name. ws = azureML.getWorkspace("AzureMLService1") print(ws.name)
Importante
Questo frammento di codice si connette all'area di lavoro collegata usando SDK v1 e quindi stampa le informazioni sull'area di lavoro. Nell'output stampato il valore visualizzato è il nome dell'area di lavoro di Azure Machine Learning, non il nome del servizio collegato usato nella chiamata
getWorkspace()
. Per altre informazioni sull'uso dell'oggettows
, vedere il riferimento alla classe Area di lavoro.