Datenverwaltung

Erfahren Sie, wie Sie den Datenzugriff verwalten und wie Sie sich in Azure Machine Learning authentifizieren

GILT FÜR:Azure CLI ML-Erweiterung v2 (aktuell)Python SDK azure-ai-ml v2 (aktuell)

Wichtig

Dieser Artikel richtet sich an Azure-Administrator*innen, die die für eine Azure Machine Learning-Lösung erforderliche Infrastruktur erstellen möchten.

Anmeldeinformationsbasierte Datenauthentifizierung

Im Allgemeinen umfasst die anmeldeinformationsbasierte Datenauthentifizierung aus Studio die folgenden Überprüfungen:

  • Wurde dem Benutzer, der auf Daten aus dem anmeldeinformationsbasierten Datenspeicher zugreift, eine RBAC-Rolle mit Microsoft.MachineLearningServices/workspaces/datastores/listsecrets/action zugewiesen?
    • Diese Berechtigung ist erforderlich, um Anmeldeinformationen aus dem Datenspeicher im Namen des Benutzers abzurufen.
  • Hat die gespeicherte Anmeldeinformation (Dienstprinzipal, Kontoschlüssel oder Sas-Token) Zugriff auf die Datenressource?

Identitätsbasierte Datenauthentifizierung

Im Allgemeinen umfasst die identitätsbasierte Datenauthentifizierung aus Studio die folgenden Prüfungen:

  • Welche Benutzer*innen möchten auf die Ressourcen zugreifen?
    • Je nachdem, in welchem Zusammenhang auf die Daten zugegriffen wird, stehen verschiedene Authentifizierungstypen zur Verfügung, z. B.
      • Benutzeridentität
      • Verwaltete Computeidentität
      • Vom Arbeitsbereich verwaltete Identität
    • Aufträge, einschließlich der Option „Profil generieren“ für Datasets, werden in einer Computeressource in Ihrem Abonnement ausgeführt und greifen von dort aus auf die Daten zu. Die verwaltete Computeidentität benötigt die Berechtigung für die Speicherressource und nicht die Identität des Benutzers oder der Benutzerin, der bzw. die den Auftrag übermittelt hat.
    • Für die Authentifizierung auf der Grundlage einer Benutzeridentität müssen Sie wissen, welche bestimmten Benutzer*innen versucht haben, auf die Speicherressource zuzugreifen. Weitere Informationen zur Benutzerauthentifizierung finden Sie unter Authentifizierung für Azure Machine Learning. Weitere Informationen zur Authentifizierung auf Dienstebene finden Sie unter Authentifizierung zwischen Azure Machine Learning und anderen Diensten.
  • Verfügt dieser Benutzer über die Berechtigung zum Lesen?
    • Verfügt die Benutzeridentität oder die verwaltete Computeidentität usw. über die erforderlichen Berechtigungen für diese Speicherressource? Die Berechtigungen werden über die rollenbasierte Zugriffssteuerung von Azure (Role-Based Access Controls, RBAC) gewährt.
    • Der Leser des Speicherkontos liest die Speichermetadaten.
    • Der Speicher-Blob-Datenleser liest und listet Blob-Speichercontainer und Blobs auf.
    • Weitere integrierte Azure-Rollen für den Speicher finden Sie hier.
  • Verfügt dieser Benutzer über die Berechtigung zum Schreiben?
    • Verfügt die Benutzeridentität oder die verwaltete Computeidentität usw. über die erforderlichen Berechtigungen für diese Speicherressource? Die Berechtigungen werden über die rollenbasierte Zugriffssteuerung von Azure (Role-Based Access Controls, RBAC) gewährt.
    • Der Leser des Speicherkontos liest die Speichermetadaten.
    • Der Mitwirkende von Speicher-Blobdaten liest, schreibt und löscht Azure Storage-Container und Blobs.
    • Weitere integrierte Azure-Rollen für den Speicher finden Sie hier.

