Freigeben über


Sicheres Integrieren von Azure Machine Learning und Azure Synapse

In diesem Artikel erfahren Sie, wie Sie Azure Machine Learning von Azure Synapse sicher integrieren können. Mit dieser Integration können Sie Azure Machine Learning aus Notebooks in Ihrem Azure Synapse-Arbeitsbereich verwenden. Die Kommunikation zwischen den beiden Arbeitsbereichen wird mithilfe einer Azure Virtual Network-Instanz gesichert.

Voraussetzungen

  • Ein Azure-Abonnement.

  • Ein Azure Machine Learning-Arbeitsbereich mit einem privaten Endpunkt, der mit einem virtuellen Netzwerk verbunden ist. Die folgenden vom Arbeitsbereich abhängigen Dienste müssen ebenfalls über einen privaten Endpunkt mit dem virtuellen Netzwerk verbunden sein:

    • Azure Storage-Konto

      Tipp

      Für das Speicherkonto gibt es drei separate private Endpunkte: jeweils einen für Blob, Datei und DFS.

    • Azure-Schlüsseltresor

    • Azure Container Registry

    Eine schnelle und einfache Möglichkeit zum Erstellen dieser Konfiguration ist die Verwendung einer Bicep-Vorlage oder Terraform-Vorlage.

  • Ein Azure Synapse-Arbeitsbereich in einem verwalteten virtuellen Netzwerk unter Verwendung eines verwalteten privaten Endpunkts. Weitere Informationen finden Sie unter Azure Synapse Analytics: verwaltetes virtuelles Netzwerk.

    Warnung

    Die Azure Machine Learning-Integration wird in Synapse-Arbeitsbereichen mit Schutz vor Datenexfiltration derzeit nicht unterstützt. Aktivieren Sie bei der Konfiguration Ihres Azure Synapse Arbeitsbereichs nicht den Schutz vor Datenexfiltration. Weitere Informationen finden Sie unter Azure Synapse Analytics: verwaltetes virtuelles Netzwerk.

    Hinweis

    Für die Schritte in diesem Artikel gelten die folgenden Annahmen:

    • Der Azure Synapse-Arbeitsbereich befindet sich in einer anderen Ressourcengruppe als der Azure Machine Learning-Arbeitsbereich.
    • Der Azure Synapse-Arbeitsbereich verwendet ein verwaltetes virtuelles Netzwerk. Das verwaltete virtuelle Netzwerk sichert die Konnektivität zwischen Azure Synapse und Azure Machine Learning. Der Zugriff auf den Arbeitsbereich von Azure Synapse wird dadurch nicht eingeschränkt. Sie werden über das öffentliche Internet auf den Arbeitsbereich zugreifen.

Grundlegendes zur Netzwerkkommunikation

In dieser Konfiguration verwendet Azure Synapse einen verwalteten privaten Endpunkt und ein virtuelles Netzwerk. Das verwaltete virtuelle Netzwerk und der private Endpunkt sichern die interne Kommunikation von Azure Synapse zu Azure Machine Learning, indem der Datenverkehr auf das virtuelle Netzwerk beschränkt wird. Die Kommunikation zwischen Ihrem Client und dem Azure Synapse-Arbeitsbereich wird dadurch nicht eingeschränkt.

Azure Machine Learning bietet keine verwalteten privaten Endpunkte oder virtuellen Netzwerke und verwendet stattdessen einen benutzerseitig verwalteten, privaten Endpunkt und ein virtuelles Netzwerk. In dieser Konfiguration ist sowohl die interne Kommunikation als auch die Kommunikation zwischen Client und Dienst auf das virtuelle Netzwerk beschränkt. Wenn Sie z. B. von außerhalb des virtuellen Netzwerks direkt auf das Azure Machine Learning-Studio zugreifen möchten, würden Sie eine der folgenden Optionen verwenden:

  • Erstellen Sie einen virtuellen Azure-Computer innerhalb des virtuellen Netzwerks und verwenden Sie Azure Bastion, um eine Verbindung mit diesem herzustellen. Stellen Sie dann über den virtuellen Computer eine Verbindung mit Azure Machine Learning her.
  • Erstellen Sie ein VPN-Gateway oder verwenden Sie ExpressRoute, um Clients mit dem virtuellen Netzwerk zu verbinden.

Da der Azure Synapse-Arbeitsbereich öffentlich zugänglich ist, können Sie mit ihm eine Verbindung herstellen, ohne ein VPN-Gateway oder ähnliches erstellen zu müssen. Der Synapse-Arbeitsbereich stellt eine sichere Verbindung mit Azure Machine Learning über das virtuelle Netzwerk her. Azure Machine Learning und seine Ressourcen werden innerhalb des virtuellen Netzwerks geschützt.

Wenn Sie Datenquellen hinzufügen, können Sie diese auch hinter dem virtuellen Netzwerk sichern. Beispiel: Das Herstellen einer sicheren Verbindung mit einem Azure Storage-Konto oder mit Data Lake Store Gen 2 über das virtuelle Netzwerk.

Weitere Informationen finden Sie in den folgenden Artikeln:

Konfigurieren von Azure Synapse

Wichtig

