Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Sicherheitsrollen von OneLake steuern, wer auf die Daten in Ihren Fabric-Artikeln zugreifen kann. Manchmal ist es zu grob, den Zugang zu einem ganzen Gegenstand zu gewähren oder zu verweigern. Möglicherweise müssen Sie sensible Spalten ausblenden, begrenzen, welche Zeilen ein Nutzer sieht, oder nur bestimmte Tabellen offenlegen. Innerhalb einer Rolle können Sie den Zugriff auf drei Granularitätsebenen verfeinern: Objektsicherheit für Tabellen und Ordner, Spaltensicherheit (CLS) für einzelne Spalten und Zeilensicherheit (RLS) für einzelne Zeilen.
Dieser Artikel erklärt, was jede Kontrolle macht und wie OneLake sie durchsetzt. Um diese Kontrollen zu erstellen, siehe Create and manage OneLake Security Roles.
Die Sicherheitsrollen von OneLake verwenden ein Fördermodell, um Zugriff auf Daten zu gewähren. Du kannst keinen Zugang verweigern, der durch eine andere Rolle oder ein anderes Berechtigungsmodell gewährt wird. Aus diesem Grund schränken diese Kontrollen den Zugriff für Benutzer in den Rollen Admin, Mitglied und Mitwirkender auf Arbeitsflächenebene nicht ein.
Tabellen- und Ordnersicherheit
Tabellen- und Ordnersicherheit, auch Objektebene-Sicherheit (OLS) genannt, ermöglicht es Ihnen, Zugriff auf bestimmte Tabellen oder Ordner in einem Datenelement zu gewähren. Mit OLS erstellst du Berechtigungen für sowohl strukturierte als auch unstrukturierte Daten auf Ordnerebene. Da Delta Parquet-Tabellen in OneLake als Ordner dargestellt werden, können Sie Tabellen genauso sichern wie Ordner. Schemata sind auch Ordner, sodass du sie auf die gleiche Weise sichern kannst.
Sicherheit auf Säulen- und Zeilenebene
Die OneLake-Sicherheit erzwingt Sicherheit auf Spalten- und Zeilenebene auf eine von zwei Arten:
- Filtertabellen: Ein Nutzer, der eine Tabelle mit einer Fabric-Engine wie Spark-Notebooks oder einer autorisierten Drittanbieter-Engine abfragt, sieht nur die Spalten oder Zeilen, die die CLS- oder RLS-Regeln zulassen.
- Blocktabellen: Ein Nutzer, der eine Tabelle mit einer nicht autorisierten Drittanbieter-Engine abfragt, kann die Tabelle nicht lesen.
Die OneLake-Sicherheit kann CLS- und RLS-Regeln für Delta-Parquet-Tabellen oder virtualisierte Iceberg-Tabellen erzwingen. Regeln, die auf andere Tabellentypen angewendet werden, blockieren den Zugriff auf die gesamte Tabelle für Mitglieder der Rolle.
Wenn eine CLS- oder RLS-Regel eine Diskrepanz mit der Tabelle hat, in der sie definiert ist, schlägt die Abfrage fehl und gibt keine Daten zurück. Zum Beispiel tritt eine Fehlanpassung auf, wenn eine Regel auf eine Spalte verweist, die nicht in der Tabelle enthalten ist.
Sicherheit auf Spaltenebene
Column-Level Security (CLS) gewährt Zugriff auf ausgewählte Spalten in einer Tabelle statt auf die vollständige Tabelle. Daten in Spalten, die du aus der erlaubten Liste entfernst, sind für Nutzer nicht sichtbar.
Für mit CLS gefilterte Tabellen gelten folgende Verhaltensweisen:
- Wenn ein Benutzer eine
select *Abfrage in einer Tabelle ausführt, in der er nur auf einige der Spalten Zugriff hat, verhalten sich die CLS-Regeln je nach Fabric-Engine unterschiedlich:- Spark-Notizbücher: Die Abfrage ist erfolgreich und zeigt nur die erlaubten Spalten an.
- SQL-Analytics-Endpunkt: Die Abfrage liefert einen Fehler zurück und blockiert den Zugriff auf die Spalten, auf die der Benutzer keinen Zugriff hat.
- Semantische Modelle: Die Abfrage liefert einen Fehler zurück und blockiert den Zugriff auf die Spalten, auf die der Nutzer keinen Zugriff hat.
- Der Name einer gesicherten Spalte kann in bestimmten Erlebnissen sichtbar sein, aber die Datenwerte erscheinen nie.
Zeilenbasierte Sicherheit
Zeilenebenen-Sicherheit (RLS) definiert Zeilenebene-Datenbeschränkungen für tabellarische Daten, die in OneLake gespeichert sind. Du definierst Rollen, die Regeln zum Filtern von Datenzeilen für Mitglieder der Rolle enthalten. Wenn ein Mitglied einer RLS-Rolle die Daten abfragt, bewertet OneLake die RLS-Regeln und gibt nur die erlaubten Zeilen zurück. Zeilen sind ein Konzept, das nur für tabellarische Daten relevant ist, daher kann man RLS nicht für Nicht-Tabellenordner oder unstrukturierte Daten definieren.
Für mit RLS gefilterte Tabellen gelten folgende Verhaltensweisen:
- Der Zugriff auf eine Tabelle kann blockiert werden, wenn die RLS-Anweisung Syntaxfehler enthält, die ihre Auswertung verhindern.
Für die Syntax, die zum Schreiben von RLS-Regeln verwendet wird, siehe Zeilenebene-Sicherheitssyntax-Referenz.
Kombinieren von Sicherheit auf Zeilenebene und Sicherheit auf Spaltenebene
Sicherheit auf Zeilen- und Spaltenebene können zusammen verwendet werden, um den Benutzerzugriff auf eine Tabelle einzuschränken. Die beiden Richtlinien müssen jedoch durch eine einzige OneLake-Sicherheitsrolle angewendet werden. In diesem Szenario wird der Zugriff auf Daten gemäß den Regeln eingeschränkt, die in dieser einen Rolle festgelegt sind.
OneLake-Sicherheit unterstützt nicht die Kombination von zwei oder mehr Rollen, bei denen eine RLS-Regeln (Sicherheit auf Zeilenebene) und eine andere CLS-Regeln (Sicherheit auf Spaltenebene) enthält. Benutzende, die versuchen, auf Tabellen zuzugreifen, die Teil einer nicht unterstützten Rollenkombination sind, erhalten Abfragefehler.