Mengelola pengecualian aturan

Didukung di:

Dokumen ini menjelaskan cara mengelola pengecualian aturan secara terprogram di Google Security Operations menggunakan API. Pengecualian berfungsi sebagai filter yang Anda tentukan berdasarkan kolom Model Data Terpadu (UDM) untuk mencegah deteksi tertentu menghasilkan pemberitahuan. Dengan mengidentifikasi aktivitas yang diketahui atau aman, filter ini menghentikan gangguan yang tidak perlu di dasbor Anda.

Membuat pengecualian dengan filter hasil

Anda dapat membuat aturan pengecualian baru secara terprogram untuk menekan temuan deteksi tertentu yang cocok dengan kriteria yang Anda tentukan, sehingga mengurangi gangguan dan memprioritaskan pemberitahuan dengan fidelitas tinggi.

Gunakan endpoint POST untuk menentukan logika penekanan. Semua filter dengan array outcomeFilters ditautkan oleh klausa AND implisit.

Metode: POST

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

Contoh:

POST https://us-chronicle.googleapis.com/v1/projects/my-project/locations/us/instances/my-instance/findingsRefinements

Isi permintaan:

  {
  "displayName": "Exclusion with outcome filters",
  "type": "DETECTION_EXCLUSION",
  "query": "principal.hostname = \"altostrat.com\"",
  "outcomeFilters": [
    {
      "outcome_variable": "ip",
      "outcome_value": "127.0.01",
      "outcome_filter_operator": "EQUAL"
    },
    {
      "outcome_variable": "hostnames",
      "outcome_value": "altostrat.com",
      "outcome_filter_operator": "CONTAINS"
    }
  ]
}

Contoh ini menunjukkan cara menentukan logika penekanan saat beberapa filter dalam array outcomeFilters ditautkan oleh klausa AND implisit.

Kolom wajib: displayName, type, query

Kolom yang dibuat sistem: Jangan tentukan name, createTime, atau updateTime. Kolom ini dikelola oleh sistem dan akan diabaikan atau menyebabkan error jika disertakan dalam permintaan.

Logika penekanan mengikuti hubungan AND. Permintaan ini membuat pengecualian yang menekan deteksi apa pun yang memiliki peristiwa dengan hal berikut:

  • "altostrat.com" sebagai nama host utama

  • Variabel hasil ip dengan nilai 127.0.0.1

  • Variabel hasil hostnames dengan setidaknya salah satu nilai agregatnya adalah altostrat.com.

Semua filter yang ditentukan dalam pengecualian ditautkan secara implisit oleh klausa AND.

Respons API: API menampilkan nama resource FindingsRefinement.

Resource FindingsRefinement berisi logika penekanan inti (filter kueri dan hasil). Nama resource (ID) digunakan untuk operasi berikutnya pada pengecualian

Mengakses pengecualian

Gunakan endpoint GET untuk melakukan hal berikut:

  • Mendapatkan detail satu definisi pengecualian berdasarkan ID uniknya.

  • Jika Anda memiliki refinement-id tertentu dan perlu memverifikasi kueri atau filter hasil yang tepat yang ada di dalamnya.

Metode: GET

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

Contoh:

GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777

Menerapkan pengecualian ke aturan atau kumpulan aturan

Anda harus menerapkan pengecualian ke aturan tertentu atau kumpulan aturan yang dikurasi. Saat Anda menerapkan pengecualian ke aturan atau kumpulan aturan, pengecualian tersebut akan membuat resource FindingsRefinementDeployment. Anda dapat menggunakan resource ini untuk menentukan aturan kustom, aturan yang dikurasi, atau kumpulan aturan yang dikurasi yang berlaku untuk resource FindingsRefinement. Kemudian, Anda dapat menentukan parameter update_mask dalam permintaan API untuk menunjukkan kolom mana di FindingsRefinementDeployment yang akan diperbarui.

Metode: PATCH

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements/REFINEMENT_ID

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

REFINEMENT_ID: ID unik Findings Refinement.

Contoh:

 PATCH https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777?update_mask=enabled,detectionExclusionApplication

Isi permintaan:


  {
  "name": "projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777"
  "enabled": true,
  "detectionExclusionApplication": {
    "curatedRuleSets": [
      ...list curated rule set resource names
    ],
    "curatedRules": [
      ...list curated rule resource names
    ],
    "rules": [
      ...list rule resource names
    ],
  }
}

Saat Anda menerapkan pengecualian ke aturan atau kumpulan aturan, sistem akan membuat resource FindingsRefinementDeployment. Resource ini menentukan aturan kustom, aturan yang dikurasi, dan kumpulan aturan yang dikurasi mana yang berlaku untuk resource FindingsRefinement. Anda juga dapat menyertakan parameter update_mask dalam permintaan API untuk menentukan kolom mana di FindingsRefinementDeployment yang akan diperbarui.

Mengakses deployment untuk pengecualian

Setelah Anda membuat atau memperbarui pengecualian, gunakan endpoint ini untuk memverifikasi aturan atau kumpulan aturan mana yang diterapkan untuk pengecualian tertentu.

