Existe-t-il un moyen de limiter la portée d’une clé API pour pouvoir à la fois lire et écrire pour les requêtes d’explorateur de données sans donner une clé API d’administrateur à portée globale ?
L’explorateur de données ne peut jamais écrire quoi que ce soit.
Vous pouvez créer une requête et permettre aux membres d’un groupe qui n’ont pas autrement accès au plugin d’exécuter des requêtes particulières.
Désolé, peut-être n’a-t-il pas été bien écrit. Est-ce que les requêtes elles-mêmes ne peuvent pas être créées via l’API ?
C’est la fonction en question—lire et écrire les requêtes elles-mêmes, pas à l’intérieur d’une requête.
Oh. Désolé. J’ai manqué cela. Donc, vous voulez créer des requêtes via l’API, pas seulement les exécuter. C’est différent.
Je suppose que la réponse est non.
Quel problème avez-vous qui fait que l’écriture de requêtes via l’API va résoudre quelque chose ? Avez-vous besoin d’en créer beaucoup ou quelque chose comme ça ?
Vous pouvez les créer via l’API. Ma question est de savoir si nous pouvons limiter la portée d’une clé API pour cela. Actuellement, la portée d’une clé API peut être limitée à la lecture des requêtes Data Explorer, mais il n’y a pas d’option pour limiter la portée à l’écriture.
Donc, aujourd’hui, si je veux donner à quelqu’un dans mon entreprise la possibilité d’écrire des requêtes dans Data Explorer, je dois lui donner une clé API d’administrateur global complète.
Voici la documentation sur la création de requêtes via l’API :
Ah. Je vois. Vous faites confiance à un humain particulier pour écrire des requêtes, mais rien d’autre. Je ne pense pas qu’il existe actuellement un moyen de le faire.
Pour moi, ce que vous demandez, et qui semble être une bonne idée dont de nombreuses communautés bénéficieraient, est un paramètre du type data_explorer_allowed_groups permettant d’accorder un accès complet à l’Explorateur de données à d’autres groupes en plus des administrateurs.
On peut supposer que si un groupe est autorisé à y accéder, la clé API de ses membres fonctionnerait alors aussi bien pour créer des requêtes que pour y accéder.
Actuellement, il n’est possible que de permettre aux utilisateurs d’accéder aux requêtes existantes via leur page de groupe.
J’ai déplacé ce sujet vers Contribute > Feature afin que cette demande de fonctionnalité puisse être examinée. Je ne sais pas si elle sera retenue, mais au moins l’idée est désormais exposée.
La raison de ne pas le faire est que cela donne à ces personnes un accès complet (bien que en lecture seule) à tout dans la base de données — mots de passe, adresses IP (que les modérateurs ont), tous les secrets de SiteSettings, et probablement d’autres choses. D’un autre côté, c’est en lecture seule, donc ce n’est pas la MÊME chose qu’être un administrateur. Ah, aussi, les secrets nécessaires pour se connecter en tant que quelqu’un d’autre si vous avez un lien de connexion envoyé.