Zu Hauptinhalt springen

Sicherheit

Ein Sicherheitsmechanismus in QlikView kann auf zwei verschiedene Arten eingerichtet werden: als Sicherheitsregelung über den QlikView Publisher oder als Zugriffskontrolle im Skript des QlikView-Dokuments.

Authentifizierung und Autorisierung

Bei der Authentifizierung wird die Identität eines Benutzers geprüft. Die Authentifizierung kann über drei Wege erfolgen: entweder über das Betriebssystem Windows, oder indem QlikView einen Benutzernamen und ein Passwort abfragt (unabhängig vom Windows-Benutzernamen und Passwort), oder es wird einfach die QlikView-Lizenznummer geprüft.

Bei der Autorisierung wird geprüft, welche Rechte der identifizierte Benutzer in Bezug auf die Ressource hat. Die Autorisierung kann entweder über das Windows- Betriebssystem erfolgen oder in QlikView selbst. Für letzteres muss eine Zugriffstabelle im QlikView-Skript geladen werden.

Sicherheitsregelung über den QlikView Publisher

Benutzen Sie den QlikView Publisher zur Regelung von Datensicherheit und Zugriffskontrolle, wird jedes QlikView-Dokument in mehrere Dateien aufgesplittet, von denen jede die Daten für einen bestimmten Anwender oder eine Anwendergruppe enthält. Diese Dateien werden in Verzeichnissen abgelegt, für die im Betriebssystem die notwendigen Sicherheitseinstellungen getroffen sind, d. h. QlikView lässt das Betriebssystem die Authentifizierung und Autorisierung bezüglich dieser Dateien regeln.

In diesem Fall enthalten die Dokumente selbst keinerlei Sicherheitsmechanismen. Das bedeutet, wer in den Besitz dieser Dateien kommt, kann sie uneingeschränkt einsehen und nutzen.

Die Dateien sind im Allgemeinen etwas kleiner als das ursprüngliche Dokument, weil jede von ihnen nur einen Teil der Daten enthält. Da jeder Anwender aber das für ihn vorgesehene Dokument öffnet, kann es sein, dass ein QlikView-Server mehr Speicher benötigt, als wenn sämtliche Daten in einem Dokument angeboten werden, weil er mehrere Dateien statt einer einzigen in den Speicher laden muss.

Weitere Informationen finden Sie in der Dokumentation des QlikView Publishers.

Zugriffskontrolle innerhalb des Dokuments

Wird im QlikView Skript Section Access für die Sicherheitsverwaltung eingerichtet, dann kann eine einzelne Datei für die Daten mehrerer Benutzer oder Benutzergruppen verwendet werden. QlikView nutzt die Informationen in Section Access für die Authentifizierung und Autorisierung und reduziert die Daten dynamisch, sodass dem Benutzer nur seine eigenen Daten angezeigt werden.

Da die Zugriffskontrolle in das Dokument integriert ist, sind die Dateien auch dann geschützt, wenn sie versehentlich in falsche Hände gelangen sollten. Wenn die Sicherheitsanforderungen jedoch hoch sind, sollte das Herunterladen von Dateien und die Offline-Nutzung unterbleiben. Dateien sollten nur über den QlikView Server veröffentlicht werden.

Da sämtliche Daten in einer Datei gespeichert sind, kann die Datei sehr groß werden.

QlikView-Dokumente können im Offline-Modus unsichtbar gemacht werden. Um ein Benutzerdokument offline unsichtbar zu machen, fügen Sie dem Dokumentinformationsabschnitt eines Benutzerdokuments mithilfe von QMC das folgende Attribut hinzu:

  • Name:Ausblenden
  • Wert: Wahr

Alle nachfolgenden Informationen beziehen sich auf die Sicherheitsmethode der Verwendung von Section Access im QlikView Skript.

Zugriffsabschnitt im Skript

Der Zugriff auf Zeilenebene wird über eine oder mehrere Sicherheitstabellen verwaltet, die auf die gleiche Weise wie andere Daten geladen werden. Diese Tabellen können dadurch in einer Standarddatenbank oder in einer Kalkulationstabelle gespeichert werden. Die Skriptbefehle zur Verwaltung der Sicherheitstabellen werden in einem Autorisierungsabschnitt erteilt, der im Skript von dem Befehl Section Access eingeleitet wird.