Metode: GET

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements/REFINEMENT_ID

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

REFINEMENT_ID: ID unik Findings Refinement.

Contoh:

   GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements/fr_00001111-2222-3333-4444-555566667777/deployment

Mencantumkan semua pengecualian

Gunakan endpoint ini untuk mengambil daftar resource findingsRefinements.

Metode: GET

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

Contoh:

GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210/findingsRefinements

Parameter kueri opsional: pageSize, pageToken

Anda dapat menggunakan parameter opsional untuk mencantumkan lebih banyak hasil yang mirip dengan endpoint daftar lainnya dalam API.

Mencantumkan semua deployment pengecualian

Gunakan endpoint ini untuk mendapatkan daftar resource FindingsRefinement yang dibuat dalam instance Anda.

Metode: GET

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID/findingsRefinements

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

Contoh:

  GET https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210:listAllFindingsRefinementDeployments

Parameter kueri opsional:

  • Gunakan parameter pageSize dan pageToken untuk mencantumkan lebih banyak hasil yang mirip dengan endpoint daftar lainnya dalam API.

  • Gunakan parameter filter untuk memfilter aturan atau kumpulan aturan yang menerapkan pengecualian.

Menguji pengecualian menggunakan API

Endpoint ini menguji pengecualian terhadap deteksi dari aturan dan kumpulan aturan yang ditentukan, lalu memvalidasi efektivitas pengecualian dalam menekan deteksi yang tidak diinginkan. UI menggunakan deteksi 30 hari terakhir untuk pengujian.

Metode: POST

Endpoint:

https://REGION-chronicle.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/instances/INSTANCE_ID:testFindingsRefinement

Ganti kode berikut:

REGION: The Google Cloud region untuk instance Google SecOps.

PROJECT_ID: Project ID Anda Google Cloud .

LOCATION: Lokasi instance Google SecOps (sering kali sama dengan region).

INSTANCE_ID: ID instance Google SecOps.

Contoh:

POST https://us-chronicle.googleapis.com/v1/projects/0123456789/locations/us/instances/01234567-89ab-cdef-fedc-ba9876543210:testFindingsRefinement

Isi permintaan:

 {
  "type": "DETECTION_EXCLUSION",
  "query": "principal.hostname = \"altostrat.com\"",
  "outcomeFilters": [
    {
      "outcome_variable": "ip",
      "outcome_value": "127.0.01",
      "outcome_filter_operator": "EQUAL",
    },
    {
      "outcome_variable": "hostnames",
      "outcome_value": "altostrat.com",
      "outcome_filter_operator": "CONTAINS",
    },
  ]
  "interval": {
    "start_time": {
      "seconds": 1756684800, // Sep. 1 2025 00:00 UTC
    },
    "end_time": {
      "seconds": 1759276800, // Oct. 1 2025 00:00 UTC
    },
  },
  "detectionExclusionApplication": {
    "curatedRuleSets": [
      ...curated rule set resource names
    ],
    "curatedRules": [
      ...curated rule resource names
    ],
    "rules": [
      ...rule resource names
    ],
  }
}

Endpoint ini menguji pengecualian terhadap deteksi yang telah dibuat dalam aturan dan kumpulan aturan yang ditentukan dalam permintaan. Hal ini membantu menentukan seberapa efektif pengecualian dalam menekan deteksi yang seharusnya tidak dibuat. Sistem menggunakan deteksi 30 hari terakhir sebagai rentang waktu untuk menguji pengecualian.

Batasan

  • Semua pengecualian (dengan atau tanpa filter hasil) harus menentukan kolom query. Untuk membuat pengecualian dengan hanya outcomeFilters, tentukan ekspresi reguler match-all.

    
      ...other fields in FindingsRefinement
    
      query: "principal.hostname = /.*/"
    
      outcomeFilters: [ your outcome filters ]
    
    

    Ekspresi reguler cocok dengan nama host apa pun. Oleh karena itu, kueri ini cocok dengan semua deteksi. Akibatnya, pemfilteran efektif hanya ditentukan oleh filter hasil.

  • Pengecualian tidak mendukung konfigurasi time to live (TTL). Namun, Anda dapat membuat TTL satu kali dengan menghitung waktu habis masa berlaku tertentu dan menambahkan kondisi stempel waktu dalam definisi pengecualian. Misalnya, untuk menetapkan pengecualian agar berakhir pada akhir tahun, tentukan kueri sebagai berikut:

    
      ...other fields in FindingsRefinement
    
      query: "metadata.event_timestamp.seconds < 1767225600" // Jan 1 2026 00:00 UTC
    
      outcomeFilters: [your outcome filters]
    
    

    Contoh ini mengonfirmasi bahwa hanya deteksi yang dibuat oleh peristiwa dengan stempel waktu sebelum akhir tahun yang akan ditekan.

    Catatan: Hal ini mungkin tidak ditampilkan dengan benar di jendela Edit Pengecualian antarmuka pengguna karena hanya mendukung kolom string.

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.