Granulare SQL-Berechtigungen in Microsoft Fabric

Gilt für: SQL-Analyseendpunkt und Warehouse in Microsoft Fabric

Wenn die Standardberechtigungen nicht ausreichen, die durch die Zuweisung zu Arbeitsbereichsrollen bereitgestellt oder über Elementberechtigungen gewährt werden, stehen SQL-Standardkonstrukte für eine präzisere Steuerung zur Verfügung.

Für SQL-Analyseendpunkt und -Warehouse:

  • Die Sicherheit auf Objektebene kann mithilfe der T-SQL-Syntax GRANT, REVOKE und DENY verwaltet werden.
  • Benutzer*innen können SQL-Rollen zugewiesen werden, sowohl benutzerdefinierten als auch integrierten Datenbankrollen.

Berechtigungen mit granularem Benutzerzugriff

  • Damit Benutzer*innen eine Verbindung mit der Datenbank herstellen können, muss diesen eine Arbeitsbereichsrolle oder die Berechtigung Lesen zugewiesen werden. Ohne mindestens der Leseberechtigung tritt bei der Verbindung ein Fehler auf.
  • Wenn Sie die granularen Berechtigungen von Benutzer*innen einrichten möchten, bevor diese eine Verbindung mit dem Warehouse herstellen können, können Berechtigungen zuerst in SQL eingerichtet werden. Anschließend können sie Zugriff erhalten, indem Sie sie einer Arbeitsbereichsrolle zuweisen oder Elementberechtigungen erteilen.

Begrenzungen

  • In Microsoft Fabric kann CREATE USER derzeit nicht explizit ausgeführt werden. Wenn GRANT oder DENY ausgeführt wird, wird der Benutzer automatisch erstellt. Benutzer*innen können erst dann eine Verbindung herstellen, wenn ausreichende Rechte auf Arbeitsbereichsebene erteilt wurden.

Anzeigen meiner Berechtigungen

Wenn ein*e Benutzer*in eine Verbindung mit der SQL-Verbindungszeichenfolge herstellt, kann er bzw. sie die verfügbaren Berechtigungen mithilfe der Funktion sys.fn_my_permissions anzeigen.

Datenbankbezogene Berechtigungen eines Benutzers bzw. einer Benutzerin:

SELECT *
FROM sys.fn_my_permissions(NULL, 'Database');

Schemabezogene Berechtigungen des Benutzers bzw. der Benutzerin:

SELECT *
FROM sys.fn_my_permissions('<schema-name>', 'Schema');

Objektbezogene Berechtigungen des Benutzers bzw. der Benutzerin:

SELECT *
FROM sys.fn_my_permissions('<schema-name>.<object-name>', 'Object');

Anzeigen von Berechtigungen, die Benutzer*innen explizit gewährt werden

Wenn eine Verbindung über die SQL-Verbindungszeichenfolge hergestellt wird, können Benutzer*innen mit erweiterten Berechtigungen die erteilten Berechtigungen mithilfe von Systemansichten abfragen. Dadurch werden den Benutzer*innen keine Benutzerberechtigungen angezeigt, die Benutzer*innen durch Zuweisung von Arbeitsbereichsrollen oder zugewiesenen Elementberechtigungen erteilt werden.

SELECT DISTINCT pr.principal_id, pr.name, pr.type_desc, 
 pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
INNER JOIN sys.database_permissions AS pe
 ON pe.grantee_principal_id = pr.principal_id;

Datenschutzfunktionen

Sie können Spaltenfilter und prädikatbasierte Zeilenfilter für Tabellen in einem Warehouse oder SQL-Analyseendpunkt für Rollen und Benutzer*innen in Microsoft Fabric schützen. Sie können außerdem vertrauliche Daten von Nicht-Administrator*innen mithilfe der dynamischen Datenmaskierung maskieren.