Zu Hauptinhalt springen Zu ergänzendem Inhalt springen

Verwaltung der Sicherheit mit Section Access

Mithilfe des Zugriffsabschnitts im Datenladeskript können Sie die Sicherheit verwalten. Auf diese Weise kann eine einzelne Datei verwendet werden, die die Daten für eine Reihe von Benutzern oder Benutzergruppen enthält. Qlik Sense nutzt die Informationen in Section Access für die Authentifizierung und Autorisierung und schränkt diese Daten so ein, dass die Benutzer nur die für sie vorgesehenen Daten einsehen können.

InformationshinweisBenutzergruppen werden in Qlik Sense Enterprise on Kubernetes nicht unterstützt.

Da die Zugriffskontrolle in das Dokument integriert ist, sind die Dateien auch dann geschützt, wenn sie heruntergeladen und versehentlich in falsche Hände gelangen sollten. Wenn die Sicherheitsanforderungen jedoch hoch sind, sollten das Herunterladen von Dateien und die Offline-Nutzung unterbleiben und Dateien sollten nur vom Qlik Sense-Server veröffentlicht werden. Da sämtliche Daten in einer Datei gespeichert sind, kann die Datei sehr groß werden.

Die App muss veröffentlicht werden, bevor Section Access-Steuerelemente angewendet werden können. Beim Laden der App werden keine neuen oder geänderten Section Access-Skripts angewendet.

Warnhinweis

Damit vertrauliche Daten nicht offengelegt werden, entfernen Sie alle angehängten Dateien mit Section Access-Einstellungen aus der App, bevor Sie sie veröffentlichen.

Angehängte Dateien werden gemeinsam mit der App veröffentlicht. Wenn die veröffentlichte App kopiert wird, sind die angehängten Dateien auch in der Kopie enthalten. Wenn den angehängten Datendateien jedoch Abschnittszugriffseinschränkungen zugewiesen wurden, bleiben diese Einstellungen beim Kopieren der Daten nicht erhalten. Das bedeutet, dass alle Benutzer der kopierten App alle Daten in den angehängten Daten sehen können.

WarnhinweisEin Schnappschuss zeigt Daten entsprechend den Zugriffsrechten des Benutzers an, der den Schnappschuss erstellt. Der Schnappschuss kann daraufhin in einer Story freigegeben werden. Wenn Benutzer jedoch aus einer Story zur Visualisierung zurückkehren, um die Daten in der App "live" anzusehen, gelten die Zugriffsbeschränkungen der eigenen Benutzerrechte.
Warnhinweis

Sie dürfen Master-Dimensionswerten keine Farben zuweisen, wenn Sie Section Access verwenden oder mit vertraulichen Daten arbeiten, da die Werte durch die Farbkonfiguration offengelegt werden könnten.

Abschnitte im Skript

Qlik Sense verarbeitet die Zugriffskontrolle wie andere Daten auch, d. h. sie werden in Form einer oder mehrerer Tabellen durch das Skript eingelesen. Diese Tabellen können dadurch in einer normalen Datenbank gespeichert werden. Die Skriptanweisungen, die die Sicherheitstabellen verwalten, werden innerhalb des Zugriffsabschnitts angegeben, welcher im Skript durch die Bedingung Section Access eingeleitet wird.

Falls ein Zugriffsabschnitt im Skript definiert ist, muss der Teil des Skripts, der die App-Daten lädt, in einem anderen Abschnitt stehen, der durch die Bedingung Section Application eingeleitet wird.

Example:  

Section Access; LOAD * inline [ ACCESS, USERID USER, User_ID ]; Section Application; LOAD... ... from... ...

Sicherheitsfelder

Die Berechtigungsstufen werden Benutzern in einer oder mehreren Tabellen zugewiesen, die innerhalb des Section Access geladen werden. Diese Tabellen können mehrere unterschiedliche benutzerspezifische Systemfelder enthalten, typischerweise USERID, und das Feld, welches die Berechtigungsstufe, ACCESS, definiert. Alle Section Access-Systemfelder werden für die Authentifizierung oder die Autorisierung herangezogen. Nachfolgend finden Sie eine komplette Liste der Zugriffsabschnitt-Systemfelder.

ACCESS

Definiert, welchen Zugriff der entsprechende Benutzer haben soll.

Der Zugriff auf Qlik Sense-Apps kann bestimmten Anwendern oder Anwendergruppen gewährt werden. In der Sicherheitstabelle können Benutzer den Berechtigungsstufen ADMIN oder USER zugewiesen werden. Ist einem Benutzer keine gültige Berechtigungsstufe zugeordnet, kann er die App nicht öffnen.

