NextLytics Blog

Tableau Row Level Security mit virtuellen Verbindungen

Geschrieben von Maurice Doublier | 13.01.2022 18:08:31

Pünktlich zur Veröffentlichung des neuen Tableau Releases 2021.4 haben wir Ihnen die größten Neuerungen in unserem Blog vorgestellt. Eines der neu eingeführten Features hat es uns dabei besonders angetan: Virtuelle Verbindungen.  Mit virtuellen Verbindungen erweitert Tableau das Data Management Add-On um einen neuen Inhaltstyp, der es Anwendern ermöglicht, ihre Datenverbindungen und den Zugriff der Benutzer auf die Daten zentral zu verwalten.

Die wesentlichen Vor- und Nachteile auf einen Blick

Vorteile:

  • Single Point of Access für Ihre Quellsysteme
  • Zentrale Verwaltung von Sicherheit auf Zeilenebene
  • Weniger Aufwand mit der Verwaltung von Verbindungsinformationen
  • Anwender benötigen keinen Datenbanknutzer für Live-Daten

 Nachteile:

  • Lediglich im Data Management Add-On verfügbar
  • Sicherheitskonzepte im Backend können nicht genutzt werden
  • Noch nicht alle Quellsysteme unterstützt

In diesem Blogartikel zeigen wir Ihnen, wie Sie virtuelle Verbindungen einrichten und den Datenzugriff mithilfe von Data Policies steuern können.

Wenn Sie Arbeitsmappen auf Tableau Server oder Tableau Online veröffentlichen, können standardmäßig alle Benutzer, die auf die Analysen zugreifen können, sämtliche Daten anzeigen. Mithilfe von Row Level Security können Sie die Datenzeilen für einzelne Benutzer oder Benutzergruppen einschränken und somit sicherstellen, dass Ihre Mitarbeiter nur auf für sie relevante Daten zugreifen können. Somit können unterschiedliche Benutzer verschiedene Daten im selben Dashboard sehen, ohne dass Sie für jede Benutzergruppe ein eigenes Dashboard erstellen müssen.

Bisher erfolgte die Implementierung von Sicherheit auf Zeilenebene in Tableau über Benutzerfilter bzw. dynamische Filter. Bei benutzerbasierten Filtern handelt es sich um ein Feature, dass es dem Ersteller ermöglicht, auf Arbeitsmappen-Ebene einzelne Dimensionselemente bestimmten Benutzern zuzuweisen. Sobald ein Anwender die Arbeitsmappe öffnet, werden die Daten entsprechend der Zuordnung im Benutzerfilter eingeschränkt. Benutzerbasierte Filterkonzepte sind jedoch statisch und mit einem hohen administrativen Aufwand verbunden, da sie nicht über mehrere Arbeitsmappen hinweg wiederverwendet werden können. Eine Verschiebung von Verantwortlichkeiten zwischen Mitarbeitern würde es daher erfordern, die Benutzerfilter in sämtlichen Arbeitsmappen manuell anzupassen.

Aus diesem Grund war es bisher Best Practice – und das ist es für Anwender ohne das Data Management Add-On auch weiterhin – den Datenzugriff über einen dynamischen Filter auf Datenquellenebene einzuschränken. Dazu erstellt man ein berechnetes Feld, dass den auf Tableau angemeldeten Benutzer mit einem Feld in den Quelldaten abgleicht und verwendet dieses neue Feld als Datenquellenfilter.  Die Daten auf Ebene der Tableau-Datenquelle zu filtern hat den Vorteil, dass der Filter automatisch auf sämtliche nachgelagerte Objekte angewendet wird und mögliche Änderungen lediglich einmalig vorgenommen werden müssen. Allerdings bedingt diese Vorgehensweise das Vorhandensein eines entsprechenden Feldes zum Abgleich in der Datenbank. Falls unterschiedliche Tableau Datenquellen auf dieselben Tabellen zugreifen, muss der Datenzugriff auf dieselben Tabellen weiterhin mehrfach eingeschränkt werden.

Mit virtuellen Verbindungen geht Tableau nun einen Schritt weiter und ermöglicht es Anwendern, einen zentralen Zugriffspunkt für ihre Quellsysteme einzurichten und den Datenzugriff auf Verbindungsebene zu steuern. Anwender müssen beim Anlegen von Datenquellen oder Workflows nun nicht mehr jedes Mal eine neue Verbindung zum Quellsystem herstellen, sondern können diese auf Grundlage einer vorab definierten Verbindung erstellen. Nach einmaliger Einrichtung, werden die definierten Sicherheitsrichtlinien automatisch auf alle nachgelagerten Elemente angewendet. Der Zugriff auf die virtuelle Verbindung selbst kann ebenso über Berechtigungen gesteuert werden, wie der Zugriff auf Datenquellen und Arbeitsmappen.

Beim Anlegen einer virtuellen Verbindung werden die hinterlegten Verbindungsinformationen in diese eingebettet. Wenn Anwender später die Verbindung später nutzen möchten, werden also weder Verbindungs- noch Anmeldeinformationen benötigt. Ihre Berichtsempfänger benötigen daher nicht einmal einen eigenen Datenbankbenutzer.

Self-Service Analytics mit Tableau - Laden Sie sich jetzt das Whitepaper herunter!