Bevor Sie diese Schritte ausführen, benötigen Sie einen Azure Synapse-Arbeitsbereich, der für die Verwendung eines verwalteten virtuellen Netzwerks konfiguriert ist. Weitere Informationen finden Sie unter Azure Synapse Analytics: verwaltetes virtuelles Netzwerk.

  1. Erstellen Sie in Azure Synapse Studio einen neuen mit Azure Machine Learning verknüpften Dienst.

  2. Nachdem Sie den verknüpften Dienst erstellt und veröffentlicht haben, wählen Sie Verwalten, Verwaltete private Endpunkte und dann + Neu in Azure Synapse Studio aus.

    Screenshot des Dialogfelds „Verwaltete private Endpunkte“.

  3. Suchen Sie auf der Seite Neuer verwalteter privater Endpunkt nach Azure Machine Learning, und wählen Sie die Kachel aus.

    Screenshot der Auswahl von Azure Machine Learning.

  4. Wenn Sie aufgefordert werden, den Azure Machine Learning-Arbeitsbereich auszuwählen, verwenden Sie das Azure-Abonnement und den Azure Machine Learning-Arbeitsbereich, den Sie zuvor als verknüpften Dienst hinzugefügt haben. Wählen Sie Erstellen aus, um den Endpunkt zu erstellen.

    Screenshot des Dialogfelds „Neuer privater Endpunkt“.

  5. Der Endpunkt wird als Bereitstellung aufgeführt, bis er erstellt worden ist. Nach dem Erstellen wird in der Spalte Genehmigung der Status Ausstehend angezeigt. Sie genehmigen den Endpunkt im Abschnitt Konfigurieren von Azure Machine Learning.

    Hinweis

    Im folgenden Screenshot wurde ein verwalteter privater Endpunkt für Azure Data Lake Storage Gen 2 erstellt, das diesem Synapse-Arbeitsbereich zugeordnet ist. Informationen darüber, wie Sie eine Azure Data Lake Storage Gen 2-Instanz erstellen und einen privaten Endpunkt dafür aktivieren, finden Sie unter Bereitstellen und Schützen eines verknüpften Diensts mit verwaltetem VNet.

    Screenshot der Liste „Verwaltete private Endpunkte“.

Erstellen eines Spark-Pools

Sie verwenden einen Apache Spark-Pool, um zu überprüfen, ob die Integration von Azure Synapse und Azure Machine Learning funktioniert. Informationen zum Erstellen eines Spark-Pools finden Sie unter Erstellen eines Spark-Pools.

Konfigurieren von Azure Machine Learning

  1. Wählen Sie im Azure-Portal Ihren Azure Machine Learning-Arbeitsbereich und dann Netzwerk aus.

  2. Wählen Sie Private Endpunkte und dann den Endpunkt aus, den Sie in den vorherigen Schritten erstellt haben. Der Status sollte Ausstehend sein. Wählen Sie Genehmigen aus, um die Endpunktverbindung zu genehmigen.

    Screenshot der Genehmigung des privaten Endpunkts.

  3. Wählen Sie im linken Bereich der Seite die Option Zugriffssteuerung (IAM) aus. Wählen Sie + Hinzufügen und dann Rollenzuweisung aus.

    Screenshot der Rollenzuweisung.

  4. Wählen Sie privilegierte Administratorrollen, Mitwirkender und dann Weiter aus.

    Screenshot der Auswahl von Mitwirkenden.

  5. Wählen Sie die Option Benutzer, Gruppe oder Dienstprinzipal und dann + Mitglieder auswählen aus. Geben Sie den Namen der zuvor erstellten Identität ein, wählen Sie sie aus, und verwenden Sie dann die Schaltfläche Auswählen.

    Screenshot der Zuweisung der Rolle.

  6. Wählen Sie Überprüfen und zuweisen aus, überprüfen Sie die Informationen, und wählen Sie dann die Schaltfläche Überprüfen und zuweisen aus.

    Tipp

    Es kann einige Minuten dauern, bis der Azure Machine Learning-Arbeitsbereich den Cache für Anmeldeinformationen aktualisiert hat. Bis zur Aktualisierung können Fehler auftreten, wenn Sie versuchen, von Synapse aus auf den Azure Machine Learning-Arbeitsbereich zuzugreifen.

Überprüfen der Konnektivität

  1. Wählen Sie in Azure Synapse Studio die Option Entwickeln und dann + Notebook aus.

    Screenshot des Hinzufügens eines Notebooks.

  2. Wählen Sie im Feld Anfügen an den Apache Spark-Pool für Ihren Azure Synapse-Arbeitsbereich aus, und geben Sie den folgenden Code in die erste Zelle ein:

    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)
    

    Wichtig

    Dieser Codeschnipsel stellt mithilfe des SDK v1 eine Verbindung mit dem verknüpften Arbeitsbereich her und gibt dann die Informationen zum Arbeitsbereich aus. In der gedruckten Ausgabe ist der angezeigte Wert der Name des Azure Machine Learning-Arbeitsbereichs, nicht der Name des verknüpften Diensts, der im Aufruf getWorkspace() verwendet wurde. Weitere Informationen zur Verwendung des ws-Objekts finden Sie in der Workspace-Klassenreferenz.

Nächste Schritte