Avis de correctif de l'API d'ID de requête Looker

Looker a mis à disposition une mise à jour de sécurité obligatoire pour éviter le risque d'exposition des métadonnées entre les utilisateurs Looker authentifiés qui partagent le même modèle LookML. Pour activer la mitigation dans votre instance, vous devrez peut-être modifier l'utilisation de certains points de terminaison d'API. Ce correctif affecte toutes les versions compatibles de Looker répertoriées dans le document Versions officiellement compatibles.

Qu'est-ce qui a changé ?

Looker a appliqué une mise à jour de sécurité obligatoire à votre système. En raison du changement de comportement de certains points de terminaison d'API, vous devrez prendre des mesures pour activer la mise à jour de sécurité et ajuster votre utilisation des API mises à jour afin d'éviter de générer des erreurs dans vos scripts d'API.

Pour les instances hébergées sur Looker, ce correctif ajoute une ancienne fonctionnalité appelée Interdire les ID de requête numériques. Lorsqu'elle est activée, cette ancienne fonctionnalité modifie l'utilisation des points de terminaison d'API suivants:

Pour les instances hébergées par le client, les modifications précédentes apportées aux points de terminaison de l'API seront activées lorsque l'instance sera mise à niveau vers une version de Looker incluant ce correctif.

Que dois-je faire ?

Google Cloud recommande à tous les clients d'effectuer les deux actions suivantes:

Mettre à jour les scripts d'API

Si vous utilisez l'un des points de terminaison d'API listés ci-dessous, vous devrez peut-être prendre des mesures, quelle que soit la version de Looker ou de l'API que vous utilisez. L'action recommandée varie selon que vous utilisez l'API 3.0 ou l'API 3.1, ou l'API 4.0.

  • GET /queries/<query_id>
  • POST /render_tasks/queries/<query_id>/<result_format>
  • GET /running_queries

Si vous utilisez l'API 4.0

Si vous utilisez l'API 4.0 et l'un des points de terminaison listés dans la section précédente, apportez les modifications suivantes au code d'application:

  • Remplacez tous les query_ids numériques (par exemple, 32, 124, etc.) utilisés avec les points de terminaison GET /queries/<query_id> ou POST /render_tasks/queries/<query_id>/<result_format> par la valeur slug de la requête. Pour savoir comment trouver la valeur du slug d'une requête, consultez la section Comment trouver la valeur du slug pour une requête.
  • Toutes les applications qui utilisent le point de terminaison GET /running_queries seront réservées aux administrateurs Looker.

Si vous utilisez l'API 3.0 ou 3.1

Si vous utilisez l'API 3.0 ou l'API 3.1, et que vous utilisez l'un des points de terminaison listés dans la section précédente, apportez les modifications suivantes au code de l'application :

  • Le point de terminaison GET /queries/<query_id> ne fonctionnera plus. Remplacez le point de terminaison GET /queries/<query_id> par le point de terminaison GET /queries/slug/<slug> pour récupérer les mêmes métadonnées de requête que vous obteniez auparavant. Pour savoir comment trouver la valeur slug d'une requête, consultez la section "Comment trouver la valeur slug d'une requête ?".
  • Le point de terminaison POST /render_tasks/queries/<query_id>/<result_format> ne fonctionnera plus. Les SDK Looker qui prennent en charge l'API 3.1 prendront en charge à la fois l'API 3.1 et l'API 4.0. Si vous n'utilisez pas l'un des SDK de Looker, modifiez http request path pour utiliser 4.0 au lieu de 3.1 pour cet appel. Remplacez ensuite tout query_ids numérique (par exemple, 32, 124, etc.) par la valeur slug de la requête. Pour savoir comment trouver la valeur slug d'une requête, consultez la section "Comment trouver la valeur slug d'une requête ?".
  • Toutes les applications qui utilisent le point de terminaison GET /running_queries seront limitées aux administrateurs Looker uniquement.

Comment trouver la valeur du slug d'une requête ?