Weitere allgemeine Überprüfungen auf Authentifizierung

  • Woher erfolgt der Zugriff?
    • Benutzer: Befindet sich die Client-IP-Adresse im VNet-/Subnetzbereich?
    • Arbeitsbereich: Ist der Arbeitsbereich öffentlich oder verfügt er über einen privaten Endpunkt in einem VNet/Subnetz?
    • Speicher: Lässt der Speicher öffentlichen Zugriff zu oder schränkt er den Zugriff über einen Dienstendpunkt oder einen privaten Endpunkt ein?
  • Welcher Vorgang wird ausgeführt?
    • CRUD-Vorgänge (Create, Read, Update, Delete) für einen Datenspeicher/ein Dataset werden von Azure Machine Learning verarbeitet.
    • Archivierungsvorgänge für Datenobjekte in Studio erfordern diesen RBAC-Vorgang: Microsoft.MachineLearningServices/workspaces/datasets/registered/delete
    • Datenzugriffsaufrufe (z. B. Vorschau oder Schema) wechseln zum zugrunde liegenden Speicher und benötigen zusätzliche Berechtigungen.
  • Wird dieser Vorgang in den Computeressourcen in Ihrem Azure-Abonnement oder in den in einem Microsoft-Abonnement gehosteten Ressourcen ausgeführt?
    • Alle Aufrufe von Dataset- und Datenspeicherdiensten (mit Ausnahme der Option "Profil generieren") verwenden Ressourcen, die in einem Microsoft-Abonnement gehostet werden, um die Vorgänge auszuführen.
    • Aufträge, einschließlich der Option „Profil generieren“ für Datasets, werden in einer Computeressource in Ihrem Abonnement ausgeführt und greifen von dort aus auf die Daten zu. Die Computeidentität benötigt die Berechtigung für die Speicherressource und nicht die Identität des Benutzers oder der Benutzerin, der bzw. die den Auftrag übermittelt hat.

Das folgende Diagramm zeigt den allgemeinen Ablauf eines Datenzugriffsaufrufs. Hier versucht ein*eine Benutzer*in, einen Datenzugriffsaufruf über einen Machine Learning-Arbeitsbereich ohne Computeressource auszuführen.

Diagramm: Logikfluss beim Zugreifen auf Daten

Szenarien und Identitäten

In dieser Tabelle sind die Identitäten aufgeführt, die für bestimmte Szenarien verwendet werden:

Szenario Verwenden des Arbeitsbereichs
Verwaltete Dienstidentität (Managed Service Identity, MSI)
Zu verwendende Identität
Zugriff über Benutzeroberfläche Ja Arbeitsbereichs-MSI
Zugriff über Benutzeroberfläche Nein Identität des Benutzers
Zugriff über Auftrag Ja/Nein Compute-MSI
Zugriff über Notebook Ja/Nein Identität des Benutzers

Der Datenzugriff ist komplex und umfasst viele Teile. Der Datenzugriff aus Azure Machine Learning Studio unterscheidet sich beispielsweise von der Verwendung des SDK für den Datenzugriff. Wenn Sie das SDK in Ihrer lokalen Entwicklungsumgebung verwenden, greifen Sie direkt auf Daten in der Cloud zu. Wenn Sie Studio verwenden, greifen Sie nicht immer direkt von Ihrem Client aus auf den Datenspeicher zu. Studio nutzt den Arbeitsbereich, um in Ihrem Namen auf Daten zuzugreifen.

Tipp

Wenn Sie auf Daten von außerhalb von Azure Machine Learning zugreifen, z. B. mithilfe von Azure Storage-Explorer, wird für den Zugriff wahrscheinlich die Benutzeridentität verwendet. Lesen Sie die Dokumentation des von Ihnen verwendeten Tools oder Diensts, um bestimmte Informationen zu erhalten. Weitere Informationen dazu, wie Azure Machine Learning mit Daten arbeitet, finden Sie unter Einrichten der Authentifizierung zwischen Azure Machine Learning und anderen Diensten.

Azure Storage-Konto

