Mengonfigurasi kolom kalkulasi
Panduan ini ditujukan untuk analis keamanan dan pengelola SOC yang ingin mengotomatiskan pengayaan data dalam operasi keamanan mereka. Video ini menjelaskan cara membuat dan mengelola Kolom Kalkulasi menggunakan formula logis untuk mendapatkan nilai baru dari data kasus dan pemberitahuan yang ada. Dengan mengikuti metode ini, Anda dapat menghilangkan entri data manual dan memastikan metrik penting diperbarui secara real time. Penyelesaian yang berhasil akan meningkatkan kemampuan analisis platform dan mempercepat triase insiden melalui pengisian kolom otomatis.
Dengan Kolom Kalkulasi, Anda dapat memperoleh titik data baru secara dinamis dalam kasus dan pemberitahuan Google Security Operations. Dengan menentukan formula logis, Anda dapat menghitung nilai berdasarkan kolom sistem atau kolom kustom yang ada. Nilai yang dihitung akan otomatis dievaluasi dan disimpan di kolom kustom yang sudah ada dan dipilih pengguna (berlabel Target Field) secara real time.
Kasus penggunaan umum
Skenario berikut menunjukkan cara paling umum yang digunakan organisasi dalam memanfaatkan kolom kalkulasi untuk meningkatkan efisiensi operasional dan kejelasan data.
Penilaian risiko otomatis
- Tujuan: Mengategorikan kasus berdasarkan volume peristiwa atau tingkat prioritas.
- Nilai: Menstandarkan triase dan memastikan insiden berisiko tinggi segera terlihat oleh tim.
Normalisasi data
- Tujuan: Menandai pemberitahuan sebagai Test atau Production berdasarkan konvensi penamaan.
- Nilai: Mengurangi derau dengan memungkinkan analis memfilter data pengujian yang tidak penting dari tampilan utama mereka.
Terminologi utama
- Formula: Ekspresi logika berbasis teks yang Anda tentukan, menggunakan fungsi, operator, dan referensi kolom, untuk menghitung nilai.
- Target Field: Custom Field yang ada (jenis Free Text) tempat hasil penghitungan formula disimpan.
- Dependensi: Kolom yang direferensikan dalam formula Anda. Saat nilai kolom dependensi berubah, Kolom yang Dihitung akan dievaluasi ulang secara sinkron.
Sebelum memulai
Sebelum membuat penghitungan, pastikan lingkungan Anda memenuhi persyaratan teknis berikut:
- Izin: Anda harus memiliki akses administratif ke menu Setelan dan izin untuk mengelola Tag.
- Pemeriksaan lingkungan: Pastikan Anda memiliki Kolom Kustom (jenis Teks Bebas) yang sudah ada dan aktif untuk bertindak sebagai kolom target.
Pastikan Anda memiliki kolom kustom yang ada untuk digunakan sebagai kolom target di sistem Anda. Jika tidak, lakukan langkah-langkah berikut:
- Buka Setelan > Investigasi > Kolom Kustom.
- Buat Kolom Kustom baru dan tetapkan jenisnya ke Free Text.
Untuk mengetahui informasi selengkapnya tentang kolom kustom, lihat Membuat kolom kustom.
Batasan teknis dan aturan validasi
Sebelum menentukan penghitungan, pastikan kolom target dan logika Anda mengikuti batasan sistem ini. Aturan ini mengatur cara mesin Google SecOps memvalidasi dan mempertahankan hasil formula.
Kriteria validasi kolom
Mesin penghitungan menerapkan persyaratan berikut secara ketat untuk setiap kolom yang ditetapkan sebagai Kolom Target:
- Jenis data: Kolom harus berjenis Teks Bebas.
- Status operasional: Kolom harus Aktif; sistem tidak dapat menulis ke kolom yang dihapus atau tidak valid.
- Pemetaan dependensi: Untuk mencegah logika sirkular, kolom tidak dapat menjadi target jika sudah menjadi dependensi untuk kolom kalkulasi lain.
Cakupan kolom
Saat Anda membuat Kolom Kustom dengan cakupan Both, sistem akan membuat entri unik untuk setiap konteks. Dengan demikian, Anda dapat mempertahankan logika terpisah untuk kasus dan pemberitahuan dalam kategori logis yang sama.
Di menu Kolom Target, Anda harus memilih cakupan spesifik yang relevan dengan formula Anda:
- Cakupan kasus: Diberi label sebagai
CaseCustom.YourField(misalnya,CaseCustom.RiskLevel) - Cakupan pemberitahuan: Diberi label sebagai
AlertCustom.YourField(misalnya,AlertCustom.RiskLevel)
Membuat dan mengelola Kolom Kalkulasi
Bagian ini menguraikan cara menentukan penghitungan baru dan mengatasi masalah umum selama proses penyiapan.
Membuat penghitungan baru
Untuk membuat penghitungan baru, lakukan tindakan berikut:
- Buka Setelan > Investigasi > Kolom yang Dihitung.
- Klik add Add.
- Di kolom Nama Kolom yang Dihitung, masukkan nama dan deskripsi unik untuk penghitungan Anda.
Di area Target Field, pilih Custom Field yang ada untuk menyimpan hasilnya.
- Kegagalan yang diantisipasi: Kolom yang dipilih tidak muncul di menu.
- Langkah perbaikan: Pastikan Kolom Kustom aktif, ditetapkan ke Teks Bebas, dan belum menjadi dependensi untuk penghitungan lain.
Di editor teks, buat formula Anda menggunakan fungsi, operator, dan sintaksis yang didukung. Buat ekspresi logis (misalnya,
IF ([case.priority] == "High") THEN "Urgent" ELSE "Standard"). Untuk mengetahui detail selengkapnya, lihat Bahasa dan sintaksis formula.Klik Simpan.
- Kegagalan yang diantisipasi: Sistem menolak penyimpanan dan menampilkan sorotan error berwarna merah.
- Langkah perbaikan: Periksa error sintaksis, seperti tanda kurung yang tidak ada di sekitar kondisi
IFatau kata kunci huruf kecil.
Mengakses aset dan referensi lanjutan
Formula harus mengikuti aturan tata bahasa dan peka huruf besar/kecil yang ketat untuk semua operator dan fungsi bawaan. Gunakan spesifikasi teknis berikut untuk memastikan penghitungan Anda valid.
Contoh formula
Template berikut menunjukkan cara menggabungkan fungsi dan operator untuk mengotomatiskan pengayaan data. Anda dapat menyalin dan menyesuaikan cuplikan ini agar sesuai dengan nama kolom dan persyaratan organisasi Anda.
Contoh 1: Menetapkan tingkat risiko
Gunakan formula ini untuk mengategorikan kasus berdasarkan kata kunci tertentu yang ditemukan dalam judul kasus.
- Target Field:
CaseCustom.risk_level(Text) - Sasaran: Menetapkan status "Tinggi" secara otomatis ke insiden mendesak
Formula:
IF (CONTAINS([case.name], "urgent")) THEN "High" ELSE "Medium"
Contoh 2: Menandai pemberitahuan pengujian
Logika ini mengidentifikasi dan memberi label pada data pengujian untuk membantu analis memfilter tampilan utama mereka dan tetap fokus pada insiden produksi.
- Target Field:
AlertCustom.is_test(Text) - Sasaran: Mendeteksi akhiran
-TESTatau stringTESTdalam nama pemberitahuan Formula:
IF (CONTAINS([alert.name], "TEST") OR ENDS_WITH([alert.name], "-TEST")) THEN "TRUE" ELSE "FALSE"
Contoh 3: Menggabungkan kondisi
Contoh ini menunjukkan logika bertingkat untuk memprioritaskan peninjauan berdasarkan volume peristiwa dan tingkat prioritas yang ada.
- Target Field:
CaseCustom.review_status(Text) - Sasaran: Memicu peninjauan manual hanya jika panjang log signifikan dan prioritasnya bukan
Low. Formula:
IF (LENGTH(\[AlertCustom.event\_details\]) \> 100 AND NOT IS(\[case.priority\], "Low")) THEN "Needs Review" ELSE "Auto-Closed"
Bahasa dan sintaksis formula
Mesin penghitungan peka huruf besar/kecil untuk semua operator, kata kunci, dan fungsi bawaan. Anda harus menulis kata kunci (misalnya, IF, THEN, ELSE, AND, OR, NOT) dan nama fungsi (misalnya, CONTAINS, LENGTH, STARTS_WITH, ENDS_WITH, IS, IS_NOT, DOES_NOT_CONTAIN) dalam huruf besar. Namun, pengujian string teks dalam fungsi dan operator kesetaraan tidak peka huruf besar/kecil. Misalnya, penelusuran "phishing" akan berhasil mencocokkan "PHISHING" atau "Phishing".
Jenis data dan literal
Literal adalah nilai tetap yang digunakan dalam ekspresi. Sebaiknya pastikan operasi dan argumen fungsi Anda menggunakan jenis yang kompatibel.
| Jenis | Sintaksis dan aturan | Contoh |
|---|---|---|
| STRING | Teks yang diapit tanda kutip ganda. | "critical", "N/A" |
| NUMBER | Bilangan bulat atau desimal. | 100, 3,14 |
| BOOLEAN | Harus menggunakan huruf besar. | TRUE, FALSE |
| NULL | Merepresentasikan nilai kosong. | NULL |
Referensi kolom
Untuk menggunakan nilai kolom lain, apit nama kolom dalam tanda kurung siku, seperti [object.field_name].
- Aturan sintaksis: Anda harus menggunakan awalan dengan referensi kolom. Anda harus menggunakan awalan (misalnya,
case.atauAlertCustom.) diikuti dengan titik dan nama kolom. Nama kolom itu sendiri dapat berisi huruf, angka, garis bawah, dan spasi. Misalnya:[case.name],[alert.priority],[AlertCustom.my_custom_field]. - Anda dapat menggunakan kolom sistem berikut:
case.name,case.stage,case.priority,alert.name,alert.priority,alert.rule_generator. - Anda dapat mereferensikan semua Kolom Kustom yang ditentukan pengguna.
- Formula Kolom Kalkulasi tidak dapat merujuk ke Kolom Kalkulasi lainnya.
Operator
Gunakan operator untuk perbandingan dan operasi logis. Menggunakan tanda kurung () untuk mengganti prioritas default dan ekspresi grup
- Operator perbandingan:
==,!=,>,>=,<,<= - Operator logika:
AND,OR,NOT - Prioritas operator:
NOT,>,>=,<,<=,AND,OR,
Ekspresi bersyarat
Sistem ini mendukung logika kondisional menggunakan sintaksis IF (condition) THEN expression1 ELSE expression2. Bagian ELSE bersifat opsional; jika Anda menghilangkannya dan kondisinya adalah FALSE, hasilnya akan ditetapkan secara default ke NULL.
Kondisi harus berupa ekspresi yang bernilai TRUE atau FALSE.
Misalnya, IF ( [CaseCustom.score] > 75 ) THEN "High Risk" ELSE "Low Risk".
Fungsi
Fungsi adalah operasi yang telah ditentukan dan harus menggunakan huruf besar sepenuhnya. Tabel berikut mencantumkan fungsi yang didukung untuk manipulasi dan evaluasi data.
| Fungsi | Deskripsi | Sintaksis | Jenis Nilai yang Ditampilkan |
|---|---|---|---|
CONTAINS(field, substring) |
Memeriksa apakah kolom teks berisi substring (tidak peka huruf besar/kecil) | CONTAINS([case.name], "phishing") |
BOOLEAN |
DOES_NOT_CONTAIN(field, substring) |
Memeriksa apakah kolom teks tidak berisi substring (tidak peka huruf besar/kecil) | DOES_NOT_CONTAIN([case.name], "test") |
BOOLEAN |
LENGTH(field) |
Menampilkan jumlah karakter dalam kolom | LENGTH([case.name]) |
NUMBER |
STARTS_WITH(field, prefix) |
Memeriksa apakah kolom diawali dengan awalan (tidak peka huruf besar/kecil) | STARTS_WITH([CaseCustom.hostname], "srv-") |
BOOLEAN |
ENDS_WITH(field, suffix) |
Memeriksa apakah kolom diakhiri dengan akhiran (tidak peka huruf besar/kecil) | ENDS_WITH([AlertCustom.filename], ".exe") |
BOOLEAN |
IS(field, literal) |
Memeriksa apakah nilai kolom sama dengan literal (tidak peka huruf besar/kecil) | IS([alert.priority], "High") |
BOOLEAN |
IS_NOT(field, literal) |
Memeriksa apakah nilai kolom TIDAK sama dengan literal (tidak peka huruf besar/kecil) | IS_NOT([alert.priority], "Low") |
BOOLEAN |
Kata kunci dan ID yang dicadangkan
Mesin penghitungan mencadangkan kata-kata tertentu untuk operasi dan fungsi logis. Anda tidak dapat menggunakan istilah ini sebagai nama kolom kustom atau ID lainnya dalam formula:
- Logis:
AND, OR, NOT, IF, THEN, ELSE - Nilai:
NULL, TRUE, FALSE - Fungsi:
CONTAINS, LENGTH, STARTS_WITH, ENDS_WITH, IS, IS_NOT, DOES_NOT_CONTAIN
Kompatibilitas jenis data
Untuk memastikan evaluasi berhasil, pastikan semua operasi dan argumen fungsi menggunakan jenis yang kompatibel. Jenis yang didukung mencakup STRING, NUMBER, BOOLEAN, dan NULL.
Output akhir formula harus cocok dengan jenis yang diharapkan Target Field. Karena Kolom Target dibatasi untuk "Teks Bebas", formula Anda pada akhirnya harus di-resolve menjadi string atau nilai yang dapat ditransmisikan secara implisit ke format target.
Pemformatan dan spasi kosong
Meskipun spasi, tab, dan baris baru umumnya diabaikan di antara token, elemen tersebut sangat diperlukan untuk memisahkan kata kunci dari ID. Gunakan spasi kosong secara strategis untuk menyusun formula kompleks multibaris agar lebih mudah dikelola dan ditinjau oleh rekan kerja.
Menulis formula yang efektif
Meskipun mesin penghitungan fleksibel dengan spasi kosong, ikuti standar pemformatan ini untuk membantu mencegah error logika dan menyederhanakan pemecahan masalah.
- Pengelompokan eksplisit: Gunakan tanda kurung untuk menentukan urutan operasi dengan jelas, bahkan saat mengandalkan prioritas standar. Hal ini membantu mencegah ambiguitas logis.
- Struktur visual: Terapkan spasi di sekitar operator (
==, AND, OR) dan sisipkan baris baru untuk pernyataanIF/THENbertingkat agar logika mudah dipindai. Validasi jenis: Selalu verifikasi bahwa output akhir formula Anda cocok dengan jenis yang diharapkan Kolom Target untuk mencegah error evaluasi.
IF ( (IS([CaseCustom.event_count], "100") AND NOT IS([case.priority], "Low")) OR CONTAINS([case.name], "Critical") ) THEN "Needs Immediate Review" ELSE "Standard Review"
Pemecahan masalah
Bagian ini menguraikan ekspektasi performa dan memberikan perbaikan mandiri untuk masalah deployment umum yang terjadi saat membuat atau mengelola formula.
Latensi dan batas
Kolom Kalkulasi dievaluasi secara sinkron setiap kali kolom dependensi berubah. Untuk mempertahankan performa sistem, Kolom Penghitungan tidak dapat merujuk ke Kolom Penghitungan lain; sistem memblokir dependensi berantai ini untuk mencegah rekursi dan penundaan pemrosesan.
Perbaikan error
Saat Anda menulis formula secara manual, error dapat terjadi karena ketidakcocokan sintaksis atau jenis data. Gunakan tabel berikut untuk memetakan kode error spesifik terkait perjalanan ke perbaikan yang tepat dan dapat ditindaklanjuti.
| Jenis error | Masalah | Perbaiki |
|---|---|---|
| Sintaksis | Formula melanggar aturan tata bahasa, seperti tanda kurung yang tidak cocok atau kata kunci huruf kecil. | Gabungkan semua kondisi IF dalam () dan pastikan semua kata kunci menggunakan HURUF BESAR. |
| Validasi | Formula merujuk ke kolom yang tidak diketahui (misalnya, [\case.typo]) atau menghasilkan ketidakcocokan jenis. | Verifikasi nama kolom dalam tanda kurung siku dan konfirmasi bahwa output cocok dengan jenis Kolom Target. |
| Evaluasi | Formula valid, tetapi gagal selama eksekusi, sering kali menampilkan #ERROR!. | Periksa masalah runtime, seperti meneruskan nilai non-string ke fungsi seperti LENGTH(). |
Mengubah atau menghapus kolom target
Sistem secara aktif melindungi kolom yang diandalkan formula Anda untuk menjaga integritas data. Jika Anda mencoba menghapus atau mengubah Kolom Kustom yang digunakan sebagai kolom target, sistem akan memblokir tindakan tersebut dan menampilkan peringatan yang menunjukkan penggunaan aktifnya di Kolom Kalkulasi.
Validasi dan pengujian
Setelah menyimpan penghitungan baru, verifikasi hasilnya dengan membuka kasus atau pemberitahuan dan memperbarui kolom dependensi. Pastikan Kolom Target diisi dengan nilai yang diharapkan secara real time.
Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.