Wenn ein Autorisierungsabschnitt im Skript definiert ist, muss der Teil des Skripts, mit dem die App-Daten geladen werden, in einem anderen Abschnitt platziert werden, der durch den Befehl Section Application eingeleitet wird.

Example:  

Section Access; AuthorizationTable: Load ACCESS, USERID, REGION From ...; Section Application; Load ... From ...;

Berechtigungsstufen

Anwendern oder Anwendergruppen können unterschiedliche Rechte in Bezug auf ein QlikView-Dokument gewährt werden. Dazu kann jedem Anwender in der Zugriffstabelle eine der Berechtigungsstufe ADMIN oder USER zugewiesen werden. Ist einem Anwender keine der beiden Berechtigungsstufen zugeordnet, hat er keinen Zugriff auf das QlikView-Dokument.

Anwender mit ADMIN-Rechten können das Dokument beliebig bearbeiten. Unter Sicherheit in den Dialogen Eigenschaften des Dokuments und Eigenschaften des Arbeitsblatts können Personen mit ADMIN-Rechten festlegen, was Anwender mit USER-Rechten in dem Dokument dürfen und was nicht. Anwendern mit USER-Rechten sind diese Sicherheit-Dialoge nicht zugänglich.

Hinweis: ADMIN-Rechte sind nur für lokale Dokumente relevant. Der Zugriff auf Server-Dokumente erfolgt immer mit USER-Rechten.

Sicherheitsfelder

Zugriffsrechte werden in einer Zugriffstabelle definiert, die im Zugriffsabschnitt des Skripts eingelesen wird. Diese Tabelle enthält verschiedene Sicherheitsfelder, in der Regel USERID und PASSWORD sowie das Feld ACCESS, welches die Berechtigungsstufe enthält. Alle Zugriffsabschnitt-Systemfelder werden für die Authentifizierung und die Autorisierung herangezogen. Nachfolgend finden Sie eine komplette Liste der Zugriffsabschnitt-Systemfelder .

Keines, alle oder ein Teil der Sicherheitsfelder können verwendet werden. Das Feld USERID ist daher nicht zwingend notwendig, die Autorisierung kann auch über andere Felder wie beispielsweise die Seriennummer erfolgen

 

Systemfelder für Section Access
Feld Description
ACCESS Berechtigungsstufe des Anwenders.
USERID Benutzername des Anwenders. Beim Öffnen des Dokuments fragt QlikView den Benutzernamen ab und vergleicht die Eingabe mit den Werten dieses Feldes. Dieser Benutzername ist unabhängig vom Windows-Benutzernamen.
USER.EMAIL Wird derzeit nicht unterstützt, entspricht in QlikView nur einer Wildcard.
PASSWORD Passwort des Anwenders. Beim Öffnen des Dokuments fragt QlikView das Passwort ab und vergleicht die Eingabe mit den Werten dieses Feldes. Dieses Passwort ist unabhängig vom Windows-Passwort.
SERIAL Ein Feld, das eine der QlikView-Seriennummer entsprechende Nummer oder den String „QLIKVIEW“ enthält.
Beispiel: 4900 2394 7113 7304
QlikView prüft die Seriennummer des Benutzers bzw. den String „QLIKVIEW“ und vergleicht sie mit dem Wert in diesem Feld.
NTNAME Windows NT Domain User- bzw. Gruppenname. Wenn ein anderes Authentifizierungssystem verwendet wird, muss dieses den Namen eines authentifizierten Benutzers enthalten.
Beim Öffnen des Dokuments prüft QlikView die Login-Daten des Betriebssystems und vergleicht sie mit den Werten dieses Feldes.
NTDOMAINSID Ein Feld, das einer der Windows NT Domain SID entsprechende Zeichenfolge enthalten sollte.
Beispiel: S-1-5-21-125976590-4672381061092489882
Beim Öffnen des Dokuments prüft QlikView die Login-Daten des Betriebssystems und vergleicht sie mit den Werten dieses Feldes.
NTSID Windows NT SID
Beispiel: S-15-21-125976590-467238106-1092489882-1378
Beim Öffnen des Dokuments prüft QlikView die Login-Daten des Betriebssystems und vergleicht sie mit den Werten dieses Feldes.
OMIT

