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 kapabilitas pembuatan kueri BigQuery untuk menganalisis data keamanan dalam volume besar yang digabungkan dari berbagai sumber untuk meningkatkan perburuan ancaman.
Analisis ML/AI tingkat lanjut: Buat 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 berjangka pendek menggunakan peniruan identitas akun layanan.
Opsi 2: Kunci JSON akun layanan: Metode ini mengandalkan file kunci rahasia statis yang berlaku lama.
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 diperbarui secara otomatis jika persyaratan API berubah. Untuk menetapkan peran ini ke akun layanan Anda, selesaikan langkah-langkah berikut:
Di konsol Google Cloud , buka IAM.
Cari akun layanan Anda dalam daftar principal, lalu klik Edit principal (edit).
Klik Tambahkan peran lain, lalu pilih opsi berikut:
Pengguna BigQuery (
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): Parameter ini wajib diisi jika Anda mengonfigurasiQuota Project IDdi setelan integrasi.
Klik Simpan.
Membuat akun layanan
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Klik addBuat akun layanan.
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 Anda 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 Simpan > Uji. Pengujian diperkirakan akan gagal.
Klik tombol close_small di samping Uji dan temukan email identitas yang diawali dengan
gke-init-python@...atausoar-python@....Salin alamat email unik ini.
Memberikan otorisasi identitas instance di Google Cloud
Di konsol Google Cloud , buka IAM & Admin > Service Accounts.
Pilih akun layanan target, lalu buka Izin > Beri Akses.
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 dapat digunakan untuk jangka waktu lama 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, lalu klik Add key > Create new key.
Pilih JSON, lalu 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 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 memberikan 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
Gunakan hanya 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 mengetahui petunjuk tentang cara mengonfigurasi integrasi di Google SecOps, lihat Mengonfigurasi integrasi.
Anda dapat melakukan perubahan di 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 tertunda dari Ruang Kerja Anda dan Melakukan tindakan manual.
Ping
Gunakan tindakan Ping untuk menguji konektivitas ke BigQuery.
Tindakan ini tidak dijalankan pada 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 Jalankan Kueri Kustom untuk menjalankan kueri kustom di BigQuery.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Jalankan Kueri Kustom 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 Jalankan Kueri Kustom 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 Jalankan Kueri Kustom:
| Nama hasil skrip | Nilai |
|---|---|
is_success |
True atau False |
Menjalankan Kueri SQL
Gunakan tindakan Jalankan Kueri SQL untuk menjalankan kueri di BigQuery.
Tindakan ini tidak dijalankan pada entity Google SecOps.
Input tindakan
Tindakan Jalankan Kueri SQL 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 Run SQL 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 | Tidak tersedia |
| Pesan output | Tersedia |
| Hasil skrip | Tersedia |
Hasil JSON
Contoh berikut menjelaskan output hasil JSON yang diterima saat menggunakan tindakan Jalankan Kueri SQL:
{
"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 Jalankan Kueri SQL 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.