Sicherheit auf Zeilenebene in der Datenbank
Wenn Ihr Unternehmen bereits Anstrengungen unternommen hat, um Sicherheit auf Zeilenebene (Row-Level-Security, RLS) in einer Datenbank zu verbessern, können Sie möglicherweise eine der folgenden Techniken anwenden, um die Vorteile Ihrer vorhandenen RLS zu nutzen. Um die Sicherheitsmodelle der Datenbank nutzen zu können, sind Direktverbindungen erforderlich. Darüber hinaus sind diese Techniken in Tableau Cloud wahrscheinlich nicht verfügbar. Der Tableau-Benutzername für Tableau Cloud ist eine eindeutige E-Mail-Adresse, die in der Regel nicht die Benutzeridentität auf der Datenbankseite ist.
Im Vergleich mit dem Neuerstellen ist es im Hinblick auf Tableau nicht unbedingt einfacher oder besser, ein integriertes RLS-Modell zu implementieren. Diese Techniken werden in der Regel genutzt, wenn eine Organisation bereits in diese Technologien investiert hat und die Investition bestmöglich ausnutzen möchte.
Hinweis: Informationen zu den Alternativen, die Sie für die Implementierung von Sicherheit auf Zeilenebene in Tableau verwenden können, finden Sie unter Übersicht über Optionen für Sicherheit auf Zeilenebene in Tableau.
Identitätswechsel (Microsoft SQL Server)
Microsoft SQL Server (und einige verwandte Systeme) können so konfiguriert werden, dass Benutzer der Datenbank nur Zugriff auf Ansichten mit integrierten RLS-Filtern haben, entweder unter Verwendung von Sicherheitsverknüpfungstabellen oder Ansichten, die vom DBA erstellt wurden. Tableau kann dies mithilfe eines Konzepts namens "Identitätswechsel" nutzen.
Beim Veröffentlichen einer Tableau-Datenquelle, die eine MS SQL Server-Verbindung in Tableau Server enthält, stehen zwei Authentifizierungsoptionen zur Verfügung, um den Identitätswechsel zu nutzen. Das angezeigte Menü hängt davon ab, ob Sie sich mit der Netzwerkauthentifizierung oder durch Eingabe von Anmeldeinformationen (Benutzername/Kennwort) beim SQL Server angemeldet haben.
Um die RLS-Filterung für jeden Benutzer zu aktivieren, der auf die veröffentlichte Datenquelle in Tableau Server zugreifen kann, müssen entweder das ausführende AD-Konto oder die eingebetteten SQL-Serveranmeldeinformationen über die Berechtigung für das AUSFÜHREN ALS für sämtliche Tableau-Benutzer in der Datenbank, die auf das Dashboard oder die Datenquelle zugreifen, verfügen. Alle Tableau-Benutzer müssen als Benutzer auf dem Datenbankserver vorhanden sein und über SELECT-Berechtigungen für die Ansichten verfügen, mit denen eine Verbindung hergestellt werden soll (und auf die RLS angewendet werden soll). Eine umfassende Auflistung der Anforderungen finden Sie unter Anforderungen für den Identitätswechsel.
Kerberos und eingeschränkte Delegation
Die eingeschränkte Delegierung in Tableau Server mit Kerberos funktioniert ähnlich wie der Identitätswechsel, da Tableau Server die Kerberos-Anmeldeinformationen der Ansicht einer Arbeitsmappe bzw. einer Ansicht verwenden kann, um eine Abfrage im Namen des Betrachters auszuführen. Wenn für die Datenbank RLS eingerichtet ist, werden dem Betrachter der Arbeitsmappe also nur die eigenen Daten angezeigt.
Informationen zur umfassenden Liste der Datenbanken, in denen die Kerberos-Delegierung unterstützt wird, finden Sie unter Aktivieren der Kerberos-Delegierung. Active Directory ist erforderlich; der Computer, auf dem Tableau Server installiert ist, muss an die Active Directory-Domäne angeschlossen sein. Es muss sich bei der beim Veröffentlichen der Datenquelle angegebenen Authentifizierungsmethode(Link wird in neuem Fenster geöffnet) um die Anmeldeinformationen des Viewers (der anzeigenden Person) handeln.
Beachten Sie, dass Kerberos für RLS genutzt werden kann, wenn Microsoft Analysis Services verwendet wird.
OLAP-Cubes
OLAP-Cubeverbindungen in Tableau verfügen nicht über das Äquivalent eines Datenquellenfilters, der für die tabellenbasierte RLS-Methode für Berechtigungen in Tableau oder für den Zugriff auf die USERNAME()-Funktion erforderlich ist. Aus diesen Gründen ist die Verwendung von Kerberos und eingeschränkter Delegierung ein empfohlener Ansatz für RLS mit OLAP-Datenbanken, der Tableau die Nutzung von Benutzerfiltern ermöglicht, die bereits auf der OLAP-Server-Seite implementiert wurden.
Wenn die Benutzer, die das Dashboard anzeigen, nicht Teil der Domäne sind, ist der manuelle Ansatz zum Erstellen von Benutzerfiltern möglich. Da der generierte Benutzerfiltersatz jedoch nicht als Datenquellenfilter hinzugefügt werden kann und stattdessen im Filterregal vorhanden ist, ist es wichtig, dass die Funktionalität für die Webbearbeitung und das Herunterladen von Arbeitsmappen für veröffentlichte Ansichten, die diese Methode verwenden, nicht zulässig ist.
SAML-Delegierung und SAP HANA
Wenn Tableau Server so konfiguriert ist, dass Konfigurieren des SSO für SAP HANA verwendet wird, um eine Single Sign-On-Umgebung bereitzustellen, werden die Viewer-Anmeldeinformationen verwendet, um die Abfrage als der Benutzer auszuführen, der innerhalb der auf Benutzerebene angewendeten Sicherheit arbeitet. Es muss sich bei der beim Veröffentlichen der Datenquelle angegebenen Authentifizierungsmethode(Link wird in neuem Fenster geöffnet) um die Anmeldeinformationen des Viewers (der anzeigenden Person) handeln.
Anfängliche SQL-Anweisungen für das Erzwingen einer benutzerspezifischen Sitzung (Oracle VPD)
Mit anfänglichen SQL-Anweisungen können Sie einen SQL-Befehl angeben, der bei Herstellung einer Verbindung mit der Datenbank ausgeführt wird, um temporäre Tabellen einzurichten, die während der Sitzung verwendet werden sollen, oder um eine benutzerdefinierte Datenumgebung einzurichten.
Für Oracle VPD können Sie eine für einen Benutzer spezifische Sitzung einrichten, indem Sie eine bestimmte gespeicherte Prozedur oder Funktion ausführen, um den Kontext der Datenbankverbindung so festzulegen, dass er dem Benutzernamen des Tableau-Benutzers entspricht:
begin DBMS_SESSION.SET_IDENTIFIER([TableauServerUser]); end;
Für die Verwendung dieser Anforderungen für RLS gelten dieselben hohen Anforderungen wie für Identitätswechsel. Der DBA muss VPD und alle zugeordneten Benutzer einrichten, damit sie in der Datenbank vorhanden sind.
Auf MS SQL Server können Sie EXECUTE als Befehl erzwingen (dies ähnelt jedoch dem, was Tableau bereits mit Identitätswechsel tut):
EXECUTE AS USER = [TableauServerUser] WITH NO REVERT;
Hinweis: Wenn die Datenquelle eingebettet ist und ein Benutzer über Berechtigungen zum Bearbeiten oder Herunterladen der Arbeitsmappe verfügt, ist das RLS nicht vorhanden, da die anfängliche SQL-Erzwingung problemlos entfernt werden kann. Die Datenquelle sollte separat veröffentlicht werden, anstatt in der Arbeitsmappe eingebettet zu sein.
Vergleichsmatrix für Sicherheitsmethoden auf Zeilenebene
Methode | Nützlich, wenn | Vorteile | Nachteile |
Berechtigungstabelle (empfohlen) |
|
|
|
CONTAINS() mit Extrakten |
|
|
|
Identitätswechsel |
|
|
|
Kerberos |
|
|
|
Anfängliche SQL-Anweisungen |
|
|
|