Pemberitahuan Patch API ID Kueri Looker

Looker telah menyediakan update keamanan wajib untuk mencegah risiko eksposur metadata di seluruh pengguna Looker yang diautentikasi dan menggunakan model LookML yang sama. Untuk mengaktifkan mitigasi dalam instance, Anda mungkin harus mengubah penggunaan endpoint API tertentu. Patch ini memengaruhi semua versi Looker yang didukung yang tercantum dalam dokumen Rilis yang didukung secara resmi.

Apa yang berubah?

Looker telah menerapkan update keamanan wajib ke sistem Anda. Karena perubahan perilaku beberapa endpoint API, Anda harus mengambil tindakan untuk mengaktifkan update keamanan dan menyesuaikan penggunaan API yang diupdate agar tidak menyebabkan error dalam skrip API Anda.

Untuk instance yang dihosting Looker, patch ini menambahkan fitur lama baru, yang disebut Disallow Numeric Query ID. Jika diaktifkan, fitur lama ini akan menyebabkan perubahan pada penggunaan endpoint API berikut:

Untuk instance yang dihosting oleh pelanggan, perubahan endpoint API sebelumnya akan diaktifkan saat instance diupgrade ke versi Looker yang menyertakan patch ini.

Apa yang harus saya lakukan?

Google Cloud merekomendasikan semua pelanggan untuk melakukan kedua tindakan berikut:

Memperbarui skrip API

Jika Anda menggunakan salah satu endpoint API yang tercantum berikutnya, Anda mungkin perlu mengambil tindakan, terlepas dari versi Looker atau versi API yang Anda gunakan. Tindakan yang disarankan berbeda-beda, bergantung pada apakah Anda menggunakan API 3.0 atau API 3.1, atau API 4.0.

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

Jika Anda menggunakan API 4.0

Jika Anda menggunakan API 4.0, dan menggunakan salah satu endpoint yang tercantum di bagian sebelumnya, buat perubahan kode aplikasi berikut:

  • Ganti query_ids numerik apa pun (misalnya, 32, 124, dll.) yang digunakan dengan endpoint GET /queries/<query_id> atau POST /render_tasks/queries/<query_id>/<result_format> dengan nilai slug untuk kueri. Untuk mendapatkan petunjuk tentang cara menemukan nilai slug kueri, lihat bagian "Bagaimana cara menemukan nilai slug untuk kueri?".
  • Setiap aplikasi yang menggunakan endpoint GET /running_queries akan dibatasi hanya untuk admin Looker.

Jika Anda menggunakan API 3.0 atau 3.1

Jika Anda menggunakan API 3.0 atau API 3.1, dan menggunakan salah satu endpoint yang tercantum di bagian sebelumnya, buat perubahan kode aplikasi berikut:

  • Endpoint GET /queries/<query_id> tidak akan berfungsi lagi. Ganti endpoint GET /queries/<query_id> dengan endpoint GET /queries/slug/<slug> untuk mengambil metadata kueri yang sama dengan yang Anda dapatkan sebelumnya. Untuk mendapatkan petunjuk tentang cara menemukan nilai slug kueri, lihat bagian "Bagaimana cara menemukan nilai slug untuk kueri?".
  • Endpoint POST /render_tasks/queries/<query_id>/<result_format> tidak akan berfungsi lagi. Looker SDK yang mendukung API 3.1 akan mendukung API 3.1 dan API 4.0. Jika Anda tidak menggunakan salah satu SDK Looker, ubah http request path agar menggunakan versi 4.0, bukan 3.1, untuk panggilan tersebut. Kemudian, ganti query_ids numerik apa pun (misalnya, 32, 124, dll.) dengan nilai slug untuk kueri. Untuk mendapatkan petunjuk tentang cara menemukan nilai slug kueri, lihat bagian "Bagaimana cara menemukan nilai slug untuk kueri?".
  • Setiap aplikasi yang menggunakan endpoint GET /running_queries akan dibatasi hanya untuk admin Looker.

Bagaimana cara menemukan nilai slug untuk kueri?

