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:
- Endpoint
GET /queries/<query_id>
memerlukan slug untukquery_id
.query_id
yang diberi ID kueri numerik akan menampilkan error 404. - Endpoint
POST /render_tasks/queries/<query_id>/<result_format>
memerlukan slug untukquery_id
.query_id
yang diberi ID kueri numerik akan menampilkan error 404. - Endpoint
GET /running_queries
dibatasi hanya untuk admin Looker.
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:
Update semua skrip API yang menyertakan salah satu endpoint API yang diupdate. Jika Anda tidak memperbarui skrip API seperti dijelaskan di bagian berikut, hal ini dapat menyebabkan error dalam aplikasi Anda. Guna mengetahui petunjuk cara menggunakan Aktivitas Sistem untuk melihat penggunaan endpoint API Anda, lihat bagian "Bagaimana cara mengetahui apakah kita menggunakan endpoint API yang diupdate?" dalam dokumen ini.
Aktifkan update patch. Untuk mendapatkan petunjuk, lihat bagian yang sesuai dengan instance Looker Anda:
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 endpointGET /queries/<query_id>
atauPOST /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 endpointGET /queries/<query_id>
dengan endpointGET /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, ubahhttp request path
agar menggunakan versi 4.0, bukan 3.1, untuk panggilan tersebut. Kemudian, gantiquery_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.
Dari menu Explore Looker, pilih System Activity > History Explore.
Dari tampilan Query, pilih dimensi ID dan Link.
Secara opsional, tambahkan filter pada dimensi ID, lalu masukkan ID kueri numerik kueri di kolom filter ID Kueri.
Klik Run.
Klik link
[Query]
di samping ID kueri numerik di hasil Eksplorasi, sehingga Jelajah berdasarkan ID kueri numerik tersebut akan terbuka.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:
Buka panel Admin > Lama di menu Admin Looker.
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.
Dari menu Explore Looker, pilih Explore System Activity, lalu tampilan API Usage.
Pilih dimensi Tanggal Dibuat > Tanggal dan Titik Akhir, serta ukuran Total Penggunaan.
Tambahkan filter pada dimensi Endpoint, dan di kolom filter, sertakan endpoint berikut:
/queries/:query_id
/render_tasks/queries/:query_id/:result_format
/running_queries
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.