Freigeben über


Sicherheit auf Spaltenebene in OneLake (Vorschau)

Die Sicherheit auf Spaltenebene (CLS) ist ein Feature von OneLake-Sicherheit (Vorschau), mit dem Sie Zugriff auf ausgewählte Spalten in einer Tabelle haben können, anstatt vollzugriff auf die Tabelle. Mit CLS können Sie eine Teilmenge von Tabellen angeben, auf die Benutzer zugreifen können. Alle Spalten, die aus der Liste entfernt werden, sind für die Benutzenden nicht sichtbar.

Voraussetzungen

Sicherheit auf Spaltenebene erzwingen

OneLake-Sicherheits-CLS wird auf eine der folgenden beiden Arten erzwungen:

  • Gefilterte Tabellen in Fabric-Engines: Abfragen an die Fabric-Engines, z. B. Spark-Notizbücher, führen dazu, dass dem Benutzer nur die Spalten angezeigt werden, die pro CLS-Regeln angezeigt werden dürfen.
  • Gesperrter Zugriff auf Tabellen: Tabellen mit angewendeten CLS-Regeln können nicht außerhalb der unterstützten Fabric-Engines oder autorisierten Drittanbietermodulen gelesen werden, die oneLake-Sicherheit erzwingen. Der Zugriff wird für nicht autorisierte Suchmaschinen blockiert.

Für gefilterte Tabellen gelten die folgenden Verhaltensweisen:

  • CLS-Regeln beschränken nicht den Zugriff auf Benutzer mit den Rollen "Administrator", "Mitglied" und "Mitwirkender".
  • Wenn die CLS-Regel einen Konflikt mit der Tabelle aufweist, auf der sie definiert ist, schlägt die Abfrage fehl und es werden keine Spalten zurückgegeben. Dies gilt zum Beispiel, wenn CLS für eine Spalte definiert ist, die nicht Teil der Tabelle ist.
  • Abfragen von CLS-Tabellen schlagen mit einem Fehler fehl, wenn eine Person zu zwei verschiedenen Rollen gehört und eine der Rollen Sicherheit auf Zeilenebene (RLS) hat.
  • CLS-Regeln können nur für Delta-Holztischobjekte durchgesetzt werden.
    • CLS-Regeln, die auf Nicht-Delta-Tabellenobjekte angewendet werden, blockieren den Zugriff auf die gesamte Tabelle für Elemente der Rolle.
  • Wenn ein Benutzer eine select * Abfrage für eine Tabelle ausführt, in der er nur Zugriff auf einige der Spalten hat, verhalten sich CLS-Regeln je nach Fabric-Modul anders.
    • Spark-Notebooks: Die Abfrage ist erfolgreich, und es werden nur die zulässigen Spalten angezeigt.
    • SQL-Analyseendpunkt: Der Spaltenzugriff wird für die Spalten blockiert, auf die der Benutzer nicht zugreifen kann.
    • Semantikmodelle: Der Spaltenzugriff wird für die Spalten blockiert, auf die die Benutzenden keinen Zugriff haben.

Autorisierte Erzwingung des Drittanbietermoduls

Autorisierte Drittanbieter-Engines können wirksamen Spaltenzugriff für einen Benutzer aus OneLake mithilfe der autorisierten Engine-APIs abrufen und CLS während der Abfrage erzwingen. OneLake bleibt die einzige Quelle der Wahrheit, und CLS-Definitionen, die in OneLake erstellt wurden, werden konsistent für Fabric-Engines und autorisierte externe Engines angewendet.

Weitere Informationen finden Sie unter Integrieren eines Drittanbietermoduls mit OneLake-Sicherheit.

Definieren von Regeln für Sicherheit auf Spaltenebene

Sie können die Sicherheit auf Spaltenebene als Teil einer OneLake-Sicherheitsrolle für jeden Delta-Parketttisch im Abschnitt "Tabellen " eines Elements definieren. CLS wird immer für eine Tabelle angegeben und ist entweder aktiviert oder deaktiviert. Standardmäßig ist CLS deaktiviert, und Benutzer haben Zugriff auf alle Spalten. Benutzende können CLS aktivieren und Spalten aus der Liste entfernen, um den Zugriff zu widerrufen.

