Azure Synapse-Zugriffssteuerung

Dieser Artikel bietet eine Übersicht über die verfügbaren Mechanismen zum Steuern des Zugriffs auf Azure Synapse-Computeressourcen und -Daten.

Übersicht

Azure Synapse bietet ein umfassendes und differenziertes Zugriffssteuerungssystem, in das folgende Mechanismen integriert sind:

  • Azure-Rollen für die Ressourcenverwaltung und den Zugriff auf Daten im Speicher
  • Synapse-Rollen für die Verwaltung des Livezugriffs auf Code und die Ausführung
  • SQL-Rollen für den Zugriff auf Datenebene auf Daten in SQL-Pools und
  • Git-Berechtigungen für die Quellcodeverwaltung, einschließlich Unterstützung für Continuous Integration und Deployment

Azure Synapse-Rollen bieten Berechtigungssätze, die auf verschiedene Bereiche angewandt werden können. Dank dieser Granularität ist es ganz einfach, Administratoren, Entwicklern, Sicherheitspersonal und Operatoren den entsprechenden Zugriff auf Computeressourcen und Daten zu gewähren.

Die Zugriffssteuerung kann mithilfe von Sicherheitsgruppen, die auf die Aufgabengebiete der Benutzer zugeschnitten sind, vereinfacht werden. Um den Zugriff zu verwalten, müssen Sie lediglich den entsprechenden Sicherheitsgruppen Benutzer hinzufügen bzw. daraus entfernen.

Elemente der Zugriffssteuerung

Erstellen und Verwalten von Azure Synapse-Rechenressourcen

Mit Azure-Rollen wird die Verwaltung folgender Ressourcen gesteuert:

  • Dedizierte SQL-Pools
  • Datenexplorer-Pools
  • Apache Spark-Pools
  • Integration Runtimes

Um diese Ressourcen erstellen zu können, müssen Sie ein Azure-Besitzer oder ein Mitwirkender für die Ressourcengruppe sein. Um sie nach der Erstellung verwalten zu können, müssen Sie ein Azure-Besitzer oder ein Mitwirkender für die Ressourcengruppe oder die einzelnen Ressourcen sein.

Ein Azure-Besitzer oder -Mitwirkender kann die ausschließliche Microsoft Entra-Authentifizierung für Azure Synapse-Arbeitsbereiche aktivieren oder deaktivieren. Weitere Informationen zur ausschließlichen Microsoft Entra-Authentifizierung finden Sie unter Deaktivieren der lokalen Authentifizierung in Azure Synapse Analytics.

Entwicklung und Ausführung von Code in Azure Synapse

Synapse unterstützt zwei Entwicklungsmodelle.

  • Synapse-Liveentwicklung. Sie entwickeln und debuggen Code in Synapse Studio und veröffentlichen den Code anschließend, um ihn zu speichern und auszuführen. Der Synapse-Dienst ist die „Source of Truth“ (Quelle der Wahrheit) für die Codebearbeitung und -ausführung. Nicht veröffentlichte Arbeit geht verloren, wenn Sie Synapse Studio schließen.
  • Entwicklung mit Aktivierung von Git. Sie entwickeln und debuggen Code in Synapse Studio und committen Änderungen in einen Arbeitsbranch eines Git-Repositorys. Die Arbeit aus einem oder mehreren Branches wird in einen Kollaborationsbranch eingebunden, über den Sie sie im Dienst veröffentlichen können. Das Git-Repository ist die Source of Truth für die Codebearbeitung und der Dienst die Source of Truth für die Ausführung. Änderungen müssen vor dem Schließen von Synapse Studio in das Git-Repository committet oder im Dienst veröffentlicht werden. Weitere Informationen zur Verwendung von Synapse Analytics mit Git finden Sie hier.