Eine Person mit ADMIN-Berechtigungen besitzt Zugriff auf alle Daten in der App. Eine Person mit USER-Berechtigungen kann nur auf Daten zugreifen, wie in der Sicherheitstabelle festgelegt.

Wenn Section Access im Szenario der Generierung einer On-Demand-App (ODAG) in der Vorlagen-App verwendet wird, muss der INTERNAL\SA_API-Benutzer als ADMIN in der Section Access-Tabelle enthalten sein. Hier ein Beispiel:

Section Access; LOAD * inline [ ACCESS, USERID ADMIN, INTERNAL\SA_API ];

USERID

Enthält einen String, der einem Qlik Sense-Benutzernamen entspricht. Qlik Sense prüft die Login-Daten des Proxys und vergleicht sie mit den Werten dieses Felds.

GROUP

Enthält einen String, der einer Gruppe in Qlik Sense entspricht. Qlik Sense ordnet den vom Proxy bereitgestellten Benutzer gegenüber dieser Gruppe zu.

InformationshinweisWenn Sie Gruppen zur Reduzierung von Daten verwenden und Qlik Management Console nutzen möchten, ist dennoch der INTERNAL\SA_SCHEDULER-Kontobenutzer erforderlich.

OMIT

Enthält den Namen des Felds, das für diesen speziellen Benutzer ausgelassen werden 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.

InformationshinweisWir empfehlen, OMIT nicht auf Schlüsselfelder anzuwenden. Ausgelassene Schlüsselfelder sind in der Datenmodellansicht sichtbar. Allerdings sind die Inhalte nicht verfügbar, wodurch Benutzer verwirrt werden könnten. Außerdem kann die Anwendung von OMIT auf Felder, die in einer Visualisierung verwendet werden, für Benutzer, die keinen Zugriff auf die ausgelassenen Felder haben, zu einer unvollständigen Visualisierung führen.

Qlik Sense vergleicht den vom Proxy bereitgestellten Benutzer mit UserID und ordnet den Benutzer gegenüber den Gruppen in der Tabelle zu. Wenn der Benutzer zu einer Gruppe gehört, der Zugriff eingeräumt ist, oder der Benutzer übereinstimmt, erhält er Zugriff auf die App.

Da die Qlik Sense-Logik auch im Zugriffsabschnitt angewandt wird, können die Sicherheitsfelder in mehreren Tabellen gespeichert werden. Alle in den LOAD- oder SELECT-Bedingungen im Section Access aufgelisteten Felder müssen groß geschrieben werden. Konvertieren Sie alle Feldnamen mit Kleinbuchstaben in der Datenbank in Großbuchstaben, indem Sie die Funktion Upper verwenden, bevor Sie das Feld durch die LOAD- oder SELECT-Bedingung lesen.

Weitere Informationen finden Sie unter Upper - Skript- und Diagrammfunktion.

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, GROUP) verwendet, interpretiert das Programm, dass sie für alle (auch für nicht explizit aufgeführte) Werte des Felds stehen.

InformationshinweisWird beim Einlesen von Daten aus einer QVD-Datei der Befehl upper verwendet, beeinträchtigt dies die Ladezeit.
InformationshinweisWenn Sie den Zugriffsabschnitt aktiviert haben, können Sie die hier aufgeführten Zugriffsabschnitts-Systemfeldnamen nicht als Feldnamen in Ihrem Datenmodell verwenden.

Example:

In diesem Beispiel können nur Benutzer in der Finanzgruppe das Dokument öffnen.

Zugriff auf Dokument
Zugriff Gruppe
USER Finanzen

Einschränkung des Datenbestands

Qlik Sense unterstützt die dynamische Einschränkung des Datenbestands, durch die einige der Daten einer App für Benutzer, basierend auf dem Section Access-Login, ausgeblendet werden können.

  • Felder (Spalten) können mithilfe des Systemfelds OMIT ausgeblendet werden.
  • Datensätze (Zeilen) können ausgeblendet werden, indem die Zugriffsabschnittsdaten mit den reellen Daten verknüpft werden: Diese Einschränkung erfolgt dadurch, dass ein oder mehrere Felder in beiden Abschnitten des Skripts, also im Zugriffs- und Datenabschnitt, vorkommen. Bei jedem Login versucht Qlik Sense den Abgleich der in Section Access aufgeführten Werte des Felds mit dem gleichnamigen Feld im Datenabschnitt mit genau denselben Feldnamen (Feldnamen müssen GROSSGESCHRIEBEN werden). Nach abgeschlossener Auswahl werden alle übrigen Werte des Felds dauerhaft in Qlik Sense vor dem Benutzer verborgen.
