Accéder au contenu principal Passer au contenu complémentaire

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 prend en charge 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 prend en charge deux types d'octroi d'autorisation, ou flux : Authorization Code Flow et Authorization Code Flow with Proof Key for Code Exchange (PKCE). Ces flux sont très similaires, mais ils prennent en charge 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.

Note InformationsLe partage de la clé secrète client en public compromet la sécurité de votre client. Préservez toujours la sécurité et la confidentialité de la clé secrète client de votre application.

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 étendues 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 la Console de gestion 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 :

  1. Dans la Console de gestion, accédez à OAuth.

  2. Cliquez sur Créer un nouvel élément.

  3. Sélectionnez un type de client.

    Utilisez Web pour les clients confidentiels et Single-page app ou Native pour les clients publics.

    Avec Web, vous pouvez sélectionner l'option Allow Machine-to-Machine (M2M) pour permettre l'accès au système sans interaction utilisateur.

  4. Dans la boîte de dialogue, nommez le client OAuth.

  5. vous pouvez éventuellement ajouter une description.

  6. 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

    Voir 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.

    Voir aussi : Gestion d'applications

    Indique un élément enfant admin.apps:export

    Exporter toutes les applications du client

    Voir aussi : Exportation d'applications

    Indique un élément enfant admin.apps:read

    Lire toutes les applications du client
    admin.automations

    Lire et gérer toutes les automatisations du client

    Voir aussi : Gestion des automatisations

    Indique un élément enfant admin.automations:read

    Lire toutes les automatisations du client
    admin.spaces

    Lire et gérer tous les espaces du client

    Voir aussi : Gestion des espaces

    Indique un élément enfant admin.spaces:read

    Lire tous les espaces du client
    applications

    Lire et gérer vos applications

    Voir aussi : Gestion d'applications

    Indique un élément enfant apps:export

    Exporter vos applications

    Voir aussi : Exportation d'applications

    Indique un élément enfant apps:read

    Lire vos applications
    automations

    Lire et gérer vos automatisations

    Voir aussi : Gestion des automatisations

    Indique un élément enfant 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 électronique

    Voir aussi : Fournisseurs d'identité

    identity.name:read

    Lire votre nom complet
    identity.picture:read

    Lire votre image de profil

    Voir 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

    Voir aussi : Gestion des espaces

    Indique un élément enfant spaces.data:read

    Lire vos espaces de données
    spaces.managed

    Lire et gérer vos espaces gérés

    Voir aussi : Gestion des espaces

    Indique un élément enfant spaces.managed:read

    Lire vos espaces gérés
    spaces.shared

    Lire et gérer vos espaces partagés

    Voir aussi : Gestion des espaces

    Indique un élément enfant 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 prises en charge 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.
  7. Saisissez l'URL directe de l'application cliente 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.

    Note InformationsVous pouvez ajouter plus d'une URL.
  8. Application d'une seule page uniquement : ajoutez une ou des origines autorisées. L'accès à l'application sera accordé uniquement si l'URL figure dans la liste des origines autorisées.

  9. Cliquez sur Créer.

  10. 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.
Note InformationsPour une vue d'ensemble des différents scénarios d'utilisation, voir Synthèse des scénarios d'utilisation et des types OAuth à utiliser.

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 :

  1. Dans la Console de gestion dans Qlik Cloud, accédez à OAuth.

  2. Cliquez sur Créer un nouvel élément.

  3. Dans le menu déroulant Type de client, sélectionnez Application d'une seule page. D'autres champs apparaissent.

  4. Insérez un Nom. La Description est facultative.

  5. 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.

  6. 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

  7. Cliquez sur Ajouter.

  8. Dans le champ Ajouter des origines autorisées, insérez l'URL de votre client et cliquez sur Ajouter.

  9. Cliquez sur Créer.

  10. 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 de la Console de gestion. Accédez à la page Paramètres, puis à Contrôle de fonction > Complément Excel dans la Console de gestion. 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 :

É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 :

  1. Dans la Console de gestion, accédez à OAuth.
  2. Sélectionnez le client OAuth à modifier. Cliquez sur ... et sélectionnez Éditer.
  3. Dans la boîte de dialogue, modifiez les options du client OAuth selon les besoins.
  4. 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 :

  1. Dans la Console de gestion, accédez à OAuth.
  2. Sélectionnez le client OAuth à publier. Cliquez sur ... et sélectionnez Publier.
  3. 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 approuvée, le nouveau client OAuth est affiché dans Console de gestion.

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.

Note InformationsPour les clients utilisés comme M2M, la méthode de consentement doit être définie sur Approuvé après la création du client.

Affichage et copie de la configuration OAuth

Dans la section OAuth de Console de gestion, 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 :

  1. Dans la Console de gestion, accédez à OAuth.

  2. Sélectionnez le client OAuth à supprimer et cliquez sur Supprimer.

    Note InformationsVous pouvez supprimer plus d'un client OAuth à la fois.
  3. 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 :

  1. Dans la Console de gestion, accédez à OAuth.
  2. Sélectionnez le client OAuth à gérer. Cliquez sur ... et sélectionnez Gérer les secrets.
  3. 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 Supprimer à côté de la clé secrète client.
  4. 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.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !