Condividi tramite


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 viene protetta usando un 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 Microsoft Bicep o HashiCorp 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 dei dati. Quando si configura l'area di lavoro di Azure Synapse, non abilitare la protezione dell'esfiltrazione dei dati. Per altre informazioni, vedere Rete virtuale gestita di Azure Synapse Analytics.

    Nota

    La procedura descritta in questo articolo presuppone quanto segue:

    • 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. 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 alla rete virtuale. 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 al 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 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, selezionare Gestisci, Endpoint privati gestiti e quindi + Nuovo in Azure Synapse Studio.

    Screenshot of the managed private endpoints dialog.

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

    Screenshot of selecting 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 of the new private endpoint dialog.

  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 Archiviazione Gen 2 associato a questa area di lavoro synapse. Per informazioni su come creare un'istanza di Azure Data Lake Archiviazione Gen 2 e abilitare un endpoint privato, vedere Effettuare il provisioning e proteggere un servizio collegato con una rete virtuale gestita.

    Screenshot of the managed private endpoints list.

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.

Configurare Azure Machine Learning

  1. Nella portale di Azure selezionare l'area di lavoro di Azure Machine Learning e 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 of the private endpoint approval.

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

    Screenshot of the role assignment.

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

    Screenshot of selecting contributor.

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

    Screenshot of assigning the role.

  6. Selezionare Rivedi e assegna, verificare le informazioni e 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. Da Azure Synapse Studio selezionare Sviluppo e quindi + Notebook.

    Screenshot of adding a 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 getWorkspace() chiamata. Per altre informazioni sull'uso dell'oggetto ws , vedere le informazioni di riferimento sulla classe Workspace .

Passaggi successivi