Aviso de patch da API Looker Query ID

O Looker disponibilizou uma atualização de segurança obrigatória para evitar o risco de exposição de metadados entre utilizadores autenticados do Looker que partilham o mesmo modelo do LookML. Para ativar a mitigação na sua instância, pode ter de alterar a utilização de determinados pontos finais da API. Esta correção afeta todas as versões do Looker suportadas listadas no documento Lançamentos oficialmente suportados.

O que mudou?

O Looker aplicou uma atualização de segurança obrigatória ao seu sistema. Devido à alteração no comportamento de alguns pontos finais da API, tem de tomar medidas para ativar a atualização de segurança e ajustar a sua utilização de quaisquer APIs atualizadas para evitar causar erros nos seus scripts de API.

Para instâncias alojadas no Looker, esta correção adiciona uma nova funcionalidade antiga, denominada Não permitir IDs de consultas numéricos. Quando ativada, esta funcionalidade antiga provoca alterações na utilização dos seguintes pontos finais da API:

Para instâncias alojadas pelo cliente, as alterações anteriores do ponto final da API são ativadas quando a instância é atualizada para uma versão do Looker que inclui este patch.

O que necessito de fazer?

O Google Cloud recomenda que todos os clientes concluam as seguintes ações:

Atualizar scripts de API

Se estiver a usar um dos pontos finais da API indicados a seguir, pode ter de tomar medidas independentemente da versão do Looker ou da versão da API que estiver a usar. A ação recomendada é diferente consoante esteja a usar a API 3.0 ou a API 3.1, ou a API 4.0.

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

Se estiver a usar a API 4.0

Se estiver a usar a API 4.0 e um dos pontos finais indicados na secção anterior, faça as seguintes alterações ao código da aplicação:

  • Substitua quaisquer valores numéricos query_ids (por exemplo, 32, 124, etc.) usados com os pontos finais GET /queries/<query_id> ou POST /render_tasks/queries/<query_id>/<result_format> pelo valor slug da consulta. Para obter instruções sobre como encontrar o valor do slug de uma consulta, consulte a secção "Como posso encontrar o valor do slug de uma consulta?".
  • Todas as aplicações que usam o ponto final GET /running_queries vão ficar restritas apenas aos administradores do Looker.

Se estiver a usar a API 3.0 ou 3.1

Se estiver a usar a API 3.0 ou a API 3.1 e estiver a usar um dos pontos finais indicados na secção anterior, faça as seguintes alterações ao código da aplicação:

  • O ponto final GET /queries/<query_id> vai deixar de funcionar. Substitua o ponto final GET /queries/<query_id> pelo ponto final GET /queries/slug/<slug> para obter os mesmos metadados de consulta que obtinha anteriormente. Para obter instruções sobre como encontrar o valor do slug de uma consulta, consulte a secção "Como posso encontrar o valor do slug de uma consulta?".
  • O ponto final POST /render_tasks/queries/<query_id>/<result_format> vai deixar de funcionar. Os SDKs do Looker que suportam a API 3.1 vão suportar a API 3.1 e a API 4.0. Se não estiver a usar um dos SDKs do Looker, modifique o http request path para usar a versão 4.0 em vez da 3.1 para essa chamada. Em seguida, substitua qualquer número query_ids (por exemplo, 32, 124, etc.) pelo valor do slug da consulta. Para obter instruções sobre como encontrar o valor do slug de uma consulta, consulte a secção "Como posso encontrar o valor do slug de uma consulta?".
  • Todas as aplicações que usam o ponto final GET /running_queries vão ficar restritas apenas aos administradores do Looker.

Como posso encontrar o valor do slug de uma consulta?

Pode encontrar o valor do slug de uma consulta das seguintes formas:

  • Para uma exploração, pode encontrar o slug no URL da exploração após a variável qid= no URL.

  • Pode encontrar o valor do slug associado a um ID de consulta numérico através da Atividade do sistema.

    1. No menu Explorar do Looker, selecione Atividade do sistema > Histórico Explorar.

    2. Na vista Consulta, selecione as dimensões ID e Associação.

    3. Opcionalmente, adicione um filtro na dimensão ID e introduza o ID numérico da consulta no campo de filtro ID da consulta.

    4. Clique em Executar.

    5. Clique no link [Query] junto ao ID da consulta numérica nos resultados da exploração. Esta ação abre uma exploração baseada nesse ID da consulta numérica.

    6. Em seguida, pode usar o slug no URL do Explore, que segue a variável qid= no URL.

Ativar a correção nas instâncias do Looker (original) alojadas no Looker

O Google Cloud recomenda que todos os clientes alojados no Looker ativem a nova funcionalidade antiga Não permitir ID de consulta numérico.

Para ativar a opção Não permitir IDs de consultas numéricos:

  1. Navegue para o painel Administração > Antigo no menu de administração do Looker.

  2. Ative o botão Não permitir IDs de consultas numéricos:

Ativar a correção nas instâncias do Looker (Google Cloud Core)

A correção é ativada automaticamente em todas as instâncias do Looker (Google Cloud Core). Não tem de fazer nada para ativar a correção, mas certifique-se de que atualiza todos os scripts de API que incluem qualquer um dos pontos finais da API atualizados.

Ativar a correção em instâncias alojadas pelo cliente

Todas as instâncias alojadas pelo cliente devem atualizar a respetiva instância do Looker para uma versão do Looker que inclua o patch mais recente. Esta correção está incluída na atualização mais recente das versões 23.18, 23.20, 24.0 e 24.2 do Looker, e das versões 23.0, 23.6, 23.12 e 24.0 do ESR do Looker. Certifique-se de que atualiza todos os scripts de API que incluem qualquer um dos endpoints da API atualizados antes de atualizar a sua instância do Looker.

Como posso saber se usamos algum dos pontos finais da API atualizados?

Pode ver uma lista das chamadas API feitas à sua instância do Looker através do API Usage System Activity Explore.

  1. No menu Explorar do Looker, selecione o conteúdo de Explorar Atividade do sistema e, de seguida, a vista Utilização da API.

  2. Selecione as dimensões Data de criação > Data e Ponto final, e a medida Utilização total.

  3. Adicione um filtro na dimensão Ponto final e, no campo de filtro, inclua os seguintes pontos finais:

    • /queries/:query_id
    • /render_tasks/queries/:query_id/:result_format
    • /running_queries
  4. Clique em Executar. O Looker apresenta informações de utilização desses pontos finais.

Se precisar de mais tempo para atualizar os meus scripts da API, o que devo fazer?

Contacte o apoio técnico do Looker até às 17:00 (hora do Pacífico) do dia 21 de fevereiro e informe-nos de que quer que a funcionalidade antiga Não permitir IDs de consultas numéricos seja desativada até poder atualizar os seus scripts de API.

Existem passos adicionais, além dos que tenho de realizar para este incidente, que as partes afetadas têm de realizar para mitigar possíveis efeitos adversos?

Não

Que medidas está o Looker a tomar para evitar problemas semelhantes no futuro?

O Looker e a Google mantêm um programa de segurança robusto para prevenir e identificar proativamente falhas de segurança internamente. Pode encontrar mais informações em https://cloud.google.com/looker/product/security.

O Looker informou os reguladores?

O Looker cumpre todos os requisitos regulamentares adequados relativamente às divulgações para estes tipos de problemas.