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

MethodeNützlich, wennVorteileNachteile
Berechtigungstabelle (empfohlen)
  • Die Datenbank verfügt über ein vorhandenes Berechtigungskonzept
  • Die Organisation richtet zum ersten Mal Row Level Security ein
  • Einfach zu testen, zu aktualisieren, zu warten und zu skalieren
  • Funktioniert für Direktverbindungen und Extrakte in Version 2018.3+
  • Erfordert das Erstellen und Verwalten der Berechtigungstabelle
  • Möglicherweise müssen Sie geeignete Schlüssel auswählen und erstellen, um die Leistung zu optimieren
CONTAINS() mit Extrakten
  • Implementieren von RLS in Extrakten vor Version 2018.3
  • Ermöglicht es Ihnen, die Vorteile der Extrakteffizienz zu nutzen
  • Erfordert das Zuordnen aller Benutzer zu einer einzelnen Spalte
  • Wechsel zu Direktverbindungen aufgrund der Zeichenfolgenberechnung schwierig
Identitätswechsel
  • Jeder Benutzer, der auf die Daten zugreift, ist als Benutzer auf Ihrem SQL-Server vorhanden (in der Regel interne Bereitstellungen)
  • Die Sicherheit wird an einem Ort geregelt und verwaltet – in der Datenbank
  • Erfordert, dass jede Person, die auf die Ansicht zugreift, als Benutzer in Ihrem SQL Server vorhanden ist
  • Funktioniert nur für Microsoft SQL Server
Kerberos
  • Alle erforderlichen Datenbanken werden für die Kerberos-Delegierung und RLS auf der Datenbank eingerichtet (in der Regel interne Bereitstellungen)
  • Der Name des Betrachters wird in den Zugriffsprotokollen für die Datenbank angezeigt
  • Die Sicherheit wird in der Datenbank geregelt und verwaltet.
  • Tableau muss für die Verwendung von "LDAP – Active Directory" konfiguriert werden.
  • Tableau Server muss mit der AD-Domäne verbunden sein
  • Jeder Benutzer muss in Ihrer AD-Domäne vorhanden sein
Anfängliche SQL-Anweisungen
  • Die Datenbank unterstützt anfängliche SQL-Anweisungen und RLS ist auf der Datenbankseite eingerichtet
  • Ermöglicht die Übergabe von Tableau-Parametern zur Ladezeit
  • Dedizierte Verbindung, die nicht für andere Benutzer freigegeben werden kann
  • Benutzer müssen innerhalb der Datenbank vorhanden sein, um Abfragen als Benutzer ausführen zu können
  • Nicht alle Datenbanken unterstützen anfängliche SQL-Anweisungen
  • Potenzielle Auswirkungen auf die Leistung aufgrund eingeschränkter Zwischenspeicherfreigabe
Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.