Wenn Sie ein Azure Storage-Konto aus Azure Machine Learning Studio verwenden, müssen Sie die verwaltete Identität des Arbeitsbereichs den folgenden Azure RBAC-Rollen für das Speicherkonto hinzufügen:

  • Leser von Blobdaten
  • Wenn das Speicherkonto einen privaten Endpunkt für die Verbindung mit dem VNet verwendet, müssen Sie der verwalteten Identität die Rolle Leser für den privaten Endpunkt des Speicherkontos zuweisen.

Weitere Informationen finden Sie unter Verwenden von Azure Machine Learning Studio in einem virtuellen Azure-Netzwerk.

In den folgenden Abschnitten sind die Einschränkungen bei der Verwendung eines Azure Storage-Kontos mit Ihrem Arbeitsbereich in einem VNet erläutert.

Sichere Kommunikation mit Azure Storage-Konto

Um die Kommunikation zwischen Azure Machine Learning und Azure Storage-Konten zu schützen, konfigurieren Sie den Speicher so, dass der Zugriff auf vertrauenswürdige Azure-Dienste gewährt wird.

Azure Storage-Firewall

Wenn sich ein Azure Storage-Konto hinter einem virtuellen Netzwerk befindet, kann die Speicherfirewall normalerweise verwendet werden, damit Ihr Client eine direkte Verbindung über das Internet herstellen kann. Bei Verwendung von Studio stellt Ihr Client jedoch keine Verbindung mit dem Speicherkonto her. Die Azure Machine Learning Service-Instanz, die die Anforderung sendet, stellt eine Verbindung mit dem Speicherkonto her. Die IP-Adresse des Diensts wird nicht dokumentiert und ändert sich häufig. Wenn Sie die Speicherfirewall aktivieren, kann Studio nicht auf das Speicherkonto in einer VNet-Konfiguration zugreifen.

Azure Storage Endpunkttyp

Wenn der Arbeitsbereich einen privaten Endpunkt verwendet und sich das Speicherkonto auch im VNet befindet, gelten für die Verwendung von Studio zusätzliche Überprüfungsanforderungen:

  • Wenn das Speicherkonto einen Dienstendpunkt verwendet, müssen sich der private Endpunkt des Arbeitsbereichs und der Speicherdienstendpunkt im gleichen Subnetz des VNet befinden.
  • Wenn das Speicherkonto einen privaten Endpunkt verwendet, müssen sich der private Endpunkt des Arbeitsbereichs und der des Speichers im gleichen VNet befinden. In diesem Fall können sie sich in unterschiedlichen Subnetzen befinden.

Azure Data Lake Storage Gen1

Wenn Sie Azure Data Lake Storage Gen1 als Datenspeicher verwenden, können Sie nur Zugriffssteuerungslisten im POSIX-Stil nutzen. Sie können der verwalteten Identität des Arbeitsbereichs wie jedem anderen Sicherheitsprinzipal Zugriff auf Ressourcen zuweisen. Weitere Informationen finden Sie unter Zugriffssteuerung in Azure Data Lake Storage Gen1.

Azure Data Lake Storage Gen2

Beim Verwenden von Azure Data Lake Storage Gen2 als Datenspeicher können Sie den Datenzugriff in einem virtuellen Netzwerk sowohl per Azure RBAC als auch mit POSIX-Zugriffssteuerungslisten (Access Control Lists, ACLs) steuern.

Um Azure RBAC zu verwenden, führen Sie die im Abschnitt Datenspeicher: Azure Storage-Konto dieses Artikels beschriebenen Schritte aus. Data Lake Storage Gen2 basiert auf Azure Storage, sodass die gleichen Schritte gelten, wenn Sie Azure RBAC verwenden.

Für die Verwendung von ACLs kann der verwalteten Identität des Arbeitsbereichs wie jedem anderen Sicherheitsprinzipal Zugriff gewährt werden. Weitere Informationen finden Sie unter Zugriffssteuerungslisten für Dateien und Verzeichnisse.

Nächste Schritte

Informationen zum Aktivieren von Studio in einem Netzwerk finden Sie unter Verwenden von Azure Machine Learning Studio in einem virtuellen Azure-Netzwerk.