Erstellen und Verwalten von OAuth-Clients
OAuth ist ein Standard-Sicherheitsprotokoll für Autorisierung und Delegierung. Damit können Anwendungen von Drittanbietern auf API-Ressourcen zugreifen, ohne die Anmeldedaten des Endbenutzers offenzulegen. Ein OAuth-Client kann einen Autorisierungscode erhalten und ihn gegen ein Zugriffstoken austauschen, das für den Zugriff auf Qlik Cloud-Inhalte über APIs genutzt werden kann.
Öffentliche und vertrauliche Clients
OAuth bietet zwei Client-Typen, öffentliche Clients und vertrauliche Clients, um die Autorisierung zwischen einer Anwendung (dem Client) und dem Autorisierungsserver (Qlik Cloud) zu sichern.
Öffentliche Clients
Öffentliche Clients sind Anwendungen, die nicht den geheimen Clientschlüssel verwenden, weil sie die Vertraulichkeit der erforderlichen Anmeldeinformationen nicht wahren können. Öffentliche Clients in Qlik Cloud sind oft Frontend-Anwendungen wie Anwendungen aus einer Seite mit eingebetteten Analysen oder einer benutzerdefinierten Visualisierungserweiterung in Qlik Sense, die Informationen zum Endbenutzer anfordern, um den Anwendungslebenszyklus zu unterstützen.
Siehe : RFC 6749 Section 2.1: OAuth 2.0 Client Types.
Qlik Cloud unterstützt vertrauliche Clients für traditionelle (serverseitige) Webanwendungen und öffentliche Clients für native Anwendungen und Anwendungen mit einer Seite anhand von spezifischen Gewährungstypen.
Vertrauliche Clients
Ein vertraulicher Client ist eine Anwendung, die eine Client-ID und einen geheimen Clientschlüssel auf sichere Weise pflegt, ohne sie an nicht autorisierte Parteien offenzulegen. Vertrauliche Clients können auf geschützte Ressourcen zugreifen, weil sie über den geheimen Clientschlüssel verfügen. Ein Beispiel für einen vertraulichen Client ist eine Webanwendung mit einem sicheren Backend, die mit Qlik Cloud-APIs interagiert, um Datenaktualisierungsaufgaben zu orchestrieren oder Benutzerzugriff auf Inhalte zu verwalten.
Autorisierungsgewährungstypen
Qlik unterstützt zwei Autorisierungsgewährungstypen bzw. -abläufe: Authorization Code Flow und Authorization Code Flow with Proof Key for Code Exchange (PKCE). Diese Abläufe sind einander sehr ähnlich, unterstützen aber verschiedene Anwendungsfälle.
Authorization Code Flow
Traditionelle Webanwendungen sind serverseitige Anwendungen, deren Quellcode nicht öffentlich zugänglich ist. Daher können sie Authorization Code Flow nutzen, bei dem ein Autorisierungscode gegen ein Token eingetauscht wird. Webanwendungen, die diesen Ablauf nutzen, müssen serverseitig sein, da der geheime Clientschlüssel der Anwendung während des Austauschs gegen einen Token an den Autorisierungsserver übergeben wird.
Siehe Authorization Code Flow für weitere Einzelheiten.
Authorization Code Flow with Proof Key for Code Exchange (PKCE)
Native Anwendungen und Anwendungen mit einer Seite können keinen geheimen Clientschlüssel speichern, weil ihr Quellcode über Dekompilierung der App oder Anzeigen der App-Quelle über einen Browser zugänglich ist. PKCE fügt öffentlichen Clients eine weitere Schutzebene hinzu, indem die Verwendung eines Codeverifizierers verlangt wird, um ein Zugriffs-Token zu erhalten.
Siehe Authorization Code Flow with Proof Key for Code Exchange (PKCE) für weitere Details.
Begrenzende Anwendungsbereiche für OAuth-Clients
OAuth-Anwendungsbereiche („Scopes“) sind eine Möglichkeit, den Zugriff zu begrenzen, der OAuth-Client-Apps gewährt wird. Beispielsweise kann ein Zugriffstoken, das für eine Client-App ausgestellt wurde, vollständigen Zugriff auf geschützte Ressourcen oder nur Lesezugriff erhalten.
In Qlik Cloud kann über Anwendungsbereiche der Client-Zugriff auf die verfügbaren Funktionen und Ressourcen begrenzt werden. Jeder Anwendungsbereich gewährt eine andere Zugriffsstufe. Clients ohne Anwendungsbereiche haben keinen Zugriff auf Ressourcen.
Erstellen eines OAuth-Clients
OAuth-Clients werden von Mandantenadministratoren über das Aktivitätscenter Verwaltung auf der Seite „OAuth“ verwaltet.
Mit einem OAuth-Client können Sie Ihre Client-Anwendung in Qlik Cloud integrieren.
Weitere Informationen zum Erstellen eines OAuth-Clients für die Bereitstellung und Installation des Qlik Add-Ins für Microsoft Excel finden Sie unter Erstellen eines OAuth-Clients für das Qlik Add-In für Microsoft Excel.
Gehen Sie folgendermaßen vor:
-
Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
-
Klicken Sie auf Neu erstellen.
-
Wählen Sie einen Clienttyp aus.
Wählen Sie Web für vertrauliche Clients und App mit einer Seite oder Nativ für öffentliche Clients.
-
Geben Sie dem OAuth-Client im Dialogfeld einen Namen.
-
Fügen Sie optional eine Beschreibung hinzu.
-
Wählen Sie einen der verfügbaren Anwendungsbereiche aus, indem Sie entweder scrollen oder das Suchfeld verwenden.
Anwendungsbereich Berechtigung user_default Voller Zugriff auf Ihr Konto und Ihre Inhalte admin_classic Voller Administratorzugriff auf Ihren Mandanten
Siehe auch: Bereitstellen und Verwalten von Qlik Cloud
InformationshinweisFür die Client-Typen App mit einer Seite und Nativ nicht unterstützt.admin.apps Alle Apps im Mandanten lesen und verwalten.
Siehe auch: Verwalten von Apps
admin.apps:export
Alle Apps im Mandanten exportieren
Siehe auch: Exportieren von Apps
admin.apps:read
Alle Apps im Mandanten lesen admin.automations Alle Automatisierungen im Mandanten lesen und verwalten
Siehe auch: Verwalten von Automatisierungen
admin.automations:read
Alle Automatisierungen im Mandanten lesen admin.spaces Alle Bereiche im Mandanten lesen und verwalten
Siehe auch: Verwalten von Bereichen
admin.spaces:read
Alle Bereiche im Mandanten lesen Apps Ihre Apps lesen und verwalten
Siehe auch: Verwalten von Apps
apps:export
Ihre Apps exportieren
Siehe auch: Exportieren von Apps
apps:read
Ihre Apps lesen automations Ihre Automatisierungen lesen und verwalten
Siehe auch: Verwalten von Automatisierungen
automations:read
Ihre Automatisierungen lesen automl-experiments Ihre ML-Experimente lesen und verwalten automl-deployments Ihre ML-Bereitstellungen lesen und verwalten identity.email:read Ihre E-Mail-Adresse lesen
Siehe auch: Identitätsanbieter
identity.name:read
Ihren vollständigen Namen lesen identity.picture:read Ihr Profilbild lesen
Siehe auch: Identitätsanbieter
identity.subject:read
Ihre Betreffkennung lesen spaces.data Ihre Datenbereiche lesen und verwalten
Siehe auch: Verwalten von Bereichen
spaces.data:read
Ihre Datenbereiche lesen spaces.managed Ihre verwalteten Bereiche lesen und verwalten
Siehe auch: Verwalten von Bereichen
spaces.managed:read
Ihre verwalteten Bereiche lesen spaces.shared Ihre freigegebenen Bereiche lesen und verwalten
Siehe auch: Verwalten von Bereichen
spaces.shared:read
Ihre freigegebenen Bereiche lesen offline_access Im Offline-Modus auf Ressourcen zugreifen
InformationshinweisFür den Client-Typ App mit einer Seite nicht unterstützt.InformationshinweisSie können die Schaltflächen Alle und Ausgewählt oberhalb der Liste verwenden, um alle Anwendungsbereiche oder nur ausgewählte Anwendungsbereiche anzuzeigen.InformationshinweisDie obige Liste umfasst die Anwendungsbereiche, die in der anfänglichen Version unterstützt werden. Eine vollständige Liste der Anwendungsbereiche, einschließlich derjenigen, die nach der anfänglichen Version hinzugefügt werden, finden Sie im Qlik Developer Portal. -
Geben Sie eine oder mehrere Umleitungs-URLs für die OAuth-Clientanwendung ein.
TipphinweisDie Umleitungs-URL ist die Adresse, an die der Autorisierungsserver den Browser des Benutzers sendet, nachdem erfolgreich authentifiziert und die Berechtigung für die Clientanwendung gewährt wurde. Ein Beispiel ist https://www.exampleapp.com/oauth/callback, wobei /oauth/callback die Authentifizierungs-Callbacks vom OAuth-Anbieter verarbeitet.Qlik Cloud leitet den Benutzer nach einer erfolgreichen Autorisierung nur dann an die Anwendung zurück, wenn die URL in der Zulassungsliste der Umleitungs-URLs aufgeführt ist. URLs müssen mit https:// beginnen, es sei denn, die Domäne ist localhost. In diesem Fall können sie mit http:// beginnen. Native Apps können auch das anwendungsspezifische Linkformat verwenden, beispielsweise exampleapp://.
Klicken Sie dann auf Hinzufügen, um die Umleitungs-URL zur Zulassungsliste hinzuzufügen.
-
Für den Clienttyp „Web-App“ oder „App mit einer Seite“ geben Sie eine oder mehrere zulässige Herkünfte an. Der Zugriff auf die Anwendung wird nur gewährt, wenn die URL der Liste der zulässigen Herkünfte hinzugefügt wird.
-
Für den Clienttyp „Web“ können Sie Rechner zu Rechner (M2M) zulassen oder M2M-Benutzeridentitätsannahme zulassen für automatisierten Systemzugriff ohne Benutzerinteraktion aktivieren. Mit M2M-Benutzerannahme wird zugelassen, dass Ihre Anwendung während der Authentifizierung im Namen von Benutzern handelt.
-
Klicken Sie auf Erstellen.
-
Klicken Sie auf In Zwischenablage kopieren, um die Client-ID und den Client-Schlüssel für später zu speichern. Speichern Sie den Client-Schlüssel an einem sicheren Ort. Klicken Sie auf Erledigt.
InformationshinweisÖffentliche Clients haben keinen geheimen Clientschlüssel.
Erstellen eines OAuth-Clients für das Qlik Add-In für Microsoft Excel
Eine OAuth-Client-Konfiguration ist erforderlich, um das Qlik-Add-In für Microsoft Excel zu installieren. Das Add-In wird von den Berichtsentwicklern genutzt, um die Berichtsvorlagen vorzubereiten, die die Ausgabe der tabellarischen Berichte über die Qlik Sense App steuern.
Damit OAuth mit dem Add-In funktioniert, muss der OAuth-Client exakt mit der unten gezeigten Konfiguration konfiguriert werden.
Gehen Sie folgendermaßen vor:
-
Gehen Sie im Aktivitätscenter Verwaltung in Qlik Cloud zu Einstellungen.
-
Klicken Sie auf Neu erstellen.
-
Wählen Sie im Dropdown-Menü Client-Typ die Option App mit einer Seite aus. Es werden weitere Felder angezeigt.
-
Fügen Sie einen Namen ein. Die Beschreibung ist optional.
-
Aktivieren Sie mindestens das Kontrollkästchen, um den user_default-Anwendungsbereich einzuschließen. Sie können weitere Anwendungsbereiche in die Konfiguration einschließen, aber ohne user_default funktioniert die Installation nicht.
Unter Erstellen eines OAuth-Clients finden Sie eine vollständige Beschreibung der einzelnen verfügbaren Anwendungsbereiche.
-
Fügen Sie im Feld Umleitungs-URLs hinzufügen die URL Ihres Mandanten ein, gefolgt von der festen Zeichenfolge: /office-add-ins/oAuthLoginSuccess.html
Das Ergebnis sollte wie folgt lauten: https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
Klicken Sie auf Hinzufügen.
-
Fügen Sie im Feld Zugelassene Herkünfte hinzufügen Ihre Mandante-URL ein und klicken Sie auf Hinzufügen.
-
Klicken Sie auf Erstellen.
-
Das Fenster Client-ID kopieren wird angezeigt. Sie können die Client-ID in die Zwischenablage kopieren oder auf Fertig klicken, um das Fenster zu schließen.
Nachdem Sie den OAuth-Client erstellt haben, rufen Sie den Link zu der aktualisierten XML-Manifest-Datei über das Aktivitätscenter Verwaltung ab. Gehen Sie im Aktivitätscenter Verwaltung zur Seite Einstellungen und navigieren Sie zu Freigaben und Berichte > Excel Add-In . Verwenden Sie diesen Link, um das Add-In bereitzustellen und zu installieren.
Weitere Informationen zum Generieren der Manifest-Datei und zum Bereitstellen und Installieren eines Add-Ins finden Sie unter:
-
Entwickeln und Installieren des Qlik Add-Ins für Microsoft Excel
-
Verwalten von Installations-Manifests für das Qlik Add-In für Microsoft Excel
Erstellen eines OAuth-Clients für das anonyme Einbetten von App-Inhalten
Um App-Inhalte für anonymen Zugriff mit qlik-embed einzubetten, müssen Sie einen OAuth-Client mit einem speziell für diesen Anwendungsfall entwickelten Typ erstellen.
Gehen Sie folgendermaßen vor:
-
Gehen Sie im Aktivitätscenter Verwaltung zum Abschnitt OAuth.
-
Klicken Sie auf Neu erstellen.
-
Wählen Sie im Dropdown-Menü Client-Typ die Option Anonym einbetten aus.
-
Geben Sie einen Namen und optional eine Beschreibung für den OAuth-Client ein.
-
Geben Sie unter Zugelassene Herkünfte jede Herkunft ein, die Sie autorisieren müssen. Dies sind die Domänen, die auf den Qlik Cloud Mandanten zugreifen, um die Informationen für die eingebetteten Analysen abzurufen.
Klicken Sie nach dem Einfügen jeder einzelnen URL auf Hinzufügen.
-
Wenn Sie fertig sind, klicken Sie auf Erstellen.
-
Klicken Sie auf In Zwischenablage kopieren, um die Client-ID für später zu speichern. Sie wird benötigt, wenn die App-Inhalte mit qlik-embed eingebettet werden.
-
Klicken Sie auf Erledigt.
Bearbeiten eines OAuth-Clients
Sie können einen OAuth-Client umbenennen, die Beschreibung aktualisieren oder die Umleitungs-URLs verwalten.
Gehen Sie folgendermaßen vor:
- Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
- Wählen Sie den OAuth-Client aus, den Sie bearbeiten möchten. Klicken Sie auf ... und wählen Sie dann Bearbeiten aus.
- Ändern Sie im Dialogfeld die OAuth-Clientoptionen wie erforderlich.
- Klicken Sie auf Speichern.
Veröffentlichen eines OAuth-Clients
Erstellte OAuth-Clients sind automatisch an den Mandanten gebunden, mit dem sie erstellt wurden. Sie können einen OAuth-Client so konfigurieren, dass er freigegeben wird und allen anderen Mandanten einer Region zur Verfügung steht. Die Anwendungen von Drittanbietern, die eine Verbindung mit Qlik Cloud herstellen, können dann die gleiche Client-ID für alle Qlik Cloud-Mandanten haben. Der Anwendungsbesitzer kann ohne Eingreifen eines Mandantenadministrators geheime Schlüssel wechseln und die Konfiguration aktualisieren. Mandantenadministratoren müssen keine Anmeldedaten verwalten oder Konfigurationsdetails kennen.
Damit andere Mandanten eine Verbindung mit einem OAuth-Client herstellen können, muss dieser veröffentlicht werden.
Gehen Sie folgendermaßen vor:
- Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
- Wählen Sie den OAuth-Client aus, den Sie veröffentlichen möchten. Klicken Sie auf ... und wählen Sie Veröffentlichen aus.
- Klicken Sie auf Veröffentlichen.
Wenn ein Benutzer zu einer externen Website navigiert, die Qlik OAuth verwendet, wird er aufgefordert, den Mandanten-Hostnamen und dann die Benutzeranmeldedaten einzugeben, es sei denn, der Benutzer hat bereits eine aktive SaaS-Sitzung. Bei der ersten Anmeldung bei einem externen OAuth-Client ist die Zustimmung eines Mandantenadministrators erforderlich. Nach der Genehmigung wird der neue OAuth-Client im Aktivitätscenter Verwaltung angezeigt.
Zustimmungsmethode
Es gibt zwei Optionen für die Zustimmung: Erforderlich und Vertrauenswürdig. Bei der Option Erforderlich wird bei der Autorisierung mit dem OAuth-Client jedes Mal die Zustimmung angefordert, wenn für den Benutzer ein neuer Bereich angefordert wird. Bei der Option Vertrauenswürdig erhält der Benutzer keine Eingabeaufforderung. Für nicht veröffentlichte Clients kann nur Vertrauenswürdig verwendet werden. Für veröffentlichte Clients ist die Zustimmungsmethode immer Erforderlich.
Anzeigen und Kopieren der OAuth-Konfiguration
Wählen Sie im Abschnitt OAuth des Aktivitätscenters Verwaltung die Option OAuth-Konfiguration anzeigen aus, um die Konfiguration als Code-Snippet und eine zu kopierende URL anzuzeigen.
Löschen eines OAuth-Clients
Sie können einen OAuth-Client löschen, wenn er nicht mehr benötigt wird oder wenn Sie den Zugriff widerrufen möchten.
Gehen Sie folgendermaßen vor:
-
Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
-
Wählen Sie den OAuth-Client aus, den Sie entfernen möchten, und klicken Sie auf Löschen.
InformationshinweisSie können mehr als einen OAuth-Client gleichzeitig entfernen. - Bestätigen Sie das Löschen des OAuth-Clients.
Verwalten von Client-Schlüsseln
In manchen Fällen müssen Sie einen Client-Schlüssel hinzufügen oder entfernen, beispielsweise wenn ein Client-Schlüssel kompromittiert ist oder wenn Ihre Sicherheitsrichtlinie eine regelmäßige Aktualisierung des Client-Schlüssels vorschreibt. Sie können auch mehrere Client-Schlüssel hinzufügen, um Ausfallzeiten in der Anwendung zu vermeiden. Sie können z. B. einen zweiten Schlüssel erstellen, den neuen Schlüssel in der Client-Anwendung bereitstellen und dann den alten Schlüssel löschen.
Gehen Sie folgendermaßen vor:
- Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
- Wählen Sie den OAuth-Client aus, den Sie verwalten möchten. Klicken Sie auf ... und wählen Sie dann Schlüssel verwalten aus.
- Gehen Sie im Dialogfeld wie folgt vor:
- Um einen neuen Client-Schlüssel hinzuzufügen, klicken Sie auf Neuen Client-Schlüssel generieren.
- Um einen Client-Schlüssel zu entfernen, klicken Sie auf neben dem Client-Schlüssel.
- Klicken Sie auf Schließen.
Erstellen einer OAuth-Client-Anwendung für den Zugriff auf Qlik Cloud
Nachdem Sie einen OAuth-Client bei Qlik Cloud registriert haben, können Sie die zugehörige Client-ID und den Client-Schlüssel in Ihrer eigenen OAuth-Client-Anwendung verwenden. Tutorials zum Erstellen von Client-Anwendungen in einigen der üblichsten Codiersprachen finden Sie im Abschnitt OAuth im Entwicklerportal.