Création et gestion de clients OAuth
OAuth est un protocole de sécurité utilisé à des fins d'autorisation et de délégation. Il permet à des applications tierces d'accéder à des ressources d'API sans divulguer d'informations d'identification d'utilisateur final. Un client OAuth demande un code d'autorisation, l'échange contre un jeton d'accès et utilise le jeton pour accéder au contenu Qlik Cloud via des API.
Types de client OAuth
Un client OAuth est une application Web ou un logiciel qui demande l'accès à des ressources dans Qlik Cloud au nom d'un utilisateur. OAuth définit deux types de client, les clients publics et les clients confidentiels, pour sécuriser l'autorisation entre une application (le client) et le serveur d'autorisation (Qlik Cloud).
Qlik Cloud supporte les clients confidentiels pour les applications Web (côté serveur) classiques et les clients publics pour les applications natives et d'une seule page utilisant des flux d'autorisation spécifiques.
Pour la spécification OAuth 2.0 officielle sur les types de client, consultez RFC 6749 Section 2.1 : Types de client OAuth 2.0.
Clients publics
Les clients publics sont des applications qui n'utilisent pas de clé secrète client, car elles ne peuvent pas préserver la confidentialité des informations d'identification requises. Dans Qlik Cloud, il s'agit notamment d'applications frontales telles que des applications d'une seule page (SPA) avec des analyses intégrées ou des extensions de visualisation personnalisées dans Qlik Sense nécessitant l'authentification de l'utilisateur.
Clients confidentiels
Les clients confidentiels peuvent stocker en toute sécurité un ID client et une clé secrète client et les utiliser pour s'authentifier auprès du serveur d'autorisation. Ces clients peuvent accéder aux ressources protégées, car ils possèdent la clé secrète client.
Exemple : Une application Web avec un backend sécurisé qui interagit avec des API Qlik Cloud pour gérer l'accès des utilisateurs ou orchestrer des tâches d'actualisation de données.
Flux d'autorisation OAuth
Qlik supporte deux flux d'autorisation (types d'octroi) :
-
Flux de code d'autorisation : pour les clients confidentiels.
-
Flux de code d'autorisation avec Proof Key for Code Exchange (PKCE) : pour les clients publics.
Authorization Code Flow
Ce flux est utilisé par les applications côté serveur dans lesquelles le code source n'est pas exposé publiquement. Il consiste à échanger un code d'autorisation contre un jeton d'accès, la clé secrète client étant utilisée pour l'authentification. Les applications Web qui utilisent ce flux doivent se trouver côté serveur, car la clé secrète client est transmise au serveur d'autorisation lors de l'échange de jeton.
Pour plus d'informations sur le flux de code d'autorisation, consultez la documentation OAuth 2.0 officielle : Flux de code d'autorisation.
Flux de code d'autorisation avec PKCE
Les applications natives et d'une seule page ne peuvent pas stocker en toute sécurité une clé secrète client, car leur code source peut être décompilé ou inspecté dans un navigateur. PKCE renforce la sécurité en exigeant l'utilisation d'un vérificateur de code pour obtenir un jeton d'accès.
Pour plus d'informations sur l'autorisation avec PKCE, consultez la documentation OAuth 2.0 officielle : Flux de code d'autorisation avec Proof Key for Code Exchange (PKCE).
Étendues et autorisations OAuth
Les étendues OAuth définissent le niveau d'accès accordé aux applications clientes OAuth. Par exemple, un jeton d'accès peut permettre un accès complet aux ressources ou le restreindre à un accès en lecture seule. Dans Qlik Cloud, les étendues contrôlent l'accès des clients aux fonctionnalités et ressources disponibles. Sans étendues, les clients ne peuvent accéder à aucune ressource.
Étendues OAuth disponibles
Le tableau répertorie les étendues disponibles et leurs autorisations associées :
Étendue | Autorisation |
---|---|
user_default | Accès complet à votre compte et à vos contenus |
admin_classic |
Accès administrateur complet à votre client Consultez aussi : Déploiement et administration Qlik Cloud Note InformationsNon supporté avec le type de client Application d'une seule page ou Native.
|
admin.apps |
Lire et gérer toutes les applications du client. Consultez aussi : Gestion d'applications |
|
Exporter toutes les applications du client Consultez aussi : Export d'applications |
|
Lire toutes les applications du client |
admin.automations |
Lire et gérer toutes les automatisations du client Consultez aussi : Gestion des automatisations |
|
Lire toutes les automatisations du client |
admin.spaces |
Lire et gérer tous les espaces du client Consultez aussi : Gestion des espaces |
|
Lire tous les espaces du client |
applications |
Lire et gérer vos applications Consultez aussi : Gestion d'applications |
|
Exporter vos applications Consultez aussi : Export d'applications |
|
Lire vos applications |
automations |
Lire et gérer vos automatisations Consultez aussi : Gestion des automatisations |
|
Lire vos automatisations |
automl-experiments | Lire et gérer vos expérimentations ML |
automl-deployments | Lire et gérer vos déploiements ML |
identity.email:read |
Lire votre adresse e-mail Consultez aussi : Fournisseurs d'identité dans Qlik Cloud |
identity.name:read |
Lire votre nom complet |
identity.picture:read |
Lire votre image de profil Consultez aussi : Fournisseurs d'identité dans Qlik Cloud |
identity.subject:read |
Lire l'identifiant d'objet de votre utilisateur |
spaces.data |
Lire et gérer vos espaces de données Consultez aussi : Gestion des espaces |
|
Lire vos espaces de données |
spaces.managed |
Lire et gérer vos espaces gérés Consultez aussi : Gestion des espaces |
|
Lire vos espaces gérés |
spaces.shared |
Lire et gérer vos espaces partagés Consultez aussi : Gestion des espaces |
|
Lire vos espaces partagés |
offline_access |
Accéder aux ressources lorsque vous êtes hors ligne Note InformationsNon supporté avec le type de client Application d'une seule page.
|
Création de clients OAuth
Les administrateurs de clients gèrent les clients OAuth dans le centre d'activités Administration sur la page OAuth. Avec un client OAuth, vous pouvez intégrer votre application cliente à Qlik Cloud pour accéder à des ressources en toute sécurité.
Limites des clients OAuth
Les limites suivantes s'appliquent :
-
Maximum de 5 URL de redirection par client.
-
Maximum de 5 origines autorisées par client.
-
Maximum de 5 clés secrètes par client.
-
Maximum de 200 clients OAuth par client (tenant).
Étapes pour créer un client OAuth
Procédez comme suit :
-
Dans le centre d'activités Administration, accédez à OAuth.
-
Cliquez sur Créer un nouvel élément.
-
Sélectionnez un type de client :
-
Web pour les clients confidentiels.
-
Application d'une seule page ou Native pour les clients publics.
-
-
Dans la boîte de dialogue, saisissez un nom pour le client OAuth.
-
Vous pouvez éventuellement ajouter une description.
-
Sélectionnez l'une des étendues disponibles en les parcourant ou en utilisant le champ de recherche.
Note ConseilUtilisez les boutons Toutes et Sélectionnées pour afficher toutes les étendues ou uniquement les étendues sélectionnées. -
Saisissez une ou plusieurs URL de redirection pour l'application cliente OAuth (5 maximum). Cliquez ensuite sur Ajouter pour ajouter l'URL de redirection à la liste verte.
-
L'URL de redirection est l'emplacement vers lequel le serveur d'autorisations envoie le navigateur de l'utilisateur après l'authentification et l'octroi de l'autorisation à l'application cliente. Par exemple, https://www.exampleapp.com/oauth/callback, où /oauth/callback gère les rappels d'authentification du fournisseur OAuth.
-
Qlik Cloud renverra l'utilisateur à l'application après une autorisation réussie uniquement si son URL figure dans la liste verte des URL de redirection.
-
Les URL doivent commencer par https://, sauf si le domaine est localhost, auquel cas elles peuvent commencer par http://. Les applications natives peuvent également utiliser le format de lien spécifique à l'application, par exemple, exampleapp://.
-
-
Pour un type de client Web ou Application d'une seule page, spécifiez une ou plusieurs origines autorisées (maximum 5).
-
L'accès à l'application sera accordé uniquement si l'URL est ajoutée à la liste des origines autorisées.
-
-
Pour le type de client Web, vous pouvez activer l'une des options suivantes pour un accès automatisé au système sans interaction de l'utilisateur :
-
Autoriser Machine-to-Machine (M2M) : permet la communication de système à système sans intervention de l'utilisateur.
-
Autoriser l'impersonation d'utilisateurs M2M : permet à votre application de s'authentifier au nom des utilisateurs, en se substituant à eux pendant le processus d'authentification.
-
-
Cliquez sur Créer.
-
Cliquez sur Copier dans le Presse-papiers pour enregistrer l'ID client et la clé secrète client pour les utiliser ultérieurement. Stockez la clé secrète client en lieu sûr.
Note InformationsLes clients publics n'ont pas de clé secrète client. -
Cliquez sur Terminé.
Clients OAuth pour des cas d'utilisation spécifiques
Pour les cas d'utilisation de client OAuth, consultez les ressources suivantes :
-
Vue d'ensemble d'OAuth sur le Portail des développeurs Qlik : vue d'ensemble des cas d'utilisation d'OAuth et des différents types d'OAuth.
-
Création d'un client OAuth pour le complément Qlik pour Microsoft Excel : configurez un client OAuth pour l'installation du complément Qlik pour Microsoft Excel.
-
Création d'un client OAuth pour les intégrations anonymes de contenu d'application : créez un client OAuth pour permettre l'accès anonyme au contenu de l'application intégrée.
Création d'un client OAuth pour le complément Qlik pour Microsoft Excel
Pour installer le complément Qlik pour Microsoft Excel, il convient de configurer un client OAuth. Le complément est utilisé par les développeurs de rapports pour préparer des modèles de rapport qui contrôlent la sortie des rapports tabulaires de l'application Qlik Sense.
Pour que OAuth fonctionne dans le complément, il convient de configurer le client OAuth exactement comme indiqué ci-dessous.
Procédez comme suit :
-
Dans le centre d'activités Administration , dans Qlik Cloud, accédez à OAuth.
-
Cliquez sur Créer un nouvel élément.
-
Dans le menu déroulant Type de client, sélectionnez Application d'une seule page. D'autres champs apparaissent.
-
Insérez un Nom. La Description est facultative.
-
Cochez au minimum la case permettant d'inclure l'étendue user_default. Vous pouvez inclure d'autres étendues dans la configuration, mais, sans user_default, l'installation ne fonctionnera pas.
Pour une description complète de chaque étendue disponible, voir Étendues OAuth disponibles.
-
Dans le champ Ajouter des URL de redirection, insérez l'URL de votre client, suivie de la chaîne fixe : /office-add-ins/oAuthLoginSuccess.html
Le résultat devrait ressembler à ceci : https://YourServer/office-add-ins/oAuthLoginSuccess.html
-
Cliquez sur Ajouter.
-
Dans le champ Ajouter des origines autorisées, insérez l'URL de votre client et cliquez sur Ajouter.
-
Cliquez sur Créer.
-
La fenêtre Copier votre ID client apparaît. Vous pouvez choisir de copier l'ID client dans le Presse-papiers ou de cliquer sur Terminé pour fermer la fenêtre.
Une fois le client OAuth créé, procurez-vous le lien vers le fichier de manifeste XML mis à jour auprès du centre d'activités Administration. Accédez à la page Paramètres, puis à Partage et rapports > Complément Excel au sein du centre d'activités Administration. Utilisez ce lien pour déployer et installer le complément.
Pour plus d'informations sur la génération du fichier de manifeste, ainsi que sur le déploiement et l'installation d'un complément, voir :
-
Déploiement et installation du complément Qlik pour Microsoft Excel
-
Gestion des manifestes d'installation pour le complément Qlik pour Microsoft Excel
Création d'un client OAuth pour les intégrations anonymes de contenu d'application
Pour intégrer le contenu d'une application en vue d'un accès anonyme via qlik-embed, vous devez créer un client OAuth d'un type spécifiquement conçu pour ce cas d'utilisation.
Procédez comme suit :
-
Dans le centre d'activités Administration, accédez à la section OAuth.
-
Cliquez sur Créer un nouvel élément.
-
Dans le menu déroulant Type de client, sélectionnez Intégration anonyme.
-
Saisissez un Nom et, si vous le souhaitez, une Description pour le client OAuth.
-
Sous Origines autorisées, saisissez chaque origine à autoriser. Il s'agit des domaines qui accèderont au client Qlik Cloud afin de récupérer les informations des analyses intégrées.
Cliquez sur Ajouter après avoir inséré chaque URL.
-
Lorsque vous avez terminé, cliquez sur Créer.
-
Cliquez sur Copier dans le Presse-papiers pour enregistrer l'ID client pour pouvoir l'utiliser ultérieurement. Il sera nécessaire lors de l'intégration du contenu de l'application à qlik-embed.
-
Cliquez sur Terminé.
Modification de clients OAuth
Vous pouvez renommer un client OAuth, mettre à jour la description ou gérer les URL de redirection.
Procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Localisez le client OAuth à modifier.
- Cliquez sur
et sélectionnez Modifier.
- Modifiez les options du client OAuth selon les besoins.
- Cliquez sur Enregistrer.
Suppression de clients OAuth
Vous pouvez supprimer un client OAuth s'il n'est plus nécessaire ou pour en révoquer l'accès.
Procédez comme suit :
-
Dans le centre d'activités Administration, accédez à OAuth.
-
Sélectionnez un ou plusieurs clients OAuth à supprimer et cliquez sur Supprimer.
- Confirmez la suppression.
Publication de clients OAuth
Les clients OAuth sont initialement liés au client qui les a créés. Cependant, vous pouvez configurer un client OAuth de sorte qu'il soit partagé entre plusieurs clients au sein d'une même région. Cela permet aux applications tierces d'utiliser le même ID client sur différents clients Qlik Cloud.
Les propriétaires d'applications peuvent configurer la rotation des clés secrètes et mettre à jour la configuration sans intervention d'un administrateur de clients. Les administrateurs des clients n'ont pas besoin de gérer les informations d'identification ni de connaître les détails de configuration du client publié.
Pour autoriser d'autres clients à se connecter à un client OAuth, vous devez le publier.
Procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Localisez le client OAuth à publier.
- Cliquez sur
près du client et sélectionnez Publier.
- Cliquez sur Publier pour confirmer.
Une fois que le client OAuth est publié, il devient disponible pour une utilisation externe par d'autres clients. Lorsqu'un utilisateur consulte un site Internet externe qui utilise ce client OAuth, il est invité à saisir le nom d'hôte de son client et ses informations d'identification utilisateur, sauf s'il a déjà une session SaaS active.
La première connexion nécessitera le consentement d'un administrateur de clients. Une fois l'approbation accordée, le client OAuth apparaîtra dans le centre d'activités Administration du client.
Méthodes de consentement
Par défaut, Qlik Cloud demande aux utilisateurs leur consentement via une invite lorsqu'ils s'authentifient. Pour simplifier le processus, en particulier pour les applications de confiance, vous pouvez définir la méthode de consentement sur Confiance, ce qui permet d'éviter l'invite de consentement.
Il existe deux options de consentement :
-
Requis : l'utilisateur est invité à donner son consentement chaque fois qu'une nouvelle étendue est demandée par le client OAuth. Cette méthode garantit l'approbation explicite de l'utilisateur pour chaque niveau d'accès.
-
Confiance : l'utilisateur n'est pas invité à donner son consentement. Cette option n'est disponible que pour les clients non publiés. Pour les clients publiés, la méthode de consentement est toujours Requis pour maintenir la sécurité sur différents clients.
Modification de la méthode de consentement
Pour modifier la méthode de consentement d'un client OAuth, procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Sur le client OAuth, cliquez sur
et sélectionnez Modifier la méthode de consentement.
- Sélectionnez Requis ou Confiance, puis cliquez sur Modifier la méthode de consentement.
Affichage et copie de la configuration OAuth
Dans la section OAuth du centre d'activités Administration, sélectionnez Afficher la configuration OAuth pour afficher les détails d'authentification de votre client Qlik Cloud. Cela affichera un extrait de code avec les points de terminaison et les paramètres OAuth, ainsi qu'une URL que vous pouvez copier pour l'utiliser dans des applications externes.
Vous pouvez utiliser cette configuration pour intégrer Qlik Cloud à des applications tierces, automatiser l'accès à l'API ou configurer l'authentification pour les analyses intégrées.
Gestion des clés secrètes client
Si une clé secrète client est compromise ou si votre stratégie de sécurité exige des mises à jour périodiques, vous pouvez ajouter ou retirer des clés secrètes. Pour éviter les temps d'arrêt, vous pouvez ajouter plusieurs clés secrètes client (5 maximum), mettre votre application client à jour, puis retirer l'ancienne clé secrète.
Ajout d'une clé secrète client
Procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Localisez le client OAuth.
- Cliquez sur
et sélectionnez Gérer les secrets.
- Cliquez sur Générer une nouvelle clé secrète client.
-
Copiez la clé secrète client et l'ID client et conservez-les en lieu sûr.
Note InformationsVous ne pourrez pas avoir accès à la clé secrète client ultérieurement. - Cliquez sur Fermer.
Retrait d'une clé secrète client
Procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Localisez le client OAuth.
- Cliquez sur
et sélectionnez Gérer les secrets.
- Cliquez sur
à côté de la clé secrète client.
- Cliquez sur Fermer.
Création d'applications clientes OAuth pour accéder à Qlik Cloud
Après avoir enregistré un client OAuth auprès de Qlik Cloud, vous pouvez utiliser l'ID client et la clé secrète client associés dans votre application cliente OAuth.
Pour obtenir des conseils étape par étape, consultez les didacticiels de la section Vue d'ensemble d'OAuth sur le Portail des développeurs Qlik. Ces didacticiels expliquent comment créer des applications clientes à l'aide de langages de programmation populaires.