Liste der Felder, die der Anwender nicht einsehen soll. Darf der Anwender alle Felder sehen, bleibt dieses Feld leer. Es können die üblichen Wildcards verwendet werden. Es kann mit der subfield-Funktion gearbeitet werden.

Hinweis: Sie sollten OMIT nicht auf Schlüsselfelder anwenden, da dadurch die Datenstruktur geändert wird. Dadurch können logisch isolierte Bereiche und Berechnungsinkonsistenzen entstehen.

Versucht ein Anwender ein geschütztes Dokument zu öffnen, vergleicht QlikView zunächst die QlikView-Lizenznummer mit den Werten im Feld SERIAL, ferner den Windows NT User- bzw. Gruppenname mit dem Feld NTNAME sowie die Windows NT Domain SID und Windows NT SID mit den Feldern NTDOMAINSID und NTSID. Danach fragt QlikView Benutzernamen und Passwort ab und vergleicht die Eingaben mit dem Inhalt der Felder USERID und PASSWORD.

Stimmen die geprüften Informationen und Eingaben mit denen in der Zugriffstabelle überein, wird das Dokument mit der dort angegebenen Berechtigungsstufe geöffnet. Anderenfalls wird QlikView den Zugriff auf das Dokument verweigern. Wurden Benutzername und/oder Passwort nicht korrekt eingegeben, wird die Abfrage wiederholt. Nach drei erfolglosen Versuchen ist der Anmeldevorgang komplett zu wiederholen.

Da die QlikView-Logik auch im Zugriffsabschnitt angewandt wird, können die Sicherheitsfelder ebenso gut in mehreren Tabellen gespeichert werden. Der Systemadministrator kann mit diesen Daten ein QlikView-Dokument anlegen, aus dem hervorgeht, wer auf welche Dokumente Zugriff hat. Auf diese Weise kann die Eingabe des Benutzernamens und des Passworts durch Mausklick auf den Wert des entsprechenden Feldes simuliert werden.

Beim Anmeldevorgang prüft QlikView zunächst Lizenznummer, Windows NT User- bzw. Gruppenname, Windows NT Domain SID und Windows NT SID, um Zugriff auf das Dokument zu gewähren. Wenn diese dafür ausreichen, öffnet QlikView das Dokument, ohne nach Benutzernamen und Passwort zu fragen.

Enthält die Tabelle nur einen Teil der Zugriffsfelder, werden auch nur diese Informationen geprüft bzw. abgefragt.

Alle Felder im Zugriffsabschnitt unter load oder select müssen in Großbuchstaben geschrieben werden. Feldnamen aus externen Datenquellen sollten bei der Ausführung des Skripts mit Hilfe der Funktion upper in Großbuchstaben konvertiert werden, bevor sie von Load- oder Select-Anweisungen eingelesen werden.

Upper - Skript- und Diagrammfunktion

Benutzername und Passwort, die der Anwender beim Öffnen des QlikView-Dokuments eingibt, sind jedoch unabhängig von Groß- oder Kleinschreibung.

Wildcards (*) stehen für alle existierenden Werte des Felds, d. h. für einen beliebigen Wert in der Tabelle. Werden Wildcards in einem der sicherheitsrelevanten Felder (USERID, PASSWORD, NTNAME oder SERIAL) verwendet, interpretiert das Programm, dass sie für alle (auch für nicht explizit aufgeführte) Werte des Feldes stehen.

Hinweis: Wird beim Einlesen von Daten aus einer QVD-Datei der Befehl upper verwendet, beeinträchtigt dies die Ladezeit.
Hinweis: Zur Erstellung von Zugriffstabellen in inline-Befehlen verwenden Sie den Assistenten für Zugriffstabellen.
Hinweis: Wenn Sie Section Access aktiviert haben, können Sie die hier aufgeführten Systemfeldnamen von Section Access nicht als Feldnamen in Ihrem Datenmodell verwenden.

Example 1:  

Es wird nur die Lizenznummer geprüft. d. h. der Computer, auf dem diese Lizenz installiert ist, erhält die Berechtigungsstufe ADMIN. Alle anderen Anwender erhalten USER-Rechte. Der Stern (*) steht für alle Lizenznummern,

