Erstellen und Verwalten von OAuth-Clients
OAuth ist ein 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 fordert einen Autorisierungscode an, tauscht ihn gegen ein Zugriffstoken aus und nutzt das Token für den Zugriff auf Qlik Cloud Inhalte über APIs.
OAuth-Client-Typen
Ein OAuth-Client ist eine Webanwendung oder Software, die im Namen eines Benutzers den Zugriff auf Ressourcen in Qlik Cloud anfordert. 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.
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 Autorisierungsflüssen.
Die offizielle OAuth 2.0-Spezifikation zu Client-Typen finden Sie in RFC 6749 Section 2.1: OAuth 2.0 Client Types.
Öffentliche Clients
Öffentliche Clients sind Anwendungen, die nicht den geheimen Client-Schlüssel verwenden, weil sie die Vertraulichkeit der erforderlichen Anmeldeinformationen nicht wahren können. In Qlik Cloud sind dies Frontend-Anwendungen wie Anwendungen mit einer Seite (Single-Page Applications, SPA) mit eingebetteten Analysen oder benutzerdefinierte Visualisierungserweiterungen in Qlik Sense, die eine Benutzerauthentifizierung erfordern.
Vertrauliche Clients
Vertrauliche Clients können eine Client-ID und einen geheimen Client-Schlüssel sicher speichern und diese zur Authentifizierung beim Autorisierungsserver verwenden. Diese Clients können auf geschützte Ressourcen zugreifen, weil sie über den geheimen Client-Schlüssel verfügen.
Beispiel: Eine Webanwendung mit einem sicheren Backend, die mit Qlik Cloud APIs interagiert, um Benutzerzugriff zu verwalten oder Datenaktualisierungsaufgaben zu orchestrieren.
OAuth-Autorisierungsflüsse
Qlik unterstützt zwei Autorisierungsflüsse (Gewährungstypen):
-
Authorization Code Flow: für vertrauliche Clients.
-
Authorization Code Flow with Proof Key for Code Exchange (PKCE): für öffentliche Clients.
Authorization Code Flow
Dieser Fluss wird von serverseitigen Anwendungen verwendet, bei denen der Quellcode nicht öffentlich zugänglich ist. Dabei wird ein Autorisierungscode gegen ein Zugriffstoken ausgetauscht, wobei der geheime Client-Schlüssel für die Authentifizierung verwendet wird. Webanwendungen, die diesen Fluss nutzen, müssen serverseitig sein, da der geheime Client-Schlüssel während des Tokenaustauschs an den Autorisierungsserver übergeben wird.
Weitere Informationen über den Authorization Code Flow finden Sie in der offiziellen OAuth 2.0 Dokumentation: Authorization Code Flow.
Authorization Code Flow with PKCE
Native Anwendungen und Anwendungen mit einer Seite können einen geheimen Client-Schlüssel nicht sicher speichern, da ihr Quellcode dekompiliert oder in einem Browser inspiziert werden kann. PKCE erhöht die Sicherheit, indem es die Verwendung eines Code-Verifizierers erfordert, um ein Zugriffstoken zu erhalten.
Weitere Informationen über die Autorisierung mit PKCE finden Sie in der offiziellen OAuth 2.0-Dokumentation: Authorization Code Flow with Proof Key for Code Exchange (PKCE).
OAuth-Anwendungsbereiche und Berechtigungen
OAuth-Anwendungsbereiche definieren die Zugriffsstufe, die OAuth-Client-Anwendungen gewährt wird. Ein Zugriffstoken kann zum Beispiel vollständigen Zugriff auf Ressourcen oder nur Lesezugriff gewähren. In Qlik Cloud steuern Anwendungsbereiche den Client-Zugriff auf die verfügbaren Funktionen und Ressourcen. Ohne Anwendungsbereiche können Clients auf keine Ressourcen zugreifen.
Verfügbare OAuth-Anwendungsbereiche
Die Tabelle enthält eine Liste der verfügbaren Anwendungsbereiche und der damit verbundenen Berechtigungen:
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 |
|
Alle Apps im Mandanten exportieren Siehe auch: Exportieren von Apps |
|
Alle Apps im Mandanten lesen |
admin.automations |
Alle Automatisierungen im Mandanten lesen und verwalten Siehe auch: Verwalten von Automatisierungen |
|
Alle Automatisierungen im Mandanten lesen |
admin.spaces |
Alle Bereiche im Mandanten lesen und verwalten Siehe auch: Verwalten von Bereichen |
|
Alle Bereiche im Mandanten lesen |
Apps |
Ihre Apps lesen und verwalten Siehe auch: Verwalten von Apps |
|
Ihre Apps exportieren Siehe auch: Exportieren von Apps |
|
Ihre Apps lesen |
automations |
Ihre Automatisierungen lesen und verwalten Siehe auch: Verwalten von Automatisierungen |
|
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 in Qlik Cloud |
identity.name:read |
Ihren vollständigen Namen lesen |
identity.picture:read |
Ihr Profilbild lesen Siehe auch: Identitätsanbieter in Qlik Cloud |
identity.subject:read |
Ihre Betreffkennung lesen |
spaces.data |
Ihre Datenbereiche lesen und verwalten Siehe auch: Verwalten von Bereichen |
|
Ihre Datenbereiche lesen |
spaces.managed |
Ihre verwalteten Bereiche lesen und verwalten Siehe auch: Verwalten von Bereichen |
|
Ihre verwalteten Bereiche lesen |
spaces.shared |
Ihre freigegebenen Bereiche lesen und verwalten Siehe auch: Verwalten von Bereichen |
|
Ihre freigegebenen Bereiche lesen |
offline_access |
Im Offline-Modus auf Ressourcen zugreifen InformationshinweisFür den Client-Typ App mit einer Seite nicht unterstützt.
|
Erstellen von OAuth-Clients
Mandantenadministratoren verwalten OAuth-Clients im Aktivitätscenter Verwaltung auf der Seite OAuth. Mit einem OAuth-Client können Sie Ihre Client-Anwendung in Qlik Cloud integrieren, um sicheren Zugriff auf Ressourcen zu erhalten.
Beschränkungen für OAuth-Clients
Die folgenden Beschränkungen gelten:
-
Maximal 5 Weiterleitungs-URLs pro Client.
-
Maximal 5 zulässige Herkünfte pro Client.
-
Maximal 5 geheime Client-Schlüssel pro Client.
-
Maximal 200 OAuth-Clients pro Mandant.
Schritte zur Erstellung eines OAuth-Clients
Gehen Sie folgendermaßen vor:
-
Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
-
Klicken Sie auf Neu erstellen.
-
Wählen Sie einen Client-Typ aus:
-
Web für vertrauliche Clients
-
App mit einer Seite oder Nativ für öffentliche Clients.
-
-
Geben Sie im Dialogfeld einen Namen für den OAuth-Client ein.
-
Fügen Sie optional eine Beschreibung hinzu.
-
Wählen Sie einen der verfügbaren Anwendungsbereiche aus, indem Sie entweder scrollen oder das Suchfeld verwenden.
TipphinweisVerwenden Sie die Schaltflächen Alle und Ausgewählt, um alle Anwendungsbereiche oder nur ausgewählte Anwendungsbereiche anzuzeigen. -
Geben Sie eine oder mehrere Umleitungs-URLs für die OAuth-Client-Anwendung ein (maximal 5). Klicken Sie dann auf Hinzufügen, um die Umleitungs-URL zur Zulassungsliste hinzuzufügen.
-
Die 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://.
-
-
Für den Client-Typ Web oder App mit einer Seite geben Sie eine oder mehrere zulässige Herkünfte an (maximal 5).
-
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 Client-Typ Web können Sie eine der folgenden Optionen für den automatisierten Systemzugriff ohne Benutzerinteraktion aktivieren:
-
Rechner zu Rechner (M2M) zulassen: Ermöglicht die Kommunikation von System zu System ohne Beteiligung des Benutzers.
-
M2M-Benutzeridentitätsannahme zulassen: Erlaubt Ihrer Anwendung, sich im Namen von Benutzern zu authentifizieren und während des Authentifizierungsprozesses als diese zu handeln.
-
-
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 geheimen Client-Schlüssel an einem sicheren Ort.
InformationshinweisÖffentliche Clients haben keinen geheimen Client-Schlüssel. -
Klicken Sie auf Fertig.
OAuth-Clients für spezifische Anwendungsfälle
OAuth-Client-Anwendungsfälle finden Sie in den folgenden Ressourcen:
-
OAuth Overview im Qlik Developer Portal: Übersicht über OAuth-Anwendungsfälle und die verschiedenen OAuth-Typen.
-
Erstellen eines OAuth-Clients für das Qlik Add-In für Microsoft Excel: Richten Sie einen OAuth-Client für die Installation des Qlik Add-Ins für Microsoft Excel ein.
-
Erstellen eines OAuth-Clients für das anonyme Einbetten von App-Inhalten: Erstellen Sie einen OAuth-Client, um anonymen Zugriff auf eingebettete App-Inhalte zu ermöglichen.
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 Verfügbare OAuth-Anwendungsbereiche 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 Fertig.
Bearbeiten von 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 die OAuth-Client-Optionen wie erforderlich.
- Klicken Sie auf Speichern.
Löschen von 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 einen oder mehrere OAuth-Clients aus, die Sie entfernen möchten, und klicken Sie auf Löschen.
- Bestätigen Sie das Löschen.
Veröffentlichen von OAuth-Clients
OAuth-Clients sind anfänglich an den Mandanten gebunden, mit dem sie erstellt wurden. Sie können einen OAuth-Client jedoch so konfigurieren, dass er für mehrere Mandanten innerhalb derselben Region freigegeben wird. Dies ermöglicht es Anwendungen von Drittanbietern, dieselbe Client-ID in verschiedenen Qlik Cloud Mandanten zu verwenden.
Anwendungsbesitzer können ohne Eingreifen eines Mandantenadministrators geheime Schlüssel wechseln und die Konfiguration aktualisieren. Mandantenadministratoren müssen keine Anmeldedaten verwalten und keine Konfigurationsdetails für den veröffentlichten Client kennen.
Damit andere Mandanten eine Verbindung mit einem OAuth-Client herstellen können, müssen Sie ihn veröffentlichen.
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 neben dem Client auf
und wählen Sie Veröffentlichen aus.
- Klicken Sie zur Bestätigung auf Veröffentlichen.
Nachdem der OAuth-Client veröffentlicht ist, steht er für die externe Nutzung durch andere Mandanten zur Verfügung. Wenn ein Benutzer eine externen Website besucht, die diesen OAuth-Client verwendet, wird er aufgefordert, den Mandanten-Hostnamen und die Benutzeranmeldedaten einzugeben, es sei denn, der Benutzer hat bereits eine aktive SaaS-Sitzung.
Für die erste Anmeldung ist die Zustimmung eines Mandantenadministrators erforderlich. Nach der Genehmigung wird der OAuth-Client im Aktivitätscenter Verwaltung des Mandanten angezeigt.
Zustimmungsmethoden
Standardmäßig fordert Qlik Cloud die Benutzer bei der Authentifizierung zur Zustimmung auf. Zur Vereinfachung des Prozesses, insbesondere bei vertrauenswürdigen Anwendungen, können Sie die Zustimmungsmethode auf „Vertrauenswürdig“ festlegen, wodurch die Zustimmungsaufforderung übersprungen wird.
Es gibt zwei Optionen für die Zustimmung:
-
Erforderlich: Der Benutzer wird jedes Mal zur Zustimmung aufgefordert, wenn vom OAuth-Client ein neuer Anwendungsbereich angefordert wird. Diese Methode gewährleistet eine ausdrückliche Benutzergenehmigung für jede Berechtigungsstufe.
-
Vertrauenswürdig: Der Benutzer wird nicht zur Zustimmung aufgefordert. Diese Option ist nur für unveröffentlichte Clients verfügbar. Für veröffentlichte Clients ist die Zustimmungsmethode immer Erforderlich, um die Sicherheit über mehrere Mandanten hinweg zu gewährleisten.
Ändern der Zustimmungsmethode
Um die Zustimmungsmethode für einen OAuth-Client zu ändern, gehen Sie wie folgt vor:
- Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
- Klicken Sie im OAuth-Client auf
und wählen Sie Zustimmungsmethode ändern aus.
- Wählen Sie Erforderlich oder Vertrauenswürdig aus und klicken Sie dann auf Zustimmungsmethode ändern.
Anzeigen und Kopieren der OAuth-Konfiguration
Wählen Sie im Abschnitt OAuth des Aktivitätscenters Verwaltung die Option OAuth-Konfiguration anzeigen aus, um die Authentifizierungsdetails für Ihren Qlik Cloud Mandanten anzuzeigen. Hier wird ein Code-Ausschnitt mit OAuth-Endpunkten und -Einstellungen sowie eine URL angezeigt, die Sie zur Verwendung in externen Anwendungen kopieren können.
Sie können diese Konfiguration verwenden, um Qlik Cloud in Anwendungen von Drittanbietern zu integrieren, den API-Zugriff zu automatisieren oder die Authentifizierung für eingebettete Analysen zu konfigurieren.
Verwalten von Client-Schlüsseln
Wenn ein geheimer Client-Schlüssel kompromittiert wurde oder wenn Ihre Sicherheitsrichtlinie regelmäßige Aktualisierungen erfordert, können Sie Schlüssel hinzufügen oder entfernen. Um Ausfallzeiten zu vermeiden, können Sie mehrere geheime Client-Schlüssel (maximal 5) hinzufügen, Ihre Client-Anwendung aktualisieren und dann den alten Schlüssel entfernen.
Hinzufügen eines geheimen Client-Schlüssels
Gehen Sie folgendermaßen vor:
- Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
- Suchen Sie den OAuth-Client.
- Klicken Sie auf
und wählen Sie dann Schlüssel verwalten aus.
- Klicken Sie auf Neuen Client-Schlüssel generieren.
-
Kopieren Sie den geheimen Client-Schlüssel und die Client-ID und speichern Sie sie an einem sicheren Ort.
InformationshinweisSie können später nicht mehr auf den Client-Schlüssel zugreifen. - Klicken Sie auf Schließen.
Entfernen eines geheimen Client-Schlüssels
Gehen Sie folgendermaßen vor:
- Gehen Sie im Aktivitätscenter Verwaltung zu OAuth.
- Suchen Sie den OAuth-Client.
- Klicken Sie auf
und wählen Sie dann Schlüssel verwalten aus.
- Klicken Sie auf
neben dem Client-Schlüssel.
- Klicken Sie auf Schließen.
Erstellen von OAuth-Client-Anwendungen 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 OAuth-Client-Anwendung verwenden.
Eine schrittweise Anleitung finden Sie in den Tutorials im Abschnitt OAuth Overview des Qlik Developer Portal. In diesen Tutorials erfahren Sie, wie Sie mit gängigen Programmiersprachen Client-Anwendungen erstellen.