Mengonfigurasi kolom kalkulasi

Didukung di:

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:

  1. Buka Setelan > Data Kasus > Kolom Kustom.
  2. 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:

  1. Buka Setelan > Data Kasus > Kolom Terhitung.
  2. Klik tambahkan Tambahkan.
  3. Di kolom Nama Kolom Terhitung, masukkan nama dan deskripsi unik untuk penghitungan Anda.
  4. Di area Target Field, pilih Custom Field yang ada untuk menyimpan hasilnya.

    1. Kegagalan yang diantisipasi: Kolom yang dipilih tidak muncul di menu.
    2. Langkah koreksi: Verifikasi bahwa Kolom Kustom aktif, disetel ke Teks Bebas, dan belum menjadi dependensi untuk perhitungan lain.
  5. 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.

  6. Klik Simpan.

    1. Kegagalan yang diantisipasi: Sistem menolak penyimpanan dan menampilkan sorotan error berwarna merah.
    2. Langkah perbaikan: Periksa error sintaksis, seperti tanda kurung yang hilang di sekitar kondisi IF atau 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 -TEST atau string TEST dalam 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. atau AlertCustom.) 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 pernyataan IF/THEN bertingkat 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.