Beispiel 1
ACCESS SERIAL
ADMIN 4900 2394 7113 7304
USER *

Example 2:  

Der Administrator und der Server, auf dem QlikView als Batch-Job ausgeführt wird, erhalten ADMIN-Rechte. Alle anderen Anwender in der Domain erhalten USER-Rechte, wenn sie als Benutzernamen und als Passwort „USER“ eingeben.

Beispiel 2
ACCESS SERIAL NTDOMAINSID USERID PASSWORD
ADMIN * S-1-5-21-125976590-467238106-1092489882 ADMIN ADMIN
ADMIN 4900 2394 7113 7304 * * *
USER * S-1-5-21-125976590-467238106-1092489882 USER USER

Gemischte Umgebungen

Wenn Sie die gleiche Autorisierungstabelle in QlikView und in SaaS editions of Qlik Sense verwenden möchten, sollten Sie Folgendes beachten:

• USERID hat in QlikView und SaaS editions of Qlik Sense unterschiedliche Bedeutungen und könnte bei Verwendung Sicherheitsprobleme verursachen. Verwenden Sie stattdessen NTNAME oder eine Kombination mit SERIAL wie unten beschrieben.

• GROUP und Felder, die mit „USER.“ beginnen, z. B. „USER.NAME“ oder „USER.EMAIL“, sind bzw. werden authentifizierende Felder in Qlik Sense Enterprise SaaS. Wenn Sie diese Felder in Ihrem Section Access verwenden, kann der Zugriff in SaaS editions of Qlik Sense verweigert werden.

• PASSWORD, NTSID und NTDOMAINSID können in SaaS editions of Qlik Sense nicht verwendet werden. Der Zugriff wird verweigert, es sei denn, es wird ein Platzhalter verwendet.

• SERIAL kann in SaaS editions of Qlik Sense nicht zur Prüfung der Lizenznummer verwendet werden. Wenn dieses Feld aber den String „QLIKCLOUD“ oder „QLIKVIEW“ enthält, kann der Zugriff gewährt werden. Das bedeutet, dass eine Autorisierungstabelle wie die folgende vorhanden sein kann, in der Zeile 1 Zugriff in QlikView (aber nicht in SaaS editions of Qlik Sense) gewährt, während Zeile 2 Zugriff in SaaS editions of Qlik Sense (aber nicht in QlikView) gewährt.

Linie SERIAL USERID Kommentar
1 4600 0123 4567 8901 * Gewährt Zugriff auf die korrekte Lizenznummer in QlikView.
2 QLIKCLOUD John Doe Gewährt dem korrekten Benutzer Zugriff in Qlik Sense Enterprise SaaS.

 

Linie SERIAL USERID Kommentar
1 QLIKVIEW * Gewährt Zugriff auf QlikView.
2 QLIKCLOUD John Doe Gewährt dem korrekten Benutzer Zugriff in Qlik Sense Enterprise SaaS.

Einschränkung der QlikView-Funktionalität

Die Steuerfunktionen unter Dokumenteigenschaften: Sicherheit und Eigenschaften des Arbeitsblatts: Sicherheit ermöglichen es, den Zugriff auf bestimmte Menüpunkte zu verbieten und Änderungen am Layout zu untersagen. Auf diese Weise lassen sich beispielsweise unerwünschte Layoutänderungen verhindern. Anwendern mit ADMIN-Rechten dagegen stehen sämtliche Befehle uneingeschränkt zur Verfügung.

Anwender mit USER-Zugriff können die Bereiche Sicherheit in den beiden genannten Dialogen nicht öffnen und sich somit die gesperrten Befehle nicht wieder verfügbar machen.

Einschränkung des Datenbestands

QlikView und QlikView-Server unterstützen eine Funktion, anhand der einige der Daen eines Dokuments für Anwender verborgen bleiben. Dies richtet sich dann nach dem Zugriffsabschnitt-Login.

Zunächst können durch das Systemfeld OMIT in der Zugriffstabelle bestimmte Felder (Spalten) vor den Anwendern verborgen werden.

