Avis concernant le correctif de l'API Looker Query ID

Looker propose une mise à jour de sécurité obligatoire pour éviter le risque d'exposition des métadonnées aux utilisateurs Looker authentifiés qui partagent le même modèle LookML. Pour activer l'atténuation des risques dans votre instance, vous devrez peut-être modifier l'utilisation de certains points de terminaison de l'API. Ce correctif affecte toutes les versions compatibles de Looker répertoriées dans le document Versions officielles 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 des API, vous devrez activer la mise à jour de sécurité et ajuster votre utilisation des API mises à jour afin d'éviter de provoquer des erreurs dans vos scripts d'API.

Pour les instances hébergées par Looker, ce correctif ajoute une ancienne fonctionnalité : 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 un client, les précédentes modifications apportées au point de terminaison de l'API seront activées lorsque l'instance sera mise à niveau vers une version Looker incluant ce correctif.

Que dois-je faire ?

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

Mettre à jour des 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 d'API que vous utilisez. L'action recommandée diffère selon que vous utilisez l'API 3.0, 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 répertoriés dans la section précédente, apportez les modifications suivantes au code d'application:

  • Remplacez toutes les valeurs numériques query_ids (par exemple, 32, 124, etc.) utilisées par 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 d'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 si vous utilisez l'un des points de terminaison répertoriés dans la section précédente, apportez les modifications suivantes au code d'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 celles obtenues précédemment. Pour savoir comment trouver la valeur du slug d'une requête, consultez la section Comment trouver la valeur du slug d'une requête.
  • Le point de terminaison POST /render_tasks/queries/<query_id>/<result_format> ne fonctionnera plus. Les SDK Looker compatibles avec l'API 3.1 prendront en charge les API 3.1 et 4.0. Si vous n'utilisez aucun SDK de Looker, modifiez http request path pour qu'il utilise la version 4.0 au lieu de la version 3.1 pour cet appel. Remplacez ensuite toute valeur numérique query_ids (par exemple, 32, 124, etc.) 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 d'une requête.
  • Toutes les applications qui utilisent le point de terminaison GET /running_queries seront réservées aux administrateurs Looker.

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:

  • Dans le cas d'une exploration, le slug se trouve dans l'URL de l'exploration, après la variable qid= de l'URL.

  • Vous pouvez trouver la valeur du slug associé à un ID de requête numérique dans Activité du système.

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

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

    3. Vous pouvez également 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 d'exploration pour ouvrir une exploration basée sur cet ID de requête numérique.

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

Activer le correctif sur les instances Looker (d'origine) hébergées par Looker

Google Cloud recommande à tous les clients hébergés par Looker d'activer la nouvelle fonctionnalité Interdire l'ID de requête numérique.

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

  1. Accédez au panneau Admin > Legacy (Administration > Ancienne version) dans le menu "Admin" de Looker.

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

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 un 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 de Looker 23.18, 23.20, 24.0 et 24.2, ainsi que des 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 d'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 d'activité du système d'utilisation des API.

  1. Dans le menu Explorer de Looker, sélectionnez l'exploration Activité du 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 mesure Utilisation totale.

  3. Ajoutez un filtre sur 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 de ces points de terminaison.

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

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é Interdire les ID de requête numériques avant de pouvoir mettre à jour vos scripts d'API.

Existe-t-il d'autres mesures que les parties concernées doivent prendre pour atténuer les éventuels effets néfastes de cet incident ?

Non

Quelles mesures Looker prend-elle pour éviter que des problèmes similaires ne se reproduisent ?

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

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

Looker respecte toutes les exigences réglementaires appropriées concernant la divulgation pour ce type de problèmes.