InformationshinweisAlle Feldnamen, die für die Einschränkung des Datenbestands herangezogen werden sollen, müssen in Großbuchstaben geschrieben sein, da alle Daten im Zugriffsabschnitt automatisch in Großbuchstaben konvertiert werden.
InformationshinweisWenn Sie das erneute Laden des Skripts in einer Qlik Management Console-Aufgabe aktivieren möchten, ist der INTERNAL\SA_SCHEDULER-Kontobenutzer mit ADMIN-Zugriff erforderlich.

Example: Einschränkung des Datenbestands über Benutzer-ID

Section Access; LOAD * inline [ ACCESS, USERID, REDUCTION, OMIT USER, AD_DOMAIN\ADMIN, *, USER, AD_DOMAIN\A, 1, USER, AD_DOMAIN\B, 2, NUM USER, AD_DOMAIN\C, 3, ALPHA ADMIN, INTERNAL\SA_SCHEDULER, *, ]; section application; T1: LOAD *, NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

Das Feld REDUCTION (Großbuchstaben) ist nun sowohl in Section Access als auch in Section Application vorhanden (alle Feldwert sind ebenfalls groß geschrieben). Normalerweise werden diese beiden Felder völlig separat verarbeitet. Durch Verwendung von Section Access werden diese Felder jedoch verknüpft und die Anzahl der Datensätze, die dem Benutzer angezeigt werden, verringert.

Das Feld OMIT in Section Access definiert die Felder, die dem Benutzer nicht angezeigt werden sollen.

Dadurch ergibt sich Folgendes:

  • Benutzer ADMIN kann alle Felder und nur die Datensätze sehen, die andere Benutzer in diesem Beispiel sehen können, wenn REDUCTION auf 1, 2 oder 3 festgelegt ist.
  • Benutzer A kann alle Felder sehen, aber nur jene Datensätze, die mit REDUCTION=1 verknüpft sind.
  • Benutzer B kann alle Felder mit Ausnahme von NUM und nur solche Datensätze sehen, die mit REDUCTION=2 verknüpft sind.
  • Benutzer C kann alle Felder mit Ausnahme von ALPHA und nur solche Datensätze sehen, die mit REDUCTION=3 verknüpft sind.

Example: Einschränkung des Datenbestands über Benutzergruppen

Section Access; LOAD * inline [ ACCESS, USERID, GROUP, REDUCTION, OMIT USER, *, ADMIN, *, USER, *, A, 1, USER, *, B, 2, NUM USER, *, C, 3, ALPHA USER, *, GROUP1, 3, ADMIN, INTERNAL\SA_SCHEDULER, *, *, ]; section application; T1: LOAD *, NUM AS REDUCTION; LOAD Chr( RecNo()+ord('A')-1) AS ALPHA, RecNo() AS NUM AUTOGENERATE 3;

Dadurch ergibt sich Folgendes:

  • Benutzer aus der ADMIN-Gruppe können alle Daten und alle Felder sehen.
  • Benutzer aus der A-Gruppe können über alle Felder hinweg Daten sehen, die mit REDUCTION=1 verknüpft sind.
  • Benutzer aus der B-Gruppe können Daten sehen, die mit REDUCTION=2 verknüpft sind, aber nicht im NUM-Feld.
  • Benutzer aus der C-Gruppe können Daten sehen, die mit REDUCTION=3 verknüpft sind, aber nicht im ALPHA-Feld.
  • Benutzer aus der GROUP1-Gruppe können über alle Felder hinweg Daten sehen, die mit REDUCTION=3 verknüpft sind.
  • Der Benutzer INTERNAL\SA_SCHEDULER gehört keiner Gruppe an, kann aber alle Daten in allen Feldern sehen.

    Informationshinweis

    Die Wildcard, das Zeichen *, in dieser Zeile bezieht sich nur auf alle Werte innerhalb der Section Access-Tabelle. Wenn Werte in Section Application vorhanden sind, die nicht im Feld REDUCTION in Section Access verfügbar sind, werden sie eingeschränkt.

Übertragung von Zugriffsbeschränkungen

Durch Laden von Dateien mit Hilfe des binary-Befehls werden Zugriffsbeschränkungen auf die neue Qlik Sense-App übertragen.

Hat diese Seite Ihnen geholfen?

Wenn Sie Probleme mit dieser Seite oder ihren Inhalten feststellen – einen Tippfehler, einen fehlenden Schritt oder einen technischen Fehler –, teilen Sie uns bitte mit, wie wir uns verbessern können!