Aviso de parche de la API de ID de consulta de Looker

Looker puso a disposición una actualización de seguridad obligatoria para evitar el riesgo de exposición de metadatos entre los usuarios autenticados de Looker que comparten el mismo modelo de LookML. Para habilitar la mitigación en tu instancia, es posible que debas cambiar el uso de ciertos extremos de API. Este parche afecta a todas las versiones compatibles de Looker que se enumeran en el documento Versiones compatibles oficialmente.

¿Qué cambió?

Looker aplicó una actualización de seguridad obligatoria a tu sistema. Debido al cambio en el comportamiento de algunos extremos de API, deberás tomar medidas para habilitar la actualización de seguridad y ajustar el uso de las APIs actualizadas para evitar errores en tus secuencias de comandos de API.

En el caso de las instancias alojadas en Looker, este parche agrega una nueva función heredada, llamada Disallow Numeric Query IDs. Cuando se habilita, esta función heredada provoca cambios en el uso de los siguientes extremos de la API:

En el caso de las instancias alojadas por el cliente, los cambios anteriores en el extremo de la API se habilitarán cuando la instancia se actualice a una versión de Looker que incluya este parche.

¿Qué debo hacer?

Google Cloud recomienda que todos los clientes completen las siguientes acciones:

Actualiza las secuencias de comandos de la API

Si usas uno de los extremos de API que se indican a continuación, es posible que debas tomar medidas independientemente de la versión de Looker o de la API que uses. La acción recomendada es diferente según si usas la API 3.0 o 3.1, o la API 4.0.

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

Si usas la API 4.0

Si usas la API 4.0 y uno de los extremos que se enumeran en la sección anterior, realiza los siguientes cambios en el código de la aplicación:

  • Reemplaza cualquier query_ids numérico (por ejemplo, 32, 124, etcétera) que se use con los extremos GET /queries/<query_id> o POST /render_tasks/queries/<query_id>/<result_format> por el valor de slug de la consulta. Para obtener instrucciones sobre cómo encontrar el valor de la etiqueta de una consulta, consulta la sección "¿Cómo encuentro el valor de la etiqueta de una consulta?".
  • Todas las aplicaciones que usen el extremo GET /running_queries se restringirán solo a los administradores de Looker.

Si usas la API 3.0 o 3.1

Si usas la API 3.0 o la API 3.1, y usas uno de los extremos que se enumeran en la sección anterior, realiza los siguientes cambios en el código de la aplicación:

  • El extremo GET /queries/<query_id> ya no funcionará. Reemplaza el extremo GET /queries/<query_id> por el extremo GET /queries/slug/<slug> para recuperar los mismos metadatos de consulta que obtuviste antes. Para obtener instrucciones sobre cómo encontrar el valor de la etiqueta de una consulta, consulta la sección "¿Cómo encuentro el valor de la etiqueta de una consulta?".
  • El extremo POST /render_tasks/queries/<query_id>/<result_format> ya no funcionará. Los SDKs de Looker que admiten el nivel de API 3.1 admitirán el nivel de API 3.1 y el 4.0. Si no usas uno de los SDK de Looker, modifica el http request path para usar 4.0 en lugar de 3.1 para esa llamada. Luego, reemplaza cualquier query_ids numérico (por ejemplo, 32, 124, etcétera) por el valor de slug de la consulta. Para obtener instrucciones sobre cómo encontrar el valor de la etiqueta de una consulta, consulta la sección "¿Cómo encuentro el valor de la etiqueta de una consulta?".
  • Todas las aplicaciones que usen el extremo GET /running_queries se restringirán solo a los administradores de Looker.

¿Cómo encuentro el valor del fragmento de una consulta?

Puedes encontrar el valor del fragmento de una consulta de las siguientes maneras:

  • En el caso de una función Descubre, puedes encontrar el fragmento en la URL de la función después de la variable qid= en la URL.

  • Puedes encontrar el valor de la etiqueta asociada con un ID de consulta numérica en Actividad del sistema.

    1. En el menú Explorar de Looker, selecciona la opción Actividad del sistema > Historial Explorar.

    2. En la vista Consulta, selecciona las dimensiones ID y Vínculo.

    3. De manera opcional, agrega un filtro en la dimensión ID y, luego, ingresa el ID numérico de la consulta en el campo de filtro ID de consulta.

    4. Haz clic en Ejecutar.

    5. Haz clic en el vínculo [Query] junto al ID de consulta numérica en los resultados de Explorar para abrir una exploración basada en ese ID de consulta numérica.

    6. Luego, puedes usar el fragmento en la URL de Explorar, que sigue a la variable qid= en la URL.

Habilita el parche en las instancias de Looker (original) alojadas en Looker

Google Cloud recomienda que todos los clientes alojados en Looker habiliten la nueva función heredada Disallow Numeric Query ID.

Para habilitar No permitir IDs de consulta numéricos, sigue estos pasos:

  1. Navega al panel Administrador > Heredado en el menú Administrador de Looker.

  2. Habilita el botón de activación No permitir IDs de consulta numérica:

Habilita el parche en las instancias de Looker (Google Cloud Core)

El parche se habilita automáticamente en todas las instancias de Looker (Google Cloud Core). No es necesario que hagas nada para habilitar el parche, pero asegúrate de actualizar las secuencias de comandos de la API que incluyan cualquiera de los extremos de la API actualizados.

Habilita el parche en instancias alojadas por el cliente

Todas las instancias alojadas por el cliente deben actualizar su instancia de Looker a una versión de Looker que incluya el parche más reciente. Este parche se incluye en la actualización más reciente de las versiones 23.18, 23.20, 24.0 y 24.2 de Looker, y de las versiones ESR 23.0, 23.6, 23.12 y 24.0 de Looker. Asegúrate de actualizar las secuencias de comandos de la API que incluyan cualquiera de los extremos de API actualizados antes de actualizar tu instancia de Looker.

¿Cómo puedo saber si usamos alguno de los extremos de la API actualizados?

Puedes ver una lista de las llamadas a la API realizadas a tu instancia de Looker con la función Explorar actividad del sistema de uso de la API.

  1. En el menú Explorar de Looker, selecciona la exploración Actividad del sistema y, luego, la vista Uso de la API.

  2. Selecciona las dimensiones Created Date > Date y Endpoint, y la medición Total Usage.

  3. Agrega un filtro en la dimensión Extremo y, en el campo de filtro, incluye los siguientes extremos:

    • /queries/:query_id
    • /render_tasks/queries/:query_id/:result_format
    • /running_queries
  4. Haz clic en Ejecutar. Looker mostrará información de uso para esos extremos.

¿Qué debo hacer si necesito más tiempo para actualizar mis secuencias de comandos de API?

Comunícate con el equipo de asistencia de Looker a más tardar el 21 de febrero a las 5 p.m. (hora del Pacífico) y avísanos que quieres inhabilitar la función heredada Disallow Numeric Query IDs hasta que puedas actualizar tus secuencias de comandos de la API.

¿Hay pasos adicionales, además de los que debo realizar para este incidente, que las partes afectadas deban realizar para mitigar posibles efectos adversos?

No

¿Qué medidas está tomando Looker para evitar problemas similares en el futuro?

Looker y Google mantienen un programa de seguridad sólido para prevenir e identificar de forma proactiva las fallas de seguridad de forma interna. Puedes encontrar más información en https://cloud.google.com/looker/product/security.

¿Looker informó a los reguladores?

Looker cumple con todos los requisitos reglamentarios correspondientes en relación con las divulgaciones de este tipo de problemas.