Zudem können Datensätze (Zeilen) ausgeblendet werden, indem Sie die Section Access-Daten mit den echten Daten verknüpfen: Die Einschränkung der Feldwerte erfolgt dadurch, dass ein oder mehrere Feldnamen zugleich in section access and section application vorkommen. Bei jedem Login überträgt QlikView die im Zugriffsabschnitt aufgeführten Werte des Feldes auf das gleichnamige Feld im Datenabschnitt mit genau denselben Feldnamen (Feldnamen müssen groß geschrieben werden). Nach abgeschlossener Auswahl werden alle übrigen Werte des Feldes dauerhaft in QlikView vor dem Anwender verborgen.

Um dieses Verfahren nutzen zu können, muss die Option Eingrenzen der Daten aufgrund von Zugriffsbeschränkungen unter Dokumenteigenschaften: Öffnen ausgewählt sein. Soll das betreffende Dokument durch andere Methoden verteilt werden als über den QlikView Server (etwa per E-Mail), muss außerdem die Option Binäres Laden verhindern im selben Dialog aktiviert sein, um die Datensicherheit zu gewährleisten.

Hinweis: Alle Feldnamen, die für die Einschränkung des Datenbestands herangezogen werden sollen, müssen in Großbuchstaben geschrieben sein, da QlikView alle Daten im Zugriffsabschnitt automatisch in Großbuchstaben konvertiert.

Example:  

section access;

LOAD * inline [

ACCESS, USERID, REDUCTION, OMIT

ADMIN, ADMIN, *,

USER, A, 1

USER, B, 2, NUM

USER, C, 3, ALPHA

];

section application;

T1:

LOAD *,

NUM AS REDUCTION;

LOAD

Chr( RecNo()+ord('A')-1) AS ALPHA,

RecNo() AS NUM

AUTOGENERATE 3;

Das Feld REDUCTION existiert nun in exakt gleicher Schreibweise im Zugriffs- und im Datenabschnitt (Alle Felder sind in Großbuchstaben geschrieben). Normalerweise werden diese beiden Abschnitte völlig separat verarbeitet. Ist jedoch die Option Eingrenzung der Daten aufgrund von Zugriffsbeschränkungen aktiviert, überträgt QlikView die Werte in den Datenabschnitt und blendet die übrigen Werte des Feldes aus.

Das Feld OMIT im Zugriffsabschnitt definiert, welche Felder ausgeblendet werden sollen.

Es ergibt sich folgende Tabelle:

Anwender A kann alle Felder sehen, aber nur die Datensätze, die in logischem Zusammenhang mit REDUCTION = 1 stehen.

Anwender B kann alle Felder bis auf NUM sehen, aber nur die Datensätze, die in logischem Zusammenhang mit REDUCTION = 2 stehen.

Anwender C kann alle Felder bis auf ALPHA sehen, aber nur die Datensätze, die in logischem Zusammenhang mit REDUCTION = 3 stehen.

Übertragung von Zugriffsbeschränkungen

Durch Laden von QlikView-Dateien mit Hilfe des binary-Befehls werden Zugriffsbeschränkungen auf das neue QlikView-Dokument übertragen. Eine Person mit ADMIN-Rechten für das neue Dokument kann dessen Zugriffskontrolle durch Einfügen eines neuen Zugriffsabschnitts im Skript ändern. Ein Anwender mit USER-Rechten kann das Skript ausführen und ändern (sofern ihm dies vom ADMIN-Anwender erlaubt wurde) und auf diese Weise etwa zusätzliche Daten einlesen. Anwender mit USER-Rechten können die Zugriffsrechte nicht ändern. Dadurch kann der Datenbankadministrator auch beim Einlesen von binär geladenen QlikView-Dokumenten die Zugriffskontrolle sicherstellen.

Verschlüsselung

Die Kommunikation zwischen dem QlikView-Server und dem QlikView Windows-Client ist verschlüsselt. Wird dagegen der AJAX-Client benutzt, ist die Kommunikation nicht verschlüsselt.

Grundsätzlich sind alle QlikView-Dateien so verschlüsselt, dass Sie mit anderen View- oder Debug-Programmen nicht eingelesen werden können.

Sie können vertrauliche Daten in QVD-Dateien auch mit vom Kunden bereitgestellten Schlüsselpaaren verschlüsseln und damit steuern, wer Zugriff auf Ihre Daten erhält. Siehe QVD-Verschlüsselung (nur auf Englisch).