Übersicht über die Zugriffssteuerung für Azure Synapse-Arbeitsbereiche
Dieser Artikel bietet eine Übersicht über die verfügbaren Mechanismen zum Steuern des Zugriffs auf Azure Synapse-Computeressourcen und -Daten.
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
- Git-Berechtigungen für die Quellcodeverwaltung, einschließlich Unterstützung für Continuous Integration und Bereitstellung
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.
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.
Besitzende und Mitwirkende können die ausschließliche Microsoft Entra-Authentifizierung für Azure Synapse-Arbeitsbereiche aktivieren oder deaktivieren. Weitere Informationen zur reinen Microsoft Entra-Authentifizierung finden Sie unter Verwenden der Microsoft Entra-Authentifizierung für die Authentifizierung mit Synapse SQL.
Synapse unterstützt zwei Entwicklungsmodelle.
Synapse-Liveentwicklung: Sie entwickeln und debuggen Code in Synapse Studio und veröffentlichen diesen 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 Git-Einbindung: 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. Informationen zur Verwendung von Synapse Analytics mit Git finden Sie unter Continuous Integration und Continuous Delivery für einen Azure Synapse Analytics-Arbeitsbereich.
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. Benutzende müssen über die Azure-Rolle „Mitwirkende“ 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 die Verbindung mit Synapse zu trennen.
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 Code oder Pipelines, die Synapse-Computeressourcen verwenden
- Ausführen von Code 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.
Für die Entwicklung mit Git im Git-Modus benötigen Sie zusätzlich zu den Rollen „Synapse-Benutzende“ oder „Synapse-RBAC“ (rollenbasierte Zugriffssteuerung) 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“ (Herausgeben von Synapse-Artefakten).
Für dedizierte und serverlose SQL-Pools 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-Administrierenden 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 Zugriffssteuerung für Ihren Azure Synapse-Arbeitsbereich.
Für 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.
Serverlose SQL-Pools und Apache Spark-Tabellen speichern ihre Daten in einem Azure Data Lake Storage 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 Benutzenden und der Arbeitsbereichs-MSI das Zugriffsrecht Mitwirkende an Storage-Blobdaten für diesen Azure Data Lake Storage-Container des Arbeitsbereichs erteilt werden.
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.
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 Current Branch erlauben, ist die Commitaktion zulässig, wenn Sie über die Berechtigung zum Veröffentlichen von Änderungen im Livedienst (Rolle „Herausgeben 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.