Mengintegrasikan BigQuery dengan Google SecOps
Dokumen ini menjelaskan cara mengintegrasikan BigQuery dengan Google Security Operations.
Kasus penggunaan
Integrasi BigQuery menggunakan kemampuan Google SecOps untuk mendukung kasus penggunaan berikut:
Pengayaan threat intelligence: Otomatis memperkaya notifikasi keamanan dengan data threat intelligence yang disimpan di BigQuery untuk menilai tingkat keparahan dan kredibilitas potensi ancaman.
Analisis perilaku pengguna: Identifikasi aktivitas pengguna yang tidak normal dengan menganalisis log historis yang disimpan di BigQuery untuk mendeteksi ancaman dari dalam dan akun yang disusupi.
Analisis data lake keamanan: Gunakan kemampuan kueri BigQuery untuk menganalisis data keamanan dalam jumlah besar yang digabungkan dari berbagai sumber untuk meningkatkan perburuan ancaman.
Analisis ML/AI tingkat lanjut: Bangun model kustom untuk pertahanan prediktif dan penilaian risiko otomatis menggunakan data keamanan historis dan BigQuery ML.
Retensi data jangka panjang: Arsipkan data insiden yang telah diselesaikan ke BigQuery untuk penyimpanan jangka panjang yang hemat biaya, yang mendukung kepatuhan dan audit forensik.
Sebelum memulai
Sebelum mengonfigurasi integrasi BigQuery di Google SecOps, selesaikan langkah-langkah prasyarat berikut:
Berikan peran Identity and Access Management yang diperlukan ke akun layanan Anda.
Pilih dan konfigurasi salah satu metode autentikasi berikut:
Opsi 1: Workload Identity (direkomendasikan): Metode ini menggunakan token akses sementara yang berumur pendek menggunakan peniruan akun layanan.
Opsi 2: Kunci JSON akun layanan: Metode ini mengandalkan file kunci rahasia statis yang berumur panjang.
Memberikan peran IAM
Dengan memberikan izin yang diperlukan ke akun layanan, integrasi dapat menjalankan tugas dan mengakses data Anda. Peran standar berikut dikelola oleh Google Cloud dan otomatis diupdate jika persyaratan API berubah. Untuk menetapkan peran ini ke akun layanan Anda, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka IAM.
Temukan akun layanan Anda dalam daftar akun utama, lalu klik Edit principal (edit).
Klik Add another role, lalu pilih berikut ini:
BigQuery User (
roles/bigquery.user): Memungkinkan integrasi menjalankan tugas, termasuk kueri, dalam project.BigQuery Data Viewer (
roles/bigquery.dataViewer): Memungkinkan integrasi membaca data dan metadata dari set data dan tabel.Service Usage Consumer (
roles/serviceusage.serviceUsageConsumer): Peran ini wajib jika Anda mengonfigurasiQuota Project IDdi setelan integrasi.
Klik Simpan.
Membuat akun layanan
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Klik addCreate service account.
Berikan nama dan deskripsi, lalu klik Buat dan lanjutkan.
Pada langkah Grant this service account access to project, tambahkan peran yang diidentifikasi pada langkah sebelumnya.
Klik Done. Catat Alamat email akun layanan.
Mengonfigurasi kredensial Workload Identity
Workload Identity adalah pendekatan yang direkomendasikan karena menggunakan token akses berumur pendek menggunakan peniruan akun layanan.
Mengidentifikasi identitas instance yang unik
Untuk membuat koneksi, Anda harus memberikan izin kepada instance Google SecOps untuk meniru identitas akun layanan Anda.
Di Google SecOps, buka Content Hub > Response Integrations.
Pilih integrasi BigQuery dan masukkan email akun layanan Anda di kolom
Workload Identity Email.Klik Save > Test. Pengujian diperkirakan akan gagal.
Klik tombol close_small di samping Test dan temukan email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini.
Mengizinkan identitas instance di Google Cloud
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target dan buka Permissions > Grant Access.
Tempelkan alamat email unik ke kolom New principals dan tetapkan peran Service Account Token Creator (
roles/iam.serviceAccountTokenCreator).
Mengonfigurasi kunci JSON
File kunci rahasia statis yang berumur panjang memerlukan rotasi manual. Gunakan metode ini hanya jika autentikasi Workload Identity tidak tersedia.
Di konsol Google Cloud , buka IAM & Admin > Service Accounts, lalu pilih akun layanan Anda.
Buka tab Keys dan klik Add key > Create new key.
Pilih JSON dan klik Create. File akan otomatis didownload ke komputer Anda.
Mengonfigurasi parameter individual manual
Jika Anda memilih untuk memasukkan kredensial secara manual, biarkan file kunci JSON yang didownload tetap terbuka di editor teks untuk menyalin setiap nilai yang diperlukan dalam setelan integrasi.
Parameter integrasi
Untuk membuat koneksi antara Google SecOps dan BigQuery, Anda harus mengonfigurasi parameter berikut. Integrasi ini mendukung tiga jalur autentikasi yang berbeda. Pilih salah satu metode berikut untuk memberikan kredensial.
Workload Identity: Menggunakan
Workload Identity EmaildanQuota Project ID.File JSON akun layanan: Menggunakan
Service Account Json File Contentuntuk menyediakan seluruh kunci sekaligus.Parameter individual manual: Menggunakan kolom terpisah yang disalin secara manual dari kunci JSON.
| Parameter | Deskripsi |
|---|---|
API Root |
Opsional. Root API instance BigQuery (misalnya,
|
Workload Identity Email |
Opsional. Alamat email klien akun layanan Anda. Gunakan ini untuk autentikasi Workload Identity. |
Service Account Json File Content |
Opsional. Konten lengkap file JSON kunci akun layanan. Jika Anda mengonfigurasi parameter ini, integrasi akan mengabaikan parameter kredensial individual. |
Quota Project ID |
Opsional. Project ID yang digunakan untuk penggunaan dan penagihan API. Parameter ini diperlukan saat menggunakan autentikasi Workload Identity. |
Project ID |
Opsional. ID project yang akan ditargetkan di BigQuery. |
Verify SSL |
Wajib. Memvalidasi sertifikat SSL untuk koneksi. Diaktifkan secara default. |
Parameter kredensial individual
Hanya gunakan parameter berikut jika Anda memasukkan kredensial secara manual, bukan menggunakan konten file JSON lengkap atau Workload Identity.
| Parameter | Deskripsi |
|---|---|
Account Type |
Opsional. Nilai yang ditemukan di kolom |
Private Key ID |
Opsional. Nilai yang ditemukan di kolom |
Private Key |
Opsional. Nilai yang ditemukan di kolom |
Client Email |
Opsional. Nilai yang ditemukan di kolom |
Client ID |
Opsional. Nilai yang ditemukan di kolom |
Auth URI |
Opsional. Nilai yang ditemukan di kolom Nilai defaultnya adalah
|
Token URI |
Opsional. Nilai yang ditemukan di kolom Nilai defaultnya adalah |
Auth Provider X509 URL |
Opsional. Nilai yang ditemukan di kolom |
Client X509 URL |
Opsional. Nilai yang ditemukan di kolom |
Untuk mendapatkan petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan pada tahap selanjutnya, jika diperlukan. Setelah mengonfigurasi instance integrasi, Anda dapat menggunakannya dalam playbook. Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi dan mendukung beberapa instance, lihat Mendukung beberapa instance.
Tindakan
Untuk mengetahui informasi selengkapnya tentang tindakan, lihat Merespons tindakan yang tertunda dari meja kerja Anda dan Menjalankan tindakan manual dalam kasus Anda.
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke BigQuery.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tidak ada.
Output tindakan
Tindakan Ping memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Pesan output
Tindakan Ping dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully connected to the Google BigQuery server with
the provided connection parameters! |
Tindakan berhasil. |
Failed to connect to the Google BigQuery server! Error is
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Ping:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Menjalankan Kueri Kustom
Gunakan tindakan Run Custom Query untuk menjalankan kueri kustom di BigQuery.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan Run Custom Query memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Query |
Wajib. Kueri SQL yang akan dijalankan. |
Max Results To Return |
Opsional. Jumlah hasil yang akan ditampilkan untuk setiap respons. Nilai defaultnya adalah |
Output tindakan
Tindakan Run Custom Query memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menunjukkan output hasil JSON yang diterima saat menggunakan tindakan Run Custom Query:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Air Lines Inc., Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
Pesan output
Tindakan Run Custom Query dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully executed query in Google BigQuery! |
Tindakan berhasil. |
Error executing action "Run Custom Query". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Run Custom Query:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Menjalankan Kueri SQL
Gunakan tindakan Run SQL Query untuk menjalankan kueri di BigQuery.
Tindakan ini tidak berjalan di entity Google SecOps.
Input tindakan
Tindakan Run SQL Query memerlukan parameter berikut:
| Parameter | Deskripsi |
|---|---|
Dataset Name |
Wajib. Nama set data yang akan digunakan saat menjalankan kueri. |
Query |
Wajib. Kueri SQL yang akan dijalankan. |
Max Results To Return |
Opsional. Jumlah hasil yang akan ditampilkan untuk setiap respons. Nilai defaultnya adalah |
Output tindakan
Tindakan Jalankan Kueri SQL memberikan output berikut:
| Jenis output tindakan | Ketersediaan |
|---|---|
| Lampiran repositori kasus | Tidak tersedia |
| Link repositori kasus | Tidak tersedia |
| Tabel repositori kasus | Tidak tersedia |
| Tabel pengayaan | Tidak tersedia |
| Hasil JSON | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menjelaskan output hasil JSON yang diterima saat menggunakan tindakan Run SQL Query:
{
"Airport_Code": "CODE",
"Airport_Name": "NAME",
"Time_Label": "2015/05",
"Time_Month": 5,
"Time_Month_Name": "May",
"Time_Year": 2015,
"Statistics___of_Delays_Carrier": 351,
"Statistics___of_Delays_Late_Aircraft": 546,
"Statistics___of_Delays_National_Aviation_System": 292,
"Statistics___of_Delays_Security": 2,
"Statistics___of_Delays_Weather": 100,
"Statistics_Carriers_Names": "Example Airlines Inc.,Example Airlines Co.",
"Statistics_Carriers_Total": 3,
"Statistics_Flights_Cancelled": 88,
"Statistics_Flights_Delayed": 1289,
"Statistics_Flights_Diverted": 32,
"Statistics_Flights_On_Time": 6182,
"Statistics_Flights_Total": 7591,
"Statistics_Minutes_Delayed_Carrier": 19332,
"Statistics_Minutes_Delayed_Late_Aircraft": 34376,
"Statistics_Minutes_Delayed_National_Aviation_System": 12346,
"Statistics_Minutes_Delayed_Security": 48,
"Statistics_Minutes_Delayed_Total": 76163,
"Statistics_Minutes_Delayed_Weather": 100061
}
Pesan output
Tindakan Run SQL Query dapat menampilkan pesan output berikut:
| Pesan output | Deskripsi pesan |
|---|---|
Successfully executed query in the BigQuery dataset
DATASET_NAME. |
Tindakan berhasil. |
Error executing action "Run SQL Query". Reason:
ERROR_REASON |
Tindakan gagal. Periksa koneksi ke server, parameter input, atau kredensial. |
Hasil skrip
Tabel berikut mencantumkan nilai untuk output hasil skrip saat menggunakan tindakan Jalankan Kueri SQL:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.