Bei beiden Entwicklungsmodellen kann jeder Benutzer mit Zugriff auf Synapse Studio Codeartefakte erstellen. Sie benötigen jedoch zusätzliche Berechtigungen, um Artefakte im Dienst zu veröffentlichen, veröffentlichte Artefakte zu lesen, Änderungen in Git zu committen, Code auszuführen und auf verknüpfte Daten zuzugreifen, die durch Anmeldeinformationen geschützt sind. Benutzer*innen müssen über die Azure-Rolle „Mitwirkender“ (Azure RBAC) oder eine Rolle mit mehr Berechtigungen für den Synapse-Arbeitsbereich verfügen, um ein Git-Repository zu konfigurieren, die Einstellungen dafür zu bearbeiten und dessen Verbindung mit Synapse zu trennen.

Azure-Synapse-Rollen

Azure Synapse-Rollen werden verwendet, um den Zugriff auf den Synapse-Dienst zu steuern. Unterschiedliche Rollen können Ihnen Folgendes gestatten:

  • Auflisten veröffentlichter Codeartefakte
  • Veröffentlichen von Codeartefakten, verknüpften Diensten und Anmeldeinformationsdefinitionen
  • Ausführen von Codes oder Pipelines, die Synapse-Computeressourcen verwenden
  • Ausführen von Codes oder Pipelines, die auf verknüpfte Daten zugreifen, die durch Anmeldeinformationen geschützt sind
  • Anzeigen von Ausgaben, die veröffentlichten Codeartefakten zugeordnet sind
  • Überwachen des Computeressourcenstatus und Anzeigen von Laufzeitprotokollen

Azure-Synapse-Rollen können auf der Ebene des Arbeitsbereichs oder auf einer feineren Ebene zugewiesen werden, um die für bestimmte Azure-Synapse-Ressourcen gewährten Berechtigungen zu begrenzen.

Git-Berechtigungen

Bei der Verwendung von Git-aktivierter Entwicklung im Git-Modus benötigen Sie zusätzlich zu den Synapse-Benutzer- oder Synapse-RBAC-Rollen (rollenbasierte Zugriffskontrolle) Git-Berechtigungen, um Code-Artefakte zu lesen, einschließlich verknüpfter Dienst- und Berechtigungsdefinitionen. Um Änderungen an Code-Artefakten im Git-Modus zu übertragen, benötigen Sie Git-Berechtigungen sowie die Rolle „Synapse Artifact Publisher“ (Synapse RBAC) (Herausgeber von Synapse-Artefakten).

Zugriff auf Daten in SQL

Wenn Sie mit dedizierten und serverlosen SQL-Pools arbeiten, wird der Zugriff auf Datenebene mithilfe von SQL-Berechtigungen gesteuert.

Der Ersteller eines Arbeitsbereichs wird als Active Directory-Administrator des Arbeitsbereichs zugewiesen. Nach der Erstellung kann diese Rolle im Azure-Portal einem anderen Benutzer oder einer Sicherheitsgruppe zugewiesen werden.

Serverlose SQL-Pools:Synapse-Administratoren werden Berechtigungen vom Typ db_owner (DBO) für den serverlosen SQL-Pool „Integriert“ erteilt. Um anderen Benutzerzugriff auf den serverlosen SQL-Pool zu gewähren, müssen Synapse-Administrator SQL-Skripts für den serverlosen Pool ausführen.

Dedizierte SQL-Pools: Synapse-Administratoren haben vollen Zugriff auf Daten in dedizierten SQL-Pools und die Möglichkeit, anderen Benutzern Zugriff zu gewähren. Synapse-Administratoren können auch Konfigurations- und Wartungsaktivitäten für dedizierte Pools durchführen, mit Ausnahme des Löschens von Datenbanken. Die Active Directory-Administratorberechtigung wird dem Ersteller des Arbeitsbereichs und der Arbeitsbereichs-MSI (Managed Service Identity, verwaltete Dienstidentität) erteilt. Die Berechtigung für den Zugriff auf dedizierte SQL-Pools wird nicht automatisch gewährt. Um anderen Benutzern oder Gruppen Zugriff auf dedizierte SQL-Pools zu gewähren, muss der Active Directory-Administrator oder der Synapse-Administrator SQL-Skripts für jeden dedizierten SQL-Pool ausführen.

Beispiele für SQL-Skripts zum Erteilen von SQL-Berechtigungen für SQL-Pools finden Sie unter Einrichten der Synapse-Zugriffssteuerung.

