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:
- El extremo
GET /queries/<query_id>
requiere un slug para elquery_id
. Unquery_id
al que se le asigne un ID de consulta numérico mostrará un error 404. - El extremo
POST /render_tasks/queries/<query_id>/<result_format>
requiere un slug para elquery_id
. Unaquery_id
que recibe un ID de consulta numérico mostrará un error 404. - El extremo
GET /running_queries
está restringido solo a los administradores de Looker.
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 API que incluyan cualquiera de los extremos de API actualizados. Si no actualizas tus secuencias de comandos de API como se describe en la siguiente sección, es posible que se produzcan errores en tus aplicaciones. Si deseas obtener instrucciones para usar la Actividad del sistema y ver el uso de los extremos de la API, consulta la sección "¿Cómo puedo saber si usamos alguno de los extremos de la API actualizados?" de este documento.
Habilita las actualizaciones de parches. Para obtener instrucciones, consulta la sección que corresponda a tu instancia de Looker:
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 extremosGET /queries/<query_id>
oPOST /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 extremoGET /queries/<query_id>
por el extremoGET /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 elhttp request path
para usar 4.0 en lugar de 3.1 para esa llamada. Luego, reemplaza cualquierquery_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.
En el menú Explorar de Looker, selecciona Actividad del sistema > Historial Explorar.
En la vista Consulta, selecciona las dimensiones ID y Vínculo.
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.
Haz clic en Ejecutar.
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.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:
Ve a Administrador > Legacy en el menú de administrador de Looker.
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.
Desde el menú Explorar de Looker, selecciona la opción Explorar Actividad del sistema y, luego, la vista Uso de la API.
Selecciona la Fecha de creación > Date y Endpoint, y con la medida de Total Usage
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
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.