Das zentrale Hinterlegen dieser Informationen senkt den administrativen Overhead maßgeblich. Mussten veränderte Verbindungsinformationen zuvor manuell oder mithilfe eines Skripts in allen Datenquellen, die diese Verbindung nutzen, einzeln angepasst werden, so genügt nun eine einmalige Aktualisierung der virtuellen Verbindung. Das Einbetten der Anmeldeinformationen bedeutet jedoch auch, dass die im Backend implementierte Zugriffssteuerung nicht mehr genutzt werden kann, da sämtliche Abfragen seitens Tableaus von ein und demselben Datenbanknutzer getätigt werden. Stellen Sie daher unbedingt sicher, dass der hinterlegte Benutzer über die entsprechenden Berechtigungen verfügt.

Nach dem Herstellen der Verbindung zum Quellsystem können Sie die gewünschten Tabellen in die virtuelle Verbindung einfügen und den verwendeten Verbindungstyp festlegen. Mit der Selektion einer Tabelle können Sie sich außerdem Metadaten oder eine Vorschau der Daten anzeigen lassen.

Die Steuerung des Datenzugriffs in virtuellen Verbindungen erfolgt über Datenrichtlinien bzw. Data Policies. Eine Data Policy umfasst ausgewählte Tabellen, ein Mapping und eine Filterbedingung. Beim Erstellen einer Data Policy wird zwischen Policy-Tabellen und Entitlement-Tabellen unterschieden. Als Policy Tabellen fügen Sie der Policy diejenigen Tabellen hinzu, auf die die Datenrichtlinie schließlich angewandt werden soll.  Wir empfehlen Ihnen, all diejenigen Tabellen, die über das gleiche Feld eingeschränkt werden sollen, derselben Data Policy hinzuzufügen. Jede Tabelle einer virtuellen Verbindung kann lediglich einer einzigen Data Policy zugeordnet werden.

Anschließend können Sie der Data Policy eine Mapping-Spalte hinzufügen anhand derer die Feld-Zuordnung vorgenommen werden kann. Mithilfe der Mapping-Spalte können Sie die Felder, die zum einschränken der Daten verwendet werden sollen, unter einem gemeinsamen Namen vereinen, der später zum referenzieren der Felder in der Filterbedingung verwendet wird.  Bei der Definition der Filterbedingung steht dem Anwender der bekannte Formeleditor zur Verfügung. Zum aktuellen Zeitpunkt ist der Funktionsumfang des Editors jedoch eingeschränkt. Schließlich kann die Data Policy auf ein Sample der Daten angewendet werden, um zu prüfen, ob die hinterlegte Filterbedingung zum gewünschten Ergebnis führt. Dazu können Sie die Daten einsehen, die einem bestimmten Anwender angezeigt werden.

Nicht immer verfügt die einzuschränkende Tabelle über ein Feld, anhand dessen die Daten gefiltert werden sollen. In unserem Beispiel betrachten wir eine Tabelle, die Transaktionsdaten zu Bestellungen eines Online-Versandhandels enthält. Die Daten enthalten neben den eigentlichen Bestellungen keine Informationen über verantwortliche Mitarbeiter. Wir erhalten also keine Informationen, die sich mit den Benutzerdaten abgleichen lassen, die Tableau zur Verfügung stehen. Die virtuelle Verbindung beinhaltet jedoch eine weitere Tabelle, die den verschiedenen Regionen verantwortliche Manager zuordnet. Statt wir im vorigen Beispiel eine Mapping-Spalte hinzuzufügen, greifen wir diesmal auf diese Referenztabelle zurück. Dazu fügen wir diese der Data Policy als Entitlement-Tabelle hinzu und mappen die in den beiden Tabellen enthaltenen Regionsfelder.  Bei der Definition der Filterbedingung können wir schließlich die Informationen der Referenztabelle nutzen, um die Tabelle mit den Transaktionsdaten wie gewünscht zu filtern. Um Ihre Änderungen zu übernehmen, müssen Sie die virtuelle Verbindung erneut veröffentlichen. Bloßes Speichern sichert lediglich einen Entwurf, ohne dass die Änderungen sich auf bereits veröffentlichte Verbindungen auswirken.

Virtuelle Verbindungen sind ein echter Game Changer für das Datenmanagement in Tableau. Leider bleibt das neue Feature jedoch nur denjenigen Anwendern vorbehalten, die das Data Management Add-On lizenziert haben.  Wenn virtuelle Verbindungen weiterhin hinter einer Paywall verborgen bleiben sollen, muss Tableau hier nachliefern. Wir wünschen uns beispielsweise eine Data Policy, die es Anwendern ermöglicht, Sicherheit auf Spaltenebene zu implementieren, sodass sich steuern lässt, welche Benutzer, welche Kennzahlen und Dimensionen anzeigen dürfen. Außerdem ließen sich komplexere Logiken implementieren, wenn man mehrere Data Policies auf eine einzige Tabelle anwenden könnte. Zum aktuellen Zeitpunkt ist die Liste der verfügbaren Quellsysteme noch relativ kurz. Bei unserem Test ist uns jedoch aufgefallen, dass hinter allen Konnektoren der Entwickler aufgeführt wird. Das könnte ein Zeichen sein, dass Tableau künftig Konnektoren für virtuelle Verbindungen von Drittanbietern zulässt. Wir sind sehr gespannt, mit welchen Verbesserungen Tableau hier künftig noch aufwarten wird und halten Sie auf dem Laufenden!

Haben Sie Fragen zu diesem oder anderen Themen? Dann kontaktieren Sie uns gerne! Als Tableau Partner beraten wir Sie gerne umfangreich zu Themen wie z.B. Deployment, Administration oder Best Practices bei der Erstellung effektiver Tableau Dashboards.