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 di instance, Anda mungkin diminta untuk 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.
Untuk instance yang dihosting Looker, patch ini menambahkan fitur lama baru, yang disebut Jangan Izinkan ID Kueri Numerik. Jika diaktifkan, fitur lama ini akan menyebabkan perubahan dalam 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
hanya dibatasi untuk admin Looker.
Untuk instance yang dihosting 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 agar semua pelanggan menyelesaikan kedua tindakan berikut:
Perbarui skrip API yang menyertakan salah satu endpoint API yang diperbarui. Jika Anda tidak memperbarui skrip API seperti yang dijelaskan di bagian berikut, hal ini dapat menyebabkan error dalam aplikasi Anda. Untuk petunjuk cara menggunakan Aktivitas Sistem guna melihat penggunaan endpoint API Anda, lihat bagian "Bagaimana cara mengetahui apakah kami menggunakan endpoint API yang diperbarui?" dalam dokumen ini.
Aktifkan update patch. Untuk mengetahui petunjuknya, lihat bagian yang sesuai dengan instance Looker Anda:
Memperbarui skrip API
Jika menggunakan salah satu endpoint API yang tercantum di bawah, Anda mungkin perlu mengambil tindakan, terlepas dari versi Looker atau versi API yang Anda gunakan. Tindakan yang direkomendasikan 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 (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 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 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
untuk menggunakan 4.0, bukan 3.1 untuk panggilan tersebut. Kemudian, gantiquery_ids
numerik (misalnya, 32, 124, dll.) dengan nilai slug untuk kueri. Untuk 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 setelah variabel
qid=
di URL.Anda dapat menemukan nilai slug yang terkait dengan ID kueri numerik menggunakan Aktivitas Sistem.
Dari menu Jelajahi Looker, pilih Aktivitas Sistem > Histori Jelajahi.
Dari tampilan Kueri, pilih dimensi ID dan Link.
Atau, tambahkan filter pada dimensi ID, dan masukkan ID kueri numerik di kolom filter Query ID.
Klik Run.
Klik link
[Query]
di samping ID kueri numerik di hasil Jelajahi, dan tindakan ini akan membuka Jelajahi berdasarkan ID kueri numerik tersebut.Anda kemudian dapat menggunakan slug di URL Jelajahi, yang mengikuti variabel
qid=
di URL.
Mengaktifkan patch pada instance Looker (asli) yang dihosting Looker
Google Cloud merekomendasikan semua pelanggan yang menghosting Looker untuk mengaktifkan fitur lama Disallow Numeric Query ID yang baru.
Untuk mengaktifkan Larang ID Kueri Numerik:
Buka panel Admin > Legacy di menu Admin Looker.
Aktifkan tombol Jangan Izinkan ID Kueri Numerik:
Mengaktifkan patch di 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 mengupdate skrip API yang menyertakan endpoint API yang diperbarui.
Mengaktifkan patch di instance yang dihosting Pelanggan
Semua instance yang dihosting pelanggan harus mengupdate instance Looker mereka 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 untuk 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 mengupdate instance Looker.
Bagaimana cara mengetahui apakah kita menggunakan endpoint API yang diperbarui?
Anda dapat melihat daftar panggilan API yang dilakukan ke instance Looker menggunakan Jelajah Aktivitas Sistem Penggunaan API.
Dari menu Jelajahi Looker, pilih Jelajahi Aktivitas Sistem, lalu tampilan Penggunaan API.
Pilih dimensi Tanggal Pembuatan > Tanggal dan Endpoint, 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 waktu lebih lama 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 ID Kueri Numerik Tidak Diizinkan hingga Anda dapat mengupdate skrip API.
Apakah ada langkah tambahan, selain yang perlu saya lakukan untuk insiden ini, yang perlu dilakukan oleh pihak yang terpengaruh untuk mengurangi kemungkinan efek buruk?
Tidak
Langkah apa yang diambil Looker untuk mencegah masalah serupa di masa mendatang?
Looker dan Google mempertahankan program keamanan yang andal untuk secara proaktif mencegah dan mengidentifikasi kekurangan keamanan secara internal. Anda dapat menemukan informasi selengkapnya di https://cloud.google.com/looker/product/security.
Apakah Looker telah memberi tahu regulator?
Looker mengikuti semua ketentuan peraturan yang semestinya mengenai pengungkapan untuk jenis masalah ini.