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 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 de forma oficial.

¿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 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 secuencias de comandos de API

Si usas uno de los extremos de la 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 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.) que se use con los extremos GET /queries/<query_id> o POST /render_tasks/queries/<query_id>/<result_format> por el valor slug para la consulta. Para obtener instrucciones sobre cómo encontrar el valor del slug de una consulta, consulta la sección "¿Cómo encuentro el valor del slug para 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 utilizas uno de los extremos que se indican 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 la API 3.1 admitirán la API 3.1 y la API 4.0. Si no usas uno de los SDKs 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.) por el valor de slug para 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?".
  • Las aplicaciones que usen el extremo GET /running_queries estarán restringidas solo a los administradores de Looker.

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

Puedes encontrar el valor del slug para 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 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 de consulta numérico de la consulta en el campo del filtro ID de consulta.

    4. Haz clic en Ejecutar.

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

    6. Luego, puedes usar el slug 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 a todos los clientes alojados en Looker que habiliten la nueva función heredada No permitir el ID de consulta numérica.

Para habilitar No permitir los IDs de consulta numéricos, haz lo siguiente:

  1. Ve a Administrador > Legacy en el menú de administrador de Looker.

  2. Habilita el botón de activación Disallow Numeric Query IDs:

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 las 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 Exploración de la actividad del sistema de uso de las APIs.

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

  2. Selecciona la Fecha de creación > Date y Endpoint, y con la medida de 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á la información de uso de 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 lo que yo debo hacer para este incidente, que las partes afectadas deban tomar 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 identificar y prevenir proactivamente 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.