Zugriff auf Daten in Data Explorer-Pools

Bei der Arbeit mit Data Explorer-Pools wird der Zugriff auf die Datenebene durch Data Explorer-Berechtigungen gesteuert. Synapse-Administratoren erhalten All Database admin Berechtigungen für Data Explorer-Pools. Um anderen Benutzern oder Gruppen Zugriff auf Data Explorer-Pools zu gewähren, sollten Synapse-Administratoren Sicherheitsrollenverwaltung beachten. Weitere Informationen zum Zugriff auf die Datenebene finden Sie unter Übersicht über die Zugriffskontrolle im Data Explorer.

Zugreifen auf systemseitig verwaltete Daten im Speicher

Serverlose SQL-Pools und Apache Spark-Tabellen speichern Daten in einem ADLS Gen2-Container, der dem Arbeitsbereich zugeordnet ist. Vom Benutzer installierte Apache Spark-Bibliotheken werden auch unter demselben Speicherkonto verwaltet. Zur Unterstützung dieser Anwendungsfälle muss Benutzern und der Arbeitsbereichs-MSI das Zugriffsrecht Mitwirkender an Storage-Blobdaten für diesen ADLS Gen2-Speichercontainer des Arbeitsbereichs erteilt werden.

Verwenden von Sicherheitsgruppen als bewährte Methode

Um die Verwaltung der Zugriffssteuerung zu vereinfachen, können Sie einzelnen Benutzern und Gruppen mithilfe von Sicherheitsgruppen Rollen zuweisen. Sicherheitsgruppen können erstellt werden, um Personas oder Tätigkeitsbereiche in Ihrer Organisation zu spiegeln, die Zugriff auf Synapse-Ressourcen oder -Artefakte benötigen. Diesen auf Personas beruhenden Sicherheitsgruppen können dann eine oder mehrere Azure-Rollen, Synapse-Rollen, SQL-Berechtigungen oder Git-Berechtigungen zugewiesen werden. Mit gut gewählten Sicherheitsgruppen können Sie Benutzern problemlos die erforderlichen Berechtigungen zuweisen, indem Sie sie der entsprechenden Sicherheitsgruppe hinzufügen.

Hinweis

Wenn Sie den Zugriff mithilfe von Sicherheitsgruppen verwalten, werden Änderungen mit einer zusätzlichen durch Microsoft Entra ID verursachten Wartezeit wirksam.

Erzwingung der Zugriffssteuerung in Synapse Studio

Synapse Studio verhält sich je nach Berechtigungen und aktuellem Modus unterschiedlich:

  • Synapse-Livemodus: Synapse Studio verhindert, dass Sie veröffentlichte Inhalte anzeigen, Inhalte veröffentlichen oder andere Aktionen ausführen, wenn Sie nicht über die erforderliche Berechtigung verfügen. In einigen Fällen ist die Erstellung von Codeartefakten, die Sie nicht verwenden oder speichern können, nicht möglich.
  • Git-Modus: Wenn Sie über Git-Berechtigungen verfügen, die das Committen von Änderungen in den aktuellen Branch erlauben, ist die Commitaktion zulässig, wenn Sie über die Berechtigung zum Veröffentlichen von Änderungen im Livedienst (Rolle „Herausgeber von Synapse-Artefakten“) verfügen.

In einigen Fällen können Sie auch ohne Berechtigung zum Veröffentlichen oder Committen Codeartefakte erstellen. Dies ermöglicht Ihnen das Ausführen von Code (mit den erforderlichen Ausführungsberechtigungen). Weitere Informationen zu den Rollen, die für allgemeine Aufgaben erforderlich sind, finden Sie unter Grundlegendes zu den erforderlichen Rollen zum Ausführen allgemeiner Aufgaben in Azure Synapse.

Wenn eine Funktion in Synapse Studio deaktiviert ist, wird die erforderliche Berechtigung in einer QuickInfo angezeigt. Die erforderlichen Rollen zum Bereitstellen der fehlenden Berechtigungen können Sie im Leitfaden zu den RBAC-Rollen von Synapse nachlesen.

Nächste Schritte