Création et gestion de clients OAuth
OAuth est un protocole de sécurité standard utilisé à des fins d'autorisation et de délégation. Il permet à des applications tierces d'accéder à des ressources API sans divulguer les informations d'identification de l'utilisateur final. Un client OAuth peut obtenir un code d'autorisation et l'échanger contre un jeton d'accès qui peut être utilisé pour accéder au contenu Qlik Cloud via des API.
Clients publics et confidentiels
OAuth propose 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).
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. Les clients publics de Qlik Cloud sont souvent des applications frontales telles que des applications d'une seule page avec des analyses incorporées ou une extension de visualisation personnalisée dans Qlik Sense nécessitant des informations sur l'utilisateur final pour prendre en charge le cycle de vie de l'application.
Voir : RFC 6749 Section 2.1 : Types de client OAuth 2.0.
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 types d'octroi spécifiques.
Clients confidentiels
Un client confidentiel est une application qui préserve un ID client et une clé secrète client de manière sécurisée sans les exposer à des parties non autorisées. Les clients confidentiels peuvent accéder aux ressources protégées, car ils sont en possession de la clé secrète client. Il peut s'agir par exemple d'une application Web avec un serveur principal sécurisé interagissant avec des API Qlik Cloud pour orchestrer les tâches d'actualisation des données ou gérer l'accès des utilisateurs au contenu.
Types d'octroi d'autorisation
Qlik supporte deux types d'octroi d'autorisations, ou flux : Authorization Code Flow et Authorization Code Flow with Proof Key for Code Exchange (PKCE). Ces flux sont très similaires, mais ils supportent des scénarios d'utilisation différents.
Authorization Code Flow
Les applications Web classiques sont des applications côté serveur dans lesquelles le code source n'est pas exposé publiquement. Par conséquent, elles peuvent utiliser le flux Authorization Code Flow, qui échange un code d'autorisation contre un jeton. Les applications Web qui utilisent ce flux doivent se trouver côté serveur, car la clé secrète client de l'application est transmise au serveur d'autorisation lors de l'échange contre un jeton.
Voir : Authorization Code Flow pour plus de détails.
Authorization Code Flow with Proof Key for Code Exchange (PKCE)
Les applications natives et d'une seule page ne peuvent pas stocker de clé secrète client, car leur code source est accessible via la décompilation de l'application ou l'affichage de la source d'application par le biais d'un navigateur, respectivement. Le flux PKCE ajoute une couche de protection supplémentaire aux clients publics en exigeant l'utilisation d'un vérificateur de code pour obtenir un jeton d'accès.
Voir : Authorization Code Flow with Proof Key for Code Exchange (PKCE) pour plus de détails.
Limitation des étendues à la disposition des clients OAuth
Les périmètres OAuth permettent de limiter le niveau d'accès accordé aux applications des clients OAuth. Par exemple, un jeton d'accès émis auprès d'une application de client peut bénéficier d'un accès complet aux ressources protégées ou uniquement d'un accès en lecture.
Dans Qlik Cloud, les étendues permettent de contrôler l'accès des clients aux fonctionnalités et ressources disponibles. Chaque étendue accorde un niveau d'accès différent. Les clients sans étendue ne pourront accéder à aucune ressource.
Création d'un client OAuth
Les clients OAuth sont administrés par les administrateurs de clients depuis le centre d'activités Administration sur la page OAuth.
Avec un client OAuth, vous pouvez intégrer votre application cliente à Qlik Cloud.
Pour savoir comment créer un client OAuth pour le déploiement et l'installation du complément Qlik pour Microsoft Excel, voir Création d'un client OAuth pour le complément Qlik pour Microsoft Excel.
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.
Utilisez Web pour les clients confidentiels et Single-page app ou Native pour les clients publics.
-
Dans la boîte de dialogue, nommez 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.
É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 les types de client Application d'une seule page et Natif.admin.apps Lire et gérer toutes les applications du client.
Consultez aussi : Gestion d'applications
admin.apps:export
Exporter toutes les applications du client
Consultez aussi : Export d'applications
admin.apps:read
Lire toutes les applications du client admin.automations Lire et gérer toutes les automatisations du client
Consultez aussi : Gestion des automatisations
admin.automations:read
Lire toutes les automatisations du client admin.spaces Lire et gérer tous les espaces du client
Consultez aussi : Gestion des espaces
admin.spaces:read
Lire tous les espaces du client applications Lire et gérer vos applications
Consultez aussi : Gestion d'applications
apps:export
Exporter vos applications
Consultez aussi : Export d'applications
apps:read
Lire vos applications automations Lire et gérer vos automatisations
Consultez aussi : Gestion des automatisations
automations:read
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é
identity.name:read
Lire votre nom complet identity.picture:read Lire votre image de profil
Consultez aussi : Fournisseurs d'identité
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
spaces.data:read
Lire vos espaces de données spaces.managed Lire et gérer vos espaces gérés
Consultez aussi : Gestion des espaces
spaces.managed:read
Lire vos espaces gérés spaces.shared Lire et gérer vos espaces partagés
Consultez aussi : Gestion des espaces
spaces.shared:read
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.Note InformationsVous pouvez utiliser les boutons Toutes et Sélectionnées au-dessus de la liste pour afficher toutes les étendues ou uniquement les étendues sélectionnées.Note InformationsLa liste ci-dessus reflète les étendues supportées dans la version initiale. Vous trouverez une liste d'étendues complète, contenant y compris les étendues ajoutées après la version initiale, sur le Portail des développeurs Qlik. -
Saisissez une ou plusieurs URL de redirection pour l'application cliente OAuth.
Note ConseilL'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://.
Cliquez sur Ajouter pour ajouter l'URL de redirection à la liste verte.
-
Pour une application d'une seule page ou le Web du type de client, spécifiez une ou plusieurs origines autorisées. L'accès à l'application sera accordé uniquement si l'URL est ajoutée à la liste des origines autorisées.
-
Pour le Web du type de client, vous pouvez activer Autoriser Machine-to-Machine (M2M) ou Autoriser l'impersonation d'utilisateurs M2M (Autoriser l'emprunt d'identité d'utilisateurs M2M) pour l'accès système automatisé sans interaction utilisateur. L'impersonation (emprunt d'identité) M2M permet à votre application d'agir au nom des utilisateurs lors de l'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 à un emplacement sécurisé. Cliquez sur Terminer.
Note InformationsLes clients publics n'auront aucune clé secrète client.
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 Création d'un client OAuth.
-
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 XML de manifeste 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é.
Édition d'un client 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.
- Sélectionnez le client OAuth à modifier. Cliquez sur ... et sélectionnez Modifier.
- Dans la boîte de dialogue, modifiez les options du client OAuth selon les besoins.
- Cliquez sur Enregistrer.
Publication d'un client OAuth
Les clients OAuth créés sont automatiquement associés au client qui les a créés. Vous pouvez configurer un client OAuth pour le partager entre tous les clients d'une région. Les applications tierces se connectant à Qlik Cloud peuvent alors avoir le même ID client OAuth pour tous les clients Qlik Cloud. Le propriétaire de l'application peut configurer la rotation des secrets et mettre à jour la configuration sans intervention de l'administrateur de clients. Les administrateurs de clients n'ont pas besoin de gérer les identifiants ou de connaître les détails de la configuration.
Le client OAuth doit être publié afin que les autres clients puissent s'y connecter.
Procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Sélectionnez le client OAuth à publier. Cliquez sur ... et sélectionnez Publier.
- Cliquez sur Publier.
Lorsqu'un utilisateur accède à un site Web externe utilisant Qlik OAuth, il est invité à saisir son nom d'hôte de client, puis ses identifiants utilisateur, sauf s'il dispose déjà d'une session SaaS active. La première connexion à un client OAuth externe doit être approuvée par un administrateur de clients. Une fois la connexion approuvée, le nouveau client OAuth est affiché dans le centre d'activités Administration.
Méthode de consentement
Deux options de consentement sont disponibles : Requis et Approuvé. Si le consentement est Requis, l'autorisation via le client OAuth demande le consentement chaque fois qu'une nouvelle étendue est demandée pour l'utilisateur. Si le consentement est Approuvé, aucune invite ne s'affiche. Vous pouvez utiliser Approuvé uniquement pour les clients non publiés. Pour les clients publiés, la méthode de consentement est toujours Requis.
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 la configuration sous forme d'extrait de code et d'URL à copier.
Suppression d'un client 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 le client OAuth à supprimer et cliquez sur Supprimer.
Note InformationsVous pouvez supprimer plus d'un client OAuth à la fois. - Confirmez la suppression du client OAuth.
Gestion des clés secrètes client
Il se peut que vous ayez besoin d'ajouter ou de supprimer une clé secrète client si, par exemple, une clé secrète client est compromise ou si votre stratégie de sécurité exige que vous mettiez régulièrement à jour la clé secrète client. Vous pouvez également ajouter plusieurs clés secrètes client pour éviter les temps d'arrêt de l'application. Par exemple, vous pouvez créer une deuxième clé secrète, déployer la nouvelle clé secrète dans votre application cliente, puis supprimer l'ancienne clé secrète.
Procédez comme suit :
- Dans le centre d'activités Administration, accédez à OAuth.
- Sélectionnez le client OAuth à gérer. Cliquez sur ... et sélectionnez Gérer les secrets.
- Dans la boîte de dialogue, effectuez l'une des opérations suivantes :
- Pour ajouter une nouvelle clé secrète client, cliquez sur Générer une nouvelle clé secrète client.
- Pour supprimer une clé secrète client, cliquez sur à côté de la clé secrète client.
- Cliquez sur Fermer.
Création d'une application cliente 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 l'application cliente OAuth. Des didacticiels sont à votre disposition dans la section OAuth du Portail des développeurs pour créer des applications clientes à l'aide de certains des langages de codage les plus populaires.