Beschreibung
Ob das wirklich Sinn macht oder völlig Unsinnig ist, ist nicht die Frage.
Viel mehr ist dir Frage kann das Qlik Sense das und wenn ja wie?
Ja Qlik Sense kann das und es ist ganz einfach, Qlik hat diese auch Dokumentiert und anhand dieser Dokumentation konnten wir das auch aufbauen.
Aktuell können nicht mehrere User Directorys zusammen geführt werden!
Das heisst es können mehrere User Directorys erstellt werden, diese sind aber immer für sich alleine ein Directory.
Falls ein User Directory via ODBC erstellt wird, werden die User nicht mehr auf dem LDAP geprüft, diese müssen in dem User Directory existieren.
Wie kann es umgesetzt werden
In der Dokumentation ist gut beschrieben wie alles funktioniert und was wie gemacht werden soll. Es braucht zwei Tabelle oder Views für den User Sync via ODBC, eine mit den Usern drin und die andere Tabelle mit den Rechten/ Werten.
In der zweiten Tabelle können nicht nur Gruppen/ Rechte mitgegeben werden, sondern auch andere Werte. Die Tabelle nimmt immer ein Key Value Paar auf. Was der Key (Feld Type) ist, kann frei definiert werden, das Value ist dann immer der Wert.
Struktur der beiden Tabellen ist genau einzuhalten und wird unten Beschrieben. Wichtig sind die Feldnamen, Gross-/ Kleinschreibung ist nicht so wichtig, da gewisse DB's das bestimmen. Die Beschreibungen enthalten immer auch noch ein paar Zeilen mit Beispiel Daten.
User Table
Id,userid,name
1,JoD,John Doe
Attribute Table
userid,type,value
JoD,email,Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
JoD,Group,MeineApp1
Wenn diese beiden Tabellen mit genau den Spalten Bezeichnungen bereitgestellt sind, kann die Synchronisation in der QMC konfiguriert werden. Je nach ODBC Treiber ist es einfacher die Verbindung zuerst als System-DSN zu erfassen. Das haben wir auch so gemacht, da wir in dem Beispiel mit ORACLE verbunden haben. Falls das nicht so gemacht wird, muss der Connection String angepasst werden. Mit der DSN ist es einiges einfacher aus meiner Sicht, da wir in dem Fall zuerst die Verbindung zu DB testen können und erst dann Qlik User Sync reinspielt und dies auch wieder einzeln geprüft werden kann.
Wichtig sind die Log-Files, diese sind unter C:\Programdata\Qlik\Sense\Log\Repository\ zu finden. Dort wird falls ein Fehler beim Qlik User Sync auftritt sehr genau protokoliert was falsch ist. Am besten noch die Logging Optionen auf Info setzten, dann werden einiges mehr an Daten protokolliert.
Nun zur eigentliche Konfiguration, wie eine DSN erstellt wird ist euch hoffentlich bekannt und wenn nicht, kann diese sehr einfach im Internet nachgeschlagen werden. Wichtig ist das eine System-DSN erstellt wurde, sonst ist sie später nicht verfügbar. Wenn das alles erledigt ist, gehen wir in die QMC => User Directory Connectors, ganz unten gibt es einen Knopf «Create New», diesen klicken und es geht los.
Im ersten Menü müsst ihr wählen welche Art von User Sync erstellt werden soll.
Hier muss der korrekte Verbindungstyp gewählt werden, am besten SQL (via ODBC) oder ODBC, beides geht.
Nun sollte die Eingabe Maske für ein User Directory aufpoppen.
Parameter | Beschreibung |
Name |
Name der Verbindung, ist frei wählbar |
Type |
Der Typ wird durch die erste Selektion bestimmt und kann nicht angepasst werden. |
Sync user for existing user |
Wenn der Hacken nicht gesetzt ist, werden alle User dem Directorys synchronisiert. Wird der Hacken gesetzt werden nur bekannte User synchronisiert. |
User Directory Name |
Name des Directorys auf Qlik Sense. |
User Table Name |
Name der Tabelle, welche die Daten der User enthält, |
Attributes Tabel Name |
Name der Tabelle mit den Attributen für die User, |
Visible connection string |
Connection String zur DB ohne User und Passwort, |
Encrypted connection string |
Hier werden der User und Passwort erfasst. Auch hier ist alles mit einem Semikolon abgegrenzt und am Schluss ist auch ein Semikolon. Dieses Feld wird nicht gespeichert und bei einem erneuten öffnen müssen diese Daten neu erfasst werden! Sonst geht die Connection nach dem speichern nicht mehr!
|
Synchroniation Timeout |
Wie lange soll es gehen bis ein Timeout kommt, je nach DB muss der hoch gesetzt werden, sollte aber mit 240 Sekunden reichen. |
Tags |
Wie üblich in Qlik Sense es sind einfach Tags. |
Nun den Knopf Apply drücken und dann sollte alles gut sein und ein grüne Meldung aufpoppen.
Falls etwas nicht geklappt hat, wird ein Fehler in Orange angezeigt, dann empfehle ich die Logs zu prüfen.
In den Logs ist sehr gute beschrieben was falsch gelaufen ist und er Fehler kann so sehr schnell gelöst werden.
Als letzte wenn die Connection fehlerfrei ist, muss noch der Task erfasst für den Reload erstellt werden.
Dieser muss direkt hier erfasst werden auf der rechten Seite gibt es die Option Task erstellen, dort kann ein neuer Task erstellt werden. Der Task selbst ist ein normaler Qlik Sense Task, das heisst ihr wisst wie das gemacht wird.
Jetzt seit ihr definitiv fertig mit dem User sync.
Prüfen ob die Sync läuft
- Prüfen ob der Task durch läuft
- Unter den Menü User, prüfen ob ein User mit dem Directory existiert und wenn ja,
die Werte der User prüfen ob alle da sind.
Je nachdem ob bei Punkt 1 oder 2 was nicht passt muss etwas Anderes gemacht werden.
Aber mit den zwei Prüfungen, Kann geprüft werden wo was falsch gelaufen ist und in welchem Bereich.
Viel spass damit. Wir empfehlen euch verwendet wenn möglich immer das Active Directory (LDAP) und lest die Gruppen/ Rollen aus dem Directory aus. Es macht euer Leben einiges einfacher. Wenn ihr das aber mit ODBC machen müsst, habt ihr hier eine Anleitung wie es gehen kann.