Erstellen einer Datenrichtlinie für Sicherheit auf Zeilenebene
Verwenden Sie eine Datenrichtlinie, um auf eine oder mehrere Tabellen in einer virtuellen Verbindung Sicherheit auf Zeilenebene anzuwenden. Eine Datenrichtlinie filtert die Daten und stellt sicher, dass Benutzer nur die Daten sehen, die sie sehen sollen. Datenrichtlinien gelten sowohl für Direkt- als auch für Extraktverbindungen.
Über Datenrichtlinien
Eine Datenrichtlinie besteht aus drei Hauptkomponenten:
- Die entsprechenden Tabellen werden Richtlinientabellen genannt. Dies sind die Tabellen, die gefiltert werden.
- Die zugeordneten Spalten, die die Beziehungen zwischen Tabellen (z. B. zwischen Berechtigungs- und Faktentabellen) sowie zwischen Tabellenspalten und Richtlinienspalten definieren. Eine Richtlinienspalte ist die Spalte, die zum Filtern von Daten verwendet wird.
- Die Richtlinienbedingung, bei der es sich um einen Ausdruck oder eine Berechnung handelt, der bzw. die zum Zeitpunkt der Abfrage für jede Zeile ausgewertet wird. Wenn die Auswertung der Richtlinienbedingung TRUE (Wahr) ergibt, wird die Zeile in der Abfrage angezeigt.
Wenn Sie eine Datenrichtlinie erstellen, benötigen Sie eine Spalte, die Sie zum Filtern der Daten verwenden können. Diese Spalte wird als Richtlinienspalte bezeichnet. Die Daten werden nach der Richtlinienbedingung gefiltert – meist unter Verwendung einer Benutzerfunktion wie beispielsweise USERNAME() oder FULLNAME().
Wenn Ihre Richtlinientabelle eine Spalte enthält, nach der Sie filtern können, verwenden Sie diese Spalte als Ihre Richtlinienspalte.
Wenn eine Richtlinientabelle keine solche Spalte enthält, verwenden Sie eine Berechtigungstabelle mit einer Spalte, die Sie zum Filtern der Daten verwenden können. Eine Berechtigungstabelle ist eine Tabelle, die sowohl eine Richtlinienspalte enthält, die Sie zum Filtern von Richtlinientabellen verwenden können, als auch eine weitere Spalte, die Sie einer Spalte in einer Richtlinientabelle zuordnen ("mappen") können (wie oben in der Abbildung mit einem Beispiel für eine Datenrichtlinie gezeigt).
Filtern mit einer Richtlinienspalte aus einer Richtlinientabelle
Die gängigste Methode zum Filtern von Daten besteht darin, eine Spalte in der Tabelle zu verwenden, die die Daten enthält, nach denen Sie filtern möchten. Verwenden Sie diese Spalte als Richtlinienspalte und ordnen Sie dieser Richtlinienspalte dann die entsprechenden Tabellenspalten zu.
Um eine Richtlinienspalte zum Filtern Ihrer Daten zu verwenden, fügen Sie der Richtlinie zunächst Tabellen aus dem linken Bereich hinzu. Zum Hinzufügen einer Tabelle haben Sie die folgenden Möglichkeiten:
- Doppelklicken Sie auf den Tabellennamen.
- Klicken Sie auf den Dropdown-Pfeil neben dem Tabellennamen und wählen Sie dann Verwalten einer Tabelle mit Richtlinie aus.
- Oder ziehen Sie die Tabelle nach rechts und legen Sie sie in Als Richtlinientabelle hinzufügen ab.
Nachdem einer Richtlinie eine Tabelle hinzugefügt wurde, wird rechts neben dem Tabellennamen im linken Bereich ein Schildsymbol angezeigt, das angibt, dass es sich um eine Richtlinientabelle handelt.
Ordnen Sie anschließend Spalten zu, um eine Beziehung zwischen dem Spaltennamen in der Tabelle und dem Richtlinienspaltennamen zu erstellen. Verwenden Sie den Richtlinienspaltennamen in der Datenrichtlinienbedingung, um den Datenzugriff auf Zeilenebene für Benutzer zu steuern:
- Klicken Sie auf +Spalte zum Zuordnen hinzufügen, um eine oder mehrere Spalten hinzuzufügen, die zum Filtern von Daten verwendet werden sollen.
- Legen Sie einen Namen für die Richtlinienspalte fest. Diesen Namen werden Sie in der Richtlinienbedingung verwenden.
- Wählen Sie für jede Tabelle, auf die die Richtlinie angewendet wird, mithilfe des Dropdown-Menüs die Tabellenspalte aus, die der Richtlinienspalte zugeordnet ist.
- Wiederholen Sie diesen Vorgang für alle Richtlinienspalten, die Sie in der Richtlinienbedingung verwenden möchten.
Tipp: Anstatt die Schaltfläche "+Spalte zum Zuordnen hinzufügen" zu verwenden, können Sie mit der Eingabe der Berechnung im Bereich "Richtlinienbedingung" beginnen und die Auswahl des Spaltennamens der automatischen Vervollständigungsfunktion überlassen, die dann die Richtlinienspalteninformationen unter Schritt 1 auffüllt.
Ein Beispiel mit einer Richtlinienspalte aus einer Richtlinientabelle
- Die Sales-Tabelle (Verkäufe) verfügt über eine Spalte namens "Salesperson" (Verkäufer) und die Region-Tabelle verfügt über eine Spalte namens "SalesRep" (Vertriebsmitarbeiter). Die Daten in "Salesperson" und "SalesRep" stimmen mit dem vollständigen Namen von Tableau-Benutzern in Ihrer Site überein.
- Sie möchten die Verkaufs- und Regionsdaten nach Verkäufer filtern – also geben Sie der Richtlinienspalte den Namen "Salesperson" und ordnen dann die Spalte "Salesperson" aus der Tabelle "Sales" und die Spalte "SalesRep" aus der Tabelle "Region" der Richtlinienspalte "Salesperson" zu.
- Anschließend schreiben Sie die Richtlinienbedingung, um beide Tabellen zu filtern. Verwenden Sie die Richtlinienspalte "Salesperson" und die Benutzerfunktion FULLNAME(), damit jeder Benutzer nur seine eigenen Daten sehen kann.
Filtern mit einer Richtlinienspalte aus einer Berechtigungstabelle
Berechtigungstabellen werden verwendet, wenn Ihre Richtlinientabelle keine Spalte enthält, nach der Sie filtern können. Sie können die Berechtigungstabelle verwenden, um eine Spalte in der Datentabelle einer Spalte in der Berechtigungstabelle zuzuordnen. Beachten Sie Folgendes:
- Achten Sie darauf, die Berechtigungstabelle als Tabelle in die virtuelle Verbindung mit aufzunehmen. Sie können eine Tabelle aus einer beliebigen Verbindung oder Datenbank als zentrale Berechtigungstabelle verwenden, die Tabellen in vielen anderen Datenbanken absichert. In einigen Fällen kann eine Berechtigungstabelle, die sich in derselben Datenbank wie die Tabellen befindet, die Sie sichern möchten, ein potenzielles Sicherheitsrisiko darstellen, da dies die Möglichkeit bietet, dass Mitarbeiterdaten offengelegt werden könnten. Außerdem lassen sich Berechtigungen (z. B. um jemandem Zugriff auf eine Datenbank zu gewähren) leichter steuern, wenn eine Berechtigungstabelle in einer anderen Datenbank untergebracht ist.
- Wenn Sie nicht möchten, dass die Berechtigungstabelle für Benutzer der virtuellen Verbindung sichtbar ist, können Sie die Einstellung in der Spalte "Sichtbarkeit" auf der Registerkarte "Tabellen" umschalten, sodass die Berechtigungstabelle ausgeblendet wird. Wenn ausgeblendet, ist die Berechtigungstabelle weiterhin für die Richtlinienfilterung verfügbar, kann jedoch in Visualisierungen oder Arbeitsmappen-Datenquellen nicht verwendet werden.
Hinweis: Das direkte Herstellen einer Verbindung mit einer Schemaausgabe (.hyper-Datei) wird für die Berechtigungstabelle nicht unterstützt. Die Schemaausgabe muss direkt in die Datenbank schreiben.
So filtern Sie Ihre Daten mithilfe einer Berechtigungstabelle:
- Fügen Sie die Datentabellen hinzu, auf die die Datenrichtlinie angewendet werden soll. Führen Sie einen der folgenden Schritte aus:
- Doppelklicken Sie auf den Tabellennamen.
- Klicken Sie auf den Dropdown-Pfeil neben dem Tabellennamen und wählen Sie dann Verwalten einer Tabelle mit Richtlinie aus.
- Oder ziehen Sie die Tabelle nach rechts und legen Sie sie in Als Richtlinientabelle hinzufügen ab.
- Nachdem einer Richtlinie eine Tabelle hinzugefügt wurde, wird rechts neben dem Tabellennamen im linken Bereich ein Schildsymbol angezeigt, das angibt, dass es sich um eine Richtlinientabelle handelt.
- Wählen Sie die Berechtigungstabelle aus, und führen Sie dann eine der beiden folgenden Aktionen durch:
- Klicken Sie auf den Dropdown-Pfeil und wählen Sie Verwenden als Berechtigungstabelle aus.
- Oder ziehen Sie die Tabelle nach rechts und legen Sie sie in Als Berechtigungstabelle hinzufügen ab.
- Wählen Sie für jede Tabelle, auf die die Richtlinie angewendet wird, mithilfe des Dropdown-Menüs die Spalte aus, über die die Richtlinientabelle der Berechtigungstabelle zugeordnet wird.
Ein Beispiel mit einer Richtlinienspalte aus einer Berechtigungstabelle
- Die Daten, die Sie filtern möchten, verfügen über eine Spalte "EMP_ID", aber keine Spalte für den Mitarbeiternamen. Sie haben jedoch eine zweite Tabelle, die Spalten sowohl für "EMP_ID" als auch für den "FULL NAME" des Mitarbeiters enthält. Und die Werte in der Spalte "FULL NAME" des Mitarbeiters stimmen mit dem vollständigen Namen von Tableau-Benutzern in Ihrer Site überein.
- Sie können der Richtlinie die Tabelle "Employees" als Berechtigungstabelle hinzufügen und dann den Spaltennamen "EMP_ID" der Richtlinientabelle dem Spaltennamen "EMP_ID" für jede Tabelle zuordnen.
- Verwenden Sie dann die Funktion FULLNAME() in Ihrer Richtlinienbedingung, um den vollständigen Namen von Tableau Server-Benutzern mit der Spalte "[FULL NAME]" der Berechtigungstabelle (die die Richtlinienspalte ist) abzugleichen, sodass jeder Benutzer nur seine eigenen Daten sehen kann.
Schreiben einer Richtlinienbedingung
Der letzte Schritt beim Erstellen einer Datenrichtlinie besteht darin, eine Richtlinienbedingung zu schreiben, bei der es sich um eine Berechnung oder einen Ausdruck handelt, die bzw. der zum Definieren des Zugriffs auf Zeilenebene dient. Richtlinienbedingungen werden häufig verwendet, um den Zugriff auf Benutzer oder Gruppen durch Benutzerfunktionen einzuschränken.
Eine Richtlinienbedingung:
- Ist in einer Datenrichtlinie erforderlich.
- Muss als wahr (TRUE) oder falsch (FALSE) ausgewertet werden
- Zeigt Zeilen an, wenn die Auswertung der Richtlinienbedingung wahr (TRUE) ergibt
Wenn Sie eine Richtlinienregisterkarte schließen, wird Ihre Arbeit nicht verworfen.
Beispiele für Richtlinienbedingungen
Zeigt nur Zeilen an, in denen der Wert der Spalte "Region" gleich "North" ist:
[Region] = "North"
Lässt zu, dass ein angemeldeter Benutzer die Zeilen sehen kann, in denen der Name dieses Benutzers mit dem Wert in der Spalte "EmployeeName" übereinstimmt:
FULLNAME() = [EmployeeName]
Lässt zu, dass Mitglieder der Gruppe "Manager" alle Zeilen sehen können, während Benutzer nur die Zeilen sehen können, in denen der Benutzername mit dem Wert in der Spalte "employee_name" übereinstimmt:
ISMEMBEROF('Managers') OR USERNAME() = [employee_name]
In Richtlinienbedingungen unterstützte Tableau-Funktionen
Richtlinienbedingungen unterstützen eine Teilmenge der Tableau-Funktionen:
- Logisch (außer NULL-bezogen)
- Zeichenfolge
- Benutzer
- Datum
- Zahl: MIN, MID, MAX
Welche spezifischen Funktionen unterstützt werden, können Sie im Editor für virtuelle Verbindungen auf der Registerkarte „Datenrichtlinien“ rechts im Bereich Referenz sehen.
Hinweis: Wenn die virtuelle Verbindung über eine Datenrichtlinie verfügt, die Benutzerfunktionen(Link wird in neuem Fenster geöffnet) enthält (z. B. USERNAME()
) und Sie von einer Arbeitsmappe oder Datenquelle aus eine Verbindung herstellen und dort einen Extrakt erstellen, wird der Extrakt nur die Zeilen enthalten, die mit der Datenrichtlinie für virtuelle Verbindungen zum Zeitpunkt der Erstellung des Extrakts übereinstimmen. Um die Vorteile einer virtuellen Verbindung mit Benutzerfunktionen in der Datenrichtlinie zu nutzen, verwenden Sie anstelle eines Extrakts eine Direktverbindung von der Arbeitsmappe oder Datenquelle zur virtuellen Verbindung.
Wer kann dies tun?
Um eine Datenrichtlinie zu erstellen, müssen Sie
- über Anmeldeinformationen für die Datenbank verfügen, mit der die virtuelle Verbindung eine Verbindung herstellt, und
- ein Server- oder Site-Administrator oder ein Creator sein.
Nächste Schritte
Nachdem Sie eine Datenrichtlinie erstellt haben, müssen Sie im nächsten Schritt überprüfen, ob diese wie erwartet funktioniert. Informationen dazu finden Sie unter Testen von Sicherheit auf Zeilenebene mit Vorschau als Benutzer. Oder, wenn Sie die virtuelle Verbindung und deren Datenrichtlinien für Andere freigeben möchten, erfahren Sie mehr dazu unter Veröffentlichen einer virtuellen Verbindung und Festlegen von Berechtigungen.
Ressourcen
Ausführliche Informationen zu Berechnungen finden Sie unter Grundlegendes zu Berechnungen in Tableau(Link wird in neuem Fenster geöffnet) in der Hilfe zu Tableau Desktop und Web Authoring.
Informationen zu Benutzerfunktionen finden Sie unter Benutzerfunktionen(Link wird in neuem Fenster geöffnet) in der Hilfe zu Tableau Desktop und Web Authoring.
Informationen zu anderen Optionen für Sicherheit auf Zeilenebene in Tableau finden Sie unter Übersicht über Optionen für Sicherheit auf Zeilenebene in Tableau(Link wird in neuem Fenster geöffnet) in der Tableau Server-Hilfe.