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:

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.

  1. Da Azure Synapse Studio Creare un nuovo servizio collegato di Azure Machine Learning.

  2. Dopo aver creato e pubblicato il servizio collegato, in Azure Synapse Studio selezionare Gestisci, Endpoint privati gestiti, quindi + Nuovo.

    Screenshot della finestra di dialogo endpoint privati gestiti.

  3. Nella pagina Nuovo endpoint privato gestito cercare Azure Machine Learninge selezionare il riquadro.

    Screenshot della selezione di Azure Machine Learning.

  4. 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.

    Screenshot della finestra di dialogo del nuovo endpoint privato.

  5. 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.

    Screenshot dell'elenco di endpoint privati gestiti.

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

  1. Nel portale di Azure selezionare l'area di lavoro di Azure Machine Learning, quindi selezionare Rete.

  2. 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.

    Screenshot dell'approvazione dell'endpoint privato.

  3. A sinistra della pagina selezionare Controllo di accesso (IAM). Selezionare + Aggiungi e quindi selezionare Assegnazione di ruolo.

    Screenshot dell'assegnazione di ruolo.

  4. Selezionare Ruoli di amministratore con privilegi, Contributore e quindi Avanti.

    Screenshot della selezione del Contributore.

  5. Selezionare Utente, gruppo o entità servizio, quindi + Seleziona membri. Immettere il nome dell'identità creata in precedenza, selezionarla, quindi usare il pulsante Seleziona.

    Screenshot dell'assegnazione del ruolo.

  6. 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à

  1. In Azure Synapse Studio selezionare Sviluppo, quindi + Notebook.

    Screenshot dell'aggiunta di un notebook.

  2. 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'oggetto ws, vedere il riferimento alla classe Area di lavoro.

Passaggi successivi