Mengonfigurasi kolom kalkulasi
Panduan ini ditujukan untuk analis keamanan dan pengelola SOC yang ingin mengotomatiskan pengayaan data dalam operasi keamanan mereka. Artikel 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 dievaluasi dan disimpan secara otomatis dalam kolom kustom yang sudah ada dan dipilih pengguna (berlabel Kolom Target) secara real time.
Kasus penggunaan umum
Skenario berikut menunjukkan cara paling umum yang digunakan organisasi untuk memanfaatkan kolom kalkulasi guna meningkatkan efisiensi operasional dan kejelasan data.
Penilaian risiko otomatis
- Tujuan: Mengategorikan kasus berdasarkan volume peristiwa atau tingkat prioritas.
- Nilai: Menstandardisasi triase dan memastikan insiden berisiko tinggi segera terlihat oleh tim.
Normalisasi data
- Tujuan: Menandai pemberitahuan sebagai Pengujian atau Produksi berdasarkan konvensi penamaan.
- Nilai: Mengurangi derau dengan memungkinkan analis memfilter data pengujian yang tidak penting dari tampilan utama mereka.
Terminologi utama
- Formula: Ekspresi logis berbasis teks yang Anda tentukan, menggunakan fungsi, operator, dan referensi kolom, untuk menghitung nilai.
- Kolom Target: Kolom Kustom yang ada (jenis Teks Bebas) tempat penghitungan hasil formula disimpan.
- Dependensi: Kolom yang dirujuk dalam formula Anda. Saat nilai kolom dependensi berubah, Kolom Terhitung 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 Data Kasus.
- Pemeriksaan lingkungan: Pastikan Anda memiliki Kolom Kustom yang ada dan aktif (jenis Teks Bebas) untuk bertindak sebagai kolom target.
Pastikan Anda memiliki kolom kustom yang ada untuk digunakan sebagai kolom target dalam sistem Anda. Jika tidak, lakukan langkah-langkah berikut:
- Buka Setelan > Data Kasus > Kolom Kustom.
- Buat Kolom Kustom baru dan tetapkan jenisnya ke Teks Bebas.
Untuk mengetahui informasi selengkapnya tentang kolom kustom, lihat Membuat kolom kustom.
Batasan teknis dan aturan validasi
Sebelum Anda menentukan penghitungan, pastikan kolom dan logika target Anda mengikuti batasan sistem berikut. Aturan ini mengatur cara mesin Google SecOps memvalidasi dan mempertahankan hasil formula.
Kriteria validasi kolom
Mesin penghitung secara ketat menerapkan persyaratan berikut 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 melingkar, kolom tidak dapat menjadi target jika sudah menjadi dependensi untuk kolom kalkulasi lain.
Pencakupan kolom
Saat Anda membuat Kolom Kustom dengan cakupan Both, sistem akan membuat entri unik untuk setiap konteks. Dengan begitu, 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: Berlabel
CaseCustom.YourField(misalnya,CaseCustom.RiskLevel) - Cakupan pemberitahuan: Diberi label
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 langkah berikut:
- Buka Setelan > Data Kasus > Kolom Terhitung.
- Klik tambahkan Tambahkan.
- Di kolom Nama Kolom Terhitung, 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 koreksi: Verifikasi bahwa Kolom Kustom aktif, disetel ke Teks Bebas, dan belum menjadi dependensi untuk perhitungan 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 hilang di sekitar kondisi
IFatau kata kunci huruf kecil.
Mengakses aset dan referensi lanjutan
Formula harus mengikuti aturan tata bahasa dan kepekaan huruf besar/kecil yang ketat untuk semua operator dan fungsi bawaan. Gunakan spesifikasi teknis berikut untuk memastikan perhitungan 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.
- Kolom Target:
CaseCustom.risk_level(Teks) - Tujuan: Menetapkan status "Tinggi" secara otomatis ke insiden mendesak
Formula:
IF (CONTAINS([case.name], "urgent")) THEN "High" ELSE "Medium"
Contoh 2: Memberi tanda pada pemberitahuan pengujian
Logika ini mengidentifikasi dan memberi label pada data pengujian untuk membantu analis memfilter tampilan utama dan tetap fokus pada insiden produksi.
- Kolom Target:
AlertCustom.is_test(Teks) - Sasaran: Mendeteksi sufiks
-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 ulasan berdasarkan volume peristiwa dan tingkat prioritas yang ada.
- Kolom Target:
CaseCustom.review_status(Teks) - 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 penghitung 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 dan literal data
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. | "kritis", "T/A" |
| NUMBER | Bilangan bulat atau desimal. | 100, 3,14 |
| BOOLEAN | Harus huruf besar. | BENAR, SALAH |
| NULL | Mewakili nilai kosong. | NULL |
Referensi kolom
Untuk menggunakan nilai kolom lain, sertakan 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.) yang 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 lain.
Operator
Gunakan operator untuk perbandingan dan operasi logis. Gunakan tanda kurung () untuk mengganti prioritas default dan mengelompokkan ekspresi
- Operator perbandingan:
==,!=,>,>=,<,<= - Operator logika:
AND,OR,NOT - Prioritas operator:
NOT,>,>=,<,<=,AND,OR,
Ekspresi bersyarat
Sistem mendukung logika bersyarat menggunakan sintaksis IF (condition) THEN expression1 ELSE expression2. Bagian ELSE bersifat opsional; jika Anda menghapusnya dan kondisinya adalah FALSE, hasilnya akan ditetapkan secara default ke NULL.
Kondisinya 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 penghitung mencadangkan kata-kata tertentu untuk operasi dan fungsi logis. Anda tidak dapat menggunakan istilah ini sebagai nama kolom kustom atau ID lain 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, verifikasi bahwa semua operasi dan argumen fungsi menggunakan jenis yang kompatibel. Jenis yang didukung mencakup STRING, NUMBER, BOOLEAN, dan NULL.
Output akhir formula harus sesuai dengan jenis yang diharapkan Kolom Target. Karena Kolom Target dibatasi untuk "Teks Bebas", formula Anda pada akhirnya harus diubah menjadi string atau nilai yang dapat dikonversi secara implisit ke format target.
Pemformatan dan spasi kosong
Meskipun spasi, tab, dan baris baru umumnya diabaikan di antara token, spasi, tab, dan baris baru sangat diperlukan untuk memisahkan kata kunci dari ID. Gunakan spasi secara strategis untuk menyusun formula multiline yang kompleks agar lebih mudah dikelola dan ditinjau oleh rekan kerja.
Menulis formula yang efektif
Meskipun mesin penghitung fleksibel dengan spasi, ikuti standar pemformatan ini untuk membantu mencegah error logika dan menyederhanakan pemecahan masalah.
- Pengelompokan eksplisit: Gunakan tanda kurung untuk menentukan urutan operasi dengan jelas, meskipun mengandalkan presedensi 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 dapat dipindai. Validasi jenis: Selalu verifikasi bahwa output akhir formula Anda cocok dengan jenis yang diharapkan di 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 layanan mandiri untuk masalah deployment umum yang terjadi saat membuat atau mengelola formula.
Latensi dan batas
Kolom Kalkulasi dievaluasi secara serentak setiap kali kolom dependensi berubah. Untuk menjaga performa sistem, Kolom Kalkulasi tidak dapat merujuk ke Kolom Kalkulasi lain; sistem memblokir dependensi berantai ini untuk mencegah rekursi dan penundaan pemrosesan.
Perbaikan error
Saat Anda menulis formula secara manual, error dapat terjadi karena sintaksis atau ketidakcocokan 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. | Sertakan 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 digunakan oleh 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 dalam 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.