Vous pouvez trouver la valeur du slug d'une requête de différentes manières:

  • Pour une exploration, vous trouverez le slug dans l'URL de l'exploration, après la variable qid=.

  • Vous pouvez trouver la valeur slug associée à un ID de requête numérique à l'aide de Activité système.

    1. Dans le menu "Explorer" de Looker, sélectionnez Activité système > Historique Explorer.

    2. Dans la vue Requête, sélectionnez les dimensions ID et Lien.

    3. Vous pouvez éventuellement ajouter un filtre sur la dimension ID et saisir l'ID numérique de la requête dans le champ de filtre ID de requête.

    4. Cliquez sur Exécuter.

    5. Cliquez sur le lien [Query] à côté de l'ID de requête numérique dans les résultats de l'exploration. Une exploration basée sur cet ID de requête numérique s'ouvre alors.

    6. Vous pouvez ensuite utiliser le slug dans l'URL de l'exploration, qui suit la variable qid= dans l'URL.

Activer le correctif sur les instances Looker (original) hébergées par Looker

Google Cloud recommande à tous les clients hébergeant Looker d'activer la nouvelle ancienne fonctionnalité Désactiver l'ID de requête numérique.

Pour activer l'option Interdire les ID de requête numériques:

  1. Accédez à la page Administration > Ancien panneau dans le menu "Administration" de Looker.

  2. Activez l'option Interdire les ID de requête numérique :

Activer le correctif sur les instances Looker (Google Cloud Core)

Le correctif est automatiquement activé sur toutes les instances Looker (Google Cloud Core). Vous n'avez rien à faire pour activer le correctif, mais veillez à mettre à jour tous les scripts d'API qui incluent l'un des points de terminaison de l'API mis à jour.

Activer le correctif sur les instances hébergées par le client

Toutes les instances hébergées par le client doivent mettre à jour leur instance Looker vers une version de Looker incluant le dernier correctif. Ce correctif est inclus dans la dernière mise à jour des versions 23.18, 23.20, 24.0 et 24.2 de Looker, ainsi que dans les versions ESR 23.0, 23.6, 23.12 et 24.0 de Looker. Veillez à mettre à jour tous les scripts d'API qui incluent l'un des points de terminaison de l'API mis à jour avant de mettre à jour votre instance Looker.

Comment savoir si nous utilisons l'un des points de terminaison de l'API mis à jour ?

Vous pouvez afficher la liste des appels d'API effectués vers votre instance Looker à l'aide de l'exploration de l'activité du système concernant l'utilisation de l'API.

  1. Dans le menu Explorer de Looker, sélectionnez l'exploration Activité système, puis la vue Utilisation de l'API.

  2. Sélectionnez les dimensions Date de création > Date et Point de terminaison, ainsi que la métrique Consommation totale.

  3. Ajoutez un filtre à la dimension Point de terminaison et, dans le champ de filtre, incluez les points de terminaison suivants:

    • /queries/:query_id
    • /render_tasks/queries/:query_id/:result_format
    • /running_queries
  4. Cliquez sur Exécuter. Looker affichera les informations d'utilisation pour ces points de terminaison.

Si j'ai besoin de plus de temps pour mettre à jour mes scripts d'API, que dois-je faire ?

Contactez l'assistance Looker au plus tard le 21 février à 17h (heure du Pacifique) et indiquez-nous que vous souhaitez désactiver l'ancienne fonctionnalité Désactiver les ID de requête numérique jusqu'à ce que vous puissiez mettre à jour vos scripts d'API.

Y a-t-il des mesures supplémentaires que les parties concernées doivent prendre pour atténuer les éventuels effets négatifs ?

Non

Quelles mesures Looker prend-il pour éviter que ce type de problème ne se reproduise à l'avenir ?

Looker et Google gèrent un programme de sécurité rigoureux pour prévenir et identifier de manière proactive les failles de sécurité en interne. Pour en savoir plus, consultez la page https://cloud.google.com/looker/product/security.

Looker a-t-il informé les organismes de réglementation ?

Looker respecte toutes les exigences réglementaires appropriées concernant la divulgation de ces types de problèmes.