Anda dapat menemukan nilai slug untuk kueri dengan cara berikut:

  • Untuk Jelajah, Anda dapat menemukan slug di URL Jelajah dengan mengikuti variabel qid= di URL.

  • Anda dapat menemukan nilai slug menggunakan ID kueri numerik menggunakan Aktivitas Sistem.

    1. Dari menu Explore Looker, pilih System Activity > History Explore.

    2. Dari tampilan Query, pilih dimensi ID dan Link.

    3. Secara opsional, tambahkan filter pada dimensi ID, lalu masukkan ID kueri numerik kueri di kolom filter ID Kueri.

    4. Klik Run.

    5. Klik link [Query] di samping ID kueri numerik di hasil Eksplorasi, sehingga Jelajah berdasarkan ID kueri numerik tersebut akan terbuka.

    6. Anda kemudian dapat menggunakan slug di URL Jelajah, yang mengikuti variabel qid= di URL.

Mengaktifkan patch pada instance Looker (asli) yang dihosting oleh Looker

Google Cloud merekomendasikan semua pelanggan yang dihosting Looker mengaktifkan fitur lama Disallow Numeric Query ID yang baru.

Untuk mengaktifkan Disallow Numeric Query IDs:

  1. Buka panel Admin > Lama di menu Admin Looker.

  2. Aktifkan tombol Disallow Numeric Query IDs:

Mengaktifkan patch pada instance Looker (Google Cloud core)

Patch diaktifkan secara otomatis di semua instance Looker (Google Cloud core). Anda tidak perlu melakukan apa pun untuk mengaktifkan patch, tetapi pastikan untuk memperbarui skrip API yang menyertakan endpoint API yang diupdate.

Mengaktifkan patch pada instance yang dihosting Pelanggan

Semua instance yang dihosting pelanggan harus mengupdate instance Looker-nya ke versi Looker yang menyertakan patch terbaru. Patch ini disertakan dalam update terbaru untuk Looker versi 23.18, 23.20, 24.0, dan 24.2, serta ke Looker ESR versi 23.0, 23.6, 23.12, dan 24.0. Pastikan untuk memperbarui skrip API yang menyertakan endpoint API yang diperbarui sebelum Anda memperbarui instance Looker.

Bagaimana cara mengetahui apakah kita menggunakan salah satu endpoint API yang diupdate?

Anda dapat melihat daftar panggilan API yang dilakukan ke instance Looker menggunakan API Usage System Activity Explore.

  1. Dari menu Explore Looker, pilih Explore System Activity, lalu tampilan API Usage.

  2. Pilih dimensi Tanggal Dibuat > Tanggal dan Titik Akhir, serta ukuran Total Penggunaan.

  3. Tambahkan filter pada dimensi Endpoint, dan di kolom filter, sertakan endpoint berikut:

    • /queries/:query_id
    • /render_tasks/queries/:query_id/:result_format
    • /running_queries
  4. Klik Run. Looker akan menampilkan informasi penggunaan untuk endpoint tersebut.

Jika saya memerlukan lebih banyak waktu untuk memperbarui skrip API, apa yang harus saya lakukan?

Hubungi dukungan Looker paling lambat 21 Februari, pukul 17.00 Waktu Pasifik, dan beri tahu kami bahwa Anda ingin menonaktifkan fitur lama Disallow Numeric Query IDs hingga Anda dapat memperbarui skrip API.

Apakah ada langkah tambahan, selain yang harus saya lakukan untuk insiden ini, yang perlu dilakukan oleh pihak yang terdampak untuk mengurangi kemungkinan efek samping?

Tidak

Langkah apa yang diambil Looker untuk mencegah masalah serupa pada masa mendatang?

Looker dan Google mempertahankan program keamanan yang tangguh untuk secara proaktif mencegah dan mengidentifikasi celah keamanan secara internal. Anda dapat menemukan informasi selengkapnya di https://cloud.google.com/looker/product/security.

Apakah Looker sudah memberikan informasi kepada regulator?

Looker mengikuti semua persyaratan peraturan yang sesuai mengenai pengungkapan untuk jenis masalah ini.