Looker ha reso disponibile un aggiornamento della sicurezza obbligatorio per prevenire il rischio di esposizione dei metadati tra utenti Looker autenticati che condividono lo stesso modello LookML. Per abilitare la mitigazione nella tua istanza, potrebbe essere necessario modificare l'utilizzo di alcuni endpoint API. Questa patch influisce su tutte le versioni di Looker supportate elencate nel documento Release ufficialmente supportate.
Che cosa è cambiato?
Looker ha applicato un aggiornamento della sicurezza obbligatorio al tuo sistema. A causa del cambiamento nel comportamento di alcuni endpoint API, dovrai intervenire per attivare l'aggiornamento della sicurezza e regolare l'utilizzo di eventuali API aggiornate per evitare di causare errori negli script delle API.
Per le istanze ospitate da Looker, questa patch aggiunge una nuova funzionalità precedente, denominata Non consentire ID query numerici. Quando è abilitata, questa funzionalità legacy causa modifiche nell'utilizzo dei seguenti endpoint API:
- L'endpoint
GET /queries/<query_id>
richiede uno slug perquery_id
. Unquery_id
a cui viene assegnato un ID query numerico restituirà un errore 404. - L'endpoint
POST /render_tasks/queries/<query_id>/<result_format>
richiede uno slug perquery_id
. Unquery_id
a cui viene assegnato un ID query numerico restituirà un errore 404. - L'endpoint
GET /running_queries
è limitato solo agli amministratori di Looker.
Per le istanze ospitate dal cliente, le precedenti modifiche degli endpoint API verranno abilitate quando viene eseguito l'upgrade dell'istanza a una versione di Looker che include questa patch.
Cosa devo fare?
Google Cloud consiglia a tutti i clienti di completare entrambe le seguenti azioni:
Aggiorna gli eventuali script API che includono endpoint API aggiornati. Se non aggiorni gli script API come descritto nella sezione seguente, ciò potrebbe causare errori nelle tue applicazioni. Per istruzioni su come utilizzare l'impostazione Attività di sistema per visualizzare l'utilizzo degli endpoint API, consulta la sezione "Come faccio a sapere se viene utilizzato uno degli endpoint API aggiornati?" di questo documento.
Abilita gli aggiornamenti delle patch. Per le istruzioni, consulta la sezione corrispondente alla tua istanza Looker:
Aggiornamento degli script API
Se utilizzi uno degli endpoint API elencati di seguito, potresti dover intervenire indipendentemente dalla versione di Looker o dell'API in uso. L'azione consigliata varia a seconda che utilizzi API 3.0 o API 3.1 oppure API 4.0.
GET /queries/<query_id>
POST /render_tasks/queries/<query_id>/<result_format>
GET /running_queries
Se utilizzi l'API 4.0
Se usi l'API 4.0 e uno degli endpoint elencati nella sezione precedente, apporta le seguenti modifiche al codice dell'applicazione:
- Sostituisci qualsiasi
query_ids
numerico (ad esempio 32, 124 e così via) utilizzato con gli endpointGET /queries/<query_id>
oPOST /render_tasks/queries/<query_id>/<result_format>
con il valore slug della query. Per istruzioni su come trovare il valore slug di una query, consulta la sezione "Come faccio a trovare il valore slug per una query?". - Qualsiasi applicazione che utilizza l'endpoint
GET /running_queries
sarà limitata solo agli amministratori di Looker.
Se utilizzi l'API 3.0 o 3.1
Se usi l'API 3.0 o l'API 3.1 e uno degli endpoint elencati nella sezione precedente, apporta le seguenti modifiche al codice dell'applicazione:
- L'endpoint
GET /queries/<query_id>
non funzionerà più. Sostituisci l'endpointGET /queries/<query_id>
con l'endpointGET /queries/slug/<slug>
per recuperare gli stessi metadati delle query di cui stavi ricevendo in precedenza. Per istruzioni su come trovare il valore slug di una query, consulta la sezione "Come faccio a trovare il valore slug per una query?". - L'endpoint
POST /render_tasks/queries/<query_id>/<result_format>
non funzionerà più. Gli SDK Looker che supportano l'API 3.1 supporteranno sia l'API 3.1 che l'API 4.0. Se non utilizzi uno degli SDK di Looker, modificahttp request path
in modo da usare la versione 4.0 anziché la versione 3.1 per la chiamata. Quindi sostituisci qualsiasi valore numericoquery_ids
(ad esempio 32, 124 e così via) con il valore slug della query. Per istruzioni su come trovare il valore slug di una query, consulta la sezione "Come faccio a trovare il valore slug per una query?". - Qualsiasi applicazione che utilizza l'endpoint
GET /running_queries
sarà limitata solo agli amministratori di Looker.
Come posso trovare il valore slug per una query?
Puoi trovare il valore slug per una query nei seguenti modi:
Per un'esplorazione, puoi trovare lo slug nell'URL dell'esplorazione che segue la variabile
qid=
nell'URL.Puoi trovare il valore slug utilizzando l'ID associato a un ID query numerico utilizzando l'Attività di sistema.
Dal menu Esplorazione di Looker, seleziona Attività di sistema > Cronologia Esplora.
Nella visualizzazione Query, seleziona le dimensioni ID e Link.
Se vuoi, aggiungi un filtro alla dimensione ID e inserisci l'ID query numerico della query nel campo del filtro ID query.
Fai clic su Run (Esegui).
Fai clic sul link
[Query]
accanto all'ID query numerico nei risultati di Esplora: si aprirà un'esplorazione in base all'ID query numerico specificato.Puoi quindi utilizzare lo slug nell'URL dell'esplorazione, che segue la variabile
qid=
nell'URL.
Abilitazione della patch sulle istanze Looker (originale) ospitate da Looker
Google Cloud consiglia a tutti i clienti ospitati da Looker di abilitare la nuova funzionalità precedente Non consentire l'ID query numerico.
Per attivare l'opzione Non consentire ID query numerici:
Vai al riquadro Amministrazione > Legacy nel menu Amministratore di Looker.
Attiva l'opzione Non consentire ID query numerici:
Abilitazione della patch sulle istanze di Looker (Google Cloud core)
La patch viene abilitata automaticamente su tutte le istanze di Looker (Google Cloud core). Non devi fare nulla per abilitare la patch, ma assicurati di aggiornare eventuali script API che includono gli endpoint API aggiornati.
Abilitazione della patch nelle istanze ospitate dal cliente
Tutte le istanze ospitate dal cliente devono aggiornare la propria istanza Looker a una versione di Looker che includa la patch più recente. Questa patch è inclusa nell'aggiornamento più recente alle versioni 23.18, 23.20, 24.0 e 24.2 di Looker e alle versioni 23.0, 23.6, 23.12 e 24.0 di Looker ESR. Assicurati di aggiornare tutti gli script API che includono gli endpoint API aggiornati prima di aggiornare l'istanza di Looker.
Come faccio a sapere se vengono utilizzati endpoint API aggiornati?
Puoi visualizzare un elenco delle chiamate API effettuate alla tua istanza Looker utilizzando l'esplorazione delle attività del sistema di utilizzo delle API.
Dal menu Esplora di Looker, seleziona l'esplorazione dell'attività di sistema, quindi la visualizzazione Utilizzo API.
Seleziona le dimensioni Data di creazione > Data ed Endpoint e la misura Utilizzo totale.
Aggiungi un filtro alla dimensione Endpoint e includi i seguenti endpoint nel campo del filtro:
/queries/:query_id
/render_tasks/queries/:query_id/:result_format
/running_queries
Fai clic su Run (Esegui). Looker mostrerà le informazioni sull'utilizzo di questi endpoint.
Che cosa devo fare se mi serve più tempo per aggiornare i miei script API?
Contatta l'assistenza Looker entro il 21 febbraio alle 17:00 (fuso orario del Pacifico) e comunicaci di voler disattivare la funzionalità precedente Non consentire l'utilizzo degli ID query numerici finché non potrai aggiornare gli script API.
Sono previsti ulteriori passaggi, oltre a quello che devo fare per questo incidente, che le parti interessate devono intraprendere per mitigare i possibili effetti negativi?
No
Quali misure sta adottando Looker per prevenire problemi simili in futuro?
Looker e Google adottano un solido programma di sicurezza per prevenire e identificare in modo proattivo i problemi di sicurezza internamente. Puoi trovare maggiori informazioni all'indirizzo https://cloud.google.com/looker/product/security.
Looker ha informato gli enti regolatori?
Looker segue tutti i requisiti normativi appropriati relativi alla divulgazione per questi tipi di problemi.