Zunächst eine kleine Info für alle Leser/innen, die sich bereits mit Section Access in QlikView® auseinandergesetzt haben: Section Access funktioniert in Qlik Sense® genauso wie bereits in QlikView. Dementsprechend ist der folgende Beitrag auch für diejenigen interessant, die QlikView verwenden und den Zugriff auf Ihre Daten einschränken möchten.
Was ist Section Access?
Section Access sorgt dafür, dass Sie Daten innerhalb einer App nur bestimmten Anwendern verfügbar machen können. So können Sie z. B. dafür sorgen, dass innerhalb Ihres Vertriebscockpits Hr. Schuster nur das Vertriebsgebiet Baden-Württemberg und Fr. Becker nur das Vertriebsgebiet Bayern einsehen kann. Ihre gemeinsame Vorgesetzte Fr. König darf auf die Daten aller Vertriebsgebiete zugreifen.
Datengrundlage
Um das eben beschriebene Prinzip von Section Access zu veranschaulichen, verwenden wir folgendes Beispiel – Bevölkerungsinfos:
Load * Inline [
BUNDESLAND, Bundesland, Hauptstadt, Fläche in km², Einwohner, Einwohner pro km²
BW, Baden-Württemberg, Stuttgart, 35751, 10951893, 306
BAYERN, Bayern, München, 70550, 12930751, 183
BERLIN, Berlin, Berlin, 892, 3592059, 4028
];
Hierbei handelt es sich um demografische Daten zu Deutschland, die über Wikipedia einsehbar sind.
Nach dem Ausführen des Scripts sind wie angestrebt alle geladenen Daten in der App verfügbar:
Section Access im Script
Um Section Access zu verwenden, wird folgender Code-Teil benötigt:
Section access;
Star is *;
SectionAccess:
Load * Inline [
BUNDESLAND, USERID, ACCESS
BW, QSDEMO\NKNECHT, ADMIN
BAYERN, QSDEMO\NKNECHT, ADMIN
BERLIN, QSDEMO\NKNECHT, ADMIN
BW, QSDEMO\ASCHUSTER, USER
BAYERN, QSDEMO\PBECKER, USER
*, QSDEMO\LKÖING, USER
];
section application;
Erklärung:
- „section access;“ kennzeichnet den Script-Bereich, in dem die für die Sicherheit relevanten Tabellen definiert sind. Diese sind später für Nutzer weder in der App verwendbar, noch im Data model viewer einsehbar.
- „section application;“ kennzeichnet den Beginn des übrigen Scripts. Sie können die Zeilen einfach am Anfang Ihres App-Scripts einfügen.
Innerhalb des Section-Access-Bereichs können Sie nun festlegen, welcher Benutzer (Domäne\Benutzername) welche Rechte hat und vor allem welche Daten er sehen kann (hier über das Feld „BUNDESLAND“). Es wird festgelegt, welche Beziehung zwischen den Benutzern der Sicherheitstabelle und den Datenzeilen besteht.
Weitere Informationen und Möglichkeiten sind in der offiziellen Dokumentation zu finden.
Ergebnis
Nachdem Sie den Section-Access-Script-Block eingefügt und das Script erfolgreich ausgeführt haben, müssen Sie die App schließen, da Section Access nur beim Öffnen der App wirkt. Hr. Schuster hat somit nur noch Zugriff zu den Daten des Bundeslandes Baden-Württemberg.
Sie haben sich ausgesperrt? Wiederherstellung:
Sollte man beim Einrichten von Section Access einen Fehler in der Zuordnung oder Schreibweise der Felder gemacht haben, kann es passieren, dass man sich selbst von der App ausgesperrt hat, denn solange man nicht auf mindestens eine Zeile im Modell zugreifen kann, darf man die App nicht öffnen.
In diesem Fall ist es möglich, die App ohne Daten zu öffnen:
Wenn Sie die App ohne Daten öffnen gibt es nämlich noch keine für den Nutzer unsichtbare Section-Access-Tabelle, die den Zugriff einschränken würde. Man hat also die Gelegenheit, die Zuordnung zu korrigieren, das Script erneut auszuführen und die App anschließend mit den Daten und korrekt eingerichtetem Section Access zu verwenden.