Wichtig

Durch das Widerrufen des Zugriffs auf eine Spalte wird der Zugriff auf diese Spalte jedoch nicht verweigert, wenn eine andere Rolle Zugriff darauf gewährt.

Führen Sie die folgenden Schritte aus, um Sicherheit auf Spaltenebene zu definieren:

  1. Navigieren Sie zu Ihrem Datenelement, und wählen Sie "OneLake-Sicherheit verwalten" (Vorschau) aus.

  2. Wählen Sie eine vorhandene Rolle aus, für die Sie die Tabellen- oder Ordnersicherheit definieren möchten, oder wählen Sie Neu aus, um eine neue Rolle zu erstellen.

  3. Wählen Sie auf der Seite mit den Rollendetails weitere Optionen (...) neben der Tabelle aus, für die Sie Sicherheit auf Spaltenebene definieren möchten, und wählen Sie dann Spaltensicherheit (Vorschau) aus.

    Screenshot der Auswahl von „Spaltensicherheit“ zum Bearbeiten der Berechtigungen für eine Tabelle

  4. Standardmäßig ist CLS für eine Tabelle deaktiviert. Wählen Sie "CLS aktivieren" aus, oder erstellen Sie eine neue Regel , um sie zu aktivieren.

    Die Benutzeroberfläche wird mit einer Liste der Spalten für diese Tabelle aufgefüllt, die den Benutzenden angezeigt werden. Standardmäßig werden alle Spalten angezeigt.

  5. Um den Zugriff auf eine Spalte einzuschränken, aktivieren Sie das Kontrollkästchen neben dem Spaltennamen, und wählen Sie dann Entfernen aus. In der Liste der zulässigen Spalten muss mindestens eine Spalte verbleiben.

  6. Wählen Sie Speichern aus, um die Rolle zu aktualisieren.

  7. Wenn Sie eine entfernte Spalte hinzufügen möchten, wählen Sie "Neue Regel" aus. Mit dieser Aktion fügen Sie am Ende der Liste einen neuen CLS-Regeleintrag hinzu. Verwenden Sie anschließend die Dropdownliste, um die Spalte auszuwählen, die Sie in den Zugriff aufnehmen möchten.

  8. Nachdem Sie die Änderungen abgeschlossen haben, wählen Sie Speichern aus.

Aktivieren der OneLake-Sicherheit für SQL-Analyseendpunkt

Bevor Sie oneLake-Sicherheit mit SQL Analytics-Endpunkt verwenden können, müssen Sie den Identitätsmodus des Benutzers aktivieren. Neu erstellte SQL-Analyseendpunkte werden standardmäßig im Identitätsmodus des Benutzers ausgeführt, daher müssen diese Schritte für vorhandene SQL-Analyseendpunkte befolgt werden.

Hinweis

Der Wechsel zum Identitätsmodus des Benutzers muss nur einmal pro SQL-Analyseendpunkt erfolgen. Endpunkte, die nicht zum Identitätsmodus des Benutzers gewechselt sind, verwenden weiterhin eine delegierte Identität, um Berechtigungen auszuwerten.

  1. Navigieren Sie zum SQL-Analyseendpunkt.

  2. Wählen Sie in der SQL Analytics-Endpunktoberfläche die Registerkarte "Sicherheit " im oberen Menüband aus.

  3. Wählen Sie die Identität des Benutzers im OneLake-Zugriffsmodus aus.

    Screenshot, der zeigt, wie die 'Benutzeridentität' ausgewählt wird, um die OneLake-Sicherheit für den SQL-Analyseendpunkt zu aktivieren.

  4. Wählen Sie in der Eingabeaufforderung "Ja" aus, und verwenden Sie die Identität des Benutzers.

    Screenshot der Benutzeraufforderung, die akzeptiert werden muss, um die OneLake-Sicherheit für den Tabellenlesezugriff zu aktivieren.

Jetzt ist der SQL-Analyseendpunkt bereit für die Verwendung mit OneLake-Sicherheit.

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.