Looker ha reso disponibile un aggiornamento della sicurezza obbligatorio per evitare il rischio di esposizione dei metadati tra gli utenti di Looker autenticati che condividono lo stesso modello LookML. Per attivare la mitigazione nell'istanza, potrebbe essere necessario modificare l'utilizzo di determinati endpoint API. Questo patch interessa 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 della modifica del comportamento di alcuni endpoint API, dovrai intervenire per attivare l'aggiornamento della sicurezza e modificare l'utilizzo delle API aggiornate per evitare di causare errori negli script API.
Per le istanze ospitate da Looker, questo patch aggiunge una nuova funzionalità precedente, chiamata Disallow Numeric Query IDs (Non consentire ID query numerici). Se abilitata, questa funzionalità precedente comporta 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
è riservato solo agli amministratori di Looker.
Per le istanze ospitate dal cliente, le modifiche all'endpoint API precedente verranno attivate quando verrà eseguito l'upgrade dell'istanza a una versione di Looker che include questa patch.
Che cosa devo fare?
Google Cloud consiglia a tutti i clienti di completare entrambe le seguenti azioni:
Aggiorna gli script API che includono uno degli endpoint API aggiornati. Se non aggiorni gli script API come descritto nella sezione seguente, potrebbero verificarsi errori nelle applicazioni. Per istruzioni su come utilizzare l'attività di sistema per visualizzare l'utilizzo degli endpoint API, consulta la sezione "Come faccio a sapere se utilizziamo uno degli endpoint API aggiornati?" di questo documento.
Attiva gli aggiornamenti delle patch. Per le istruzioni, consulta la sezione corrispondente alla tua istanza di 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 è diversa a seconda che tu stia utilizzando l'API 3.0 o l'API 3.1 o l'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 utilizzi 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 es. 32, 124 e così via) utilizzato con gli endpointGET /queries/<query_id>
oPOST /render_tasks/queries/<query_id>/<result_format>
con il valore slug per la query. Per istruzioni su come trovare il valore del slug di una query, consulta la sezione "Come faccio a trovare il valore del slug per una query?". - Tutte le applicazioni che utilizzano l'endpoint
GET /running_queries
saranno limitate solo agli amministratori di Looker.
Se utilizzi l'API 3.0 o 3.1
Se utilizzi 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 che ottenevi in precedenza. Per istruzioni su come trovare il valore del slug di una query, consulta la sezione "Come faccio a trovare il valore del slug per una query?". - L'endpoint
POST /render_tasks/queries/<query_id>/<result_format>
non funzionerà più. Gli SDK di Looker che supportano l'API 3.1 supporteranno sia l'API 3.1 sia l'API 4.0. Se non utilizzi uno degli SDK di Looker, modificahttp request path
in modo da utilizzare 4.0 anziché 3.1 per la chiamata. Poi sostituisci qualsiasiquery_ids
numerico (ad es. 32, 124 e così via) con il valore slug per la query. Per istruzioni su come trovare il valore del slug di una query, consulta la sezione "Come faccio a trovare il valore del slug per una query?". - Tutte le applicazioni che utilizzano l'endpoint
GET /running_queries
saranno limitate solo agli amministratori di Looker.
Come faccio a trovare il valore del slug per una query?
Puoi trovare il valore del slug per una query nei seguenti modi:
Per un'esplorazione, puoi trovare lo slug nell'URL dell'esplorazione dopo la variabile
qid=
nell'URL.Puoi trovare il valore del slug associato a un ID query numerico utilizzando Attività di sistema.
Nel menu Esplorazione di Looker, seleziona l'esplorazione Attività di sistema > Cronologia.
Nella visualizzazione Query, seleziona le dimensioni ID e Link.
Se vuoi, aggiungi un filtro alla dimensione ID e inserisci l'ID numerico della query nel campo del filtro ID query.
Fai clic su Esegui.
Fai clic sul link
[Query]
accanto all'ID query numerico nei risultati dell'esplorazione per aprire un'esplorazione basata su quell'ID query numerico.Puoi quindi utilizzare il slug nell'URL dell'esplorazione, che segue la variabile
qid=
nell'URL.
Attivazione della patch nelle istanze Looker (originali) ospitate da Looker
Google Cloud consiglia a tutti i clienti in cui Looker è ospitato di attivare la nuova funzionalità precedente Disallow Numeric Query ID.
Per attivare l'opzione Disattiva ID query numerici:
Vai al riquadro Amministrazione > Legacy nel menu Amministrazione di Looker.
Attiva l'opzione di attivazione/disattivazione Non consentire ID query numerici:
Attivazione della patch sulle istanze di Looker (Google Cloud core)
Il patch viene attivato automaticamente su tutte le istanze di Looker (Google Cloud core). Non devi fare nulla per attivare la patch, ma assicurati di aggiornare gli script API che includono gli endpoint API aggiornati.
Attivazione della patch nelle istanze ospitate dal cliente
Tutte le istanze ospitate dal cliente devono aggiornare la propria istanza di Looker a una versione di Looker che includa la patch più recente. Questa patch è inclusa nell'aggiornamento più recente alle versioni di Looker 23.18, 23.20, 24.0 e 24.2 e alle versioni di Looker ESR 23.0, 23.6, 23.12 e 24.0. Prima di aggiornare l'istanza di Looker, assicurati di aggiornare gli script API che includono gli endpoint API aggiornati.
Come faccio a sapere se utilizziamo uno degli endpoint dell'API aggiornati?
Puoi visualizzare un elenco delle chiamate API effettuate alla tua istanza Looker utilizzando l'esplorazione dell'attività di sistema per l'utilizzo delle API.
Nel menu Esplorazione di Looker, seleziona l'esplorazione Attività di sistema e poi la visualizzazione Utilizzo API.
Seleziona le dimensioni Data di creazione > Data ed Endpoint, nonché la misura Utilizzo totale.
Aggiungi un filtro alla dimensione Endpoint e nel campo del filtro includi i seguenti endpoint:
/queries/:query_id
/render_tasks/queries/:query_id/:result_format
/running_queries
Fai clic su Esegui. Looker mostrerà le informazioni sull'utilizzo di questi endpoint.
Cosa devo fare se ho bisogno di più tempo per aggiornare gli script API?
Contatta l'assistenza di Looker entro le ore 17:00 (ora del Pacifico USA) del 21 febbraio e comunicaci che vuoi disattivare la funzionalità precedente Disattiva ID query numerici finché non potrai aggiornare gli script API.
Oltre a ciò che devo fare per questo incidente, ci sono altri passaggi che le parti interessate devono svolgere per mitigare possibili effetti negativi?
No
Quali misure sta adottando Looker per evitare problemi simili in futuro?
Looker e Google gestiscono un solido programma di sicurezza per prevenire e identificare in modo proattivo i difetti di sicurezza interni. Puoi trovare ulteriori informazioni all'indirizzo https://cloud.google.com/looker/product/security.
Looker ha informato le autorità di regolamentazione?
Looker rispetta tutti i requisiti normativi appropriati relativi alla divulgazione di questo tipo di problemi.