Mengelola pengecualian aturan menggunakan API

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 menyembunyikan temuan deteksi tertentu yang cocok dengan kriteria yang Anda tentukan, sehingga mengurangi derau dan memprioritaskan pemberitahuan dengan fidelitas tinggi.

Gunakan endpoint POST untuk menentukan logika peniadaan. 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: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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 peniadaan saat beberapa filter dalam array outcomeFilters ditautkan oleh klausa AND implisit.

Kolom wajib diisi: displayName, type, query

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

Logika peniadaan mengikuti hubungan AND. Permintaan ini akan 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 satu nilai gabungannya 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 (ID) resource digunakan untuk operasi berikutnya pada pengecualian

Mengakses pengecualian

Gunakan endpoint GET untuk melakukan hal berikut:

  • Dapatkan detail definisi pengecualian tunggal berdasarkan ID uniknya.

  • Saat 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: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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 set aturan

Anda harus menerapkan pengecualian pada aturan tertentu atau set aturan pilihan. Saat Anda menerapkan pengecualian ke aturan atau set aturan, resource FindingsRefinementDeployment akan dibuat. Anda dapat menggunakan resource ini untuk menentukan aturan kustom, aturan pilihan, atau set aturan pilihan yang berlaku untuk resource FindingsRefinement. Kemudian, Anda dapat menentukan parameter update_mask dalam permintaan API untuk menunjukkan kolom mana dalam 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: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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

INSTANCE_ID: ID instance Google SecOps.

REFINEMENT_ID: ID unik Penyempurnaan Temuan.

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 set aturan, sistem akan membuat resource FindingsRefinementDeployment. Resource ini menentukan aturan kustom, aturan pilihan, dan set aturan pilihan 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.

Akses deployment untuk pengecualian

Setelah membuat atau memperbarui pengecualian, gunakan endpoint ini untuk memverifikasi aturan atau set aturan yang menjadi tujuan penerapan pengecualian tertentu tersebut.

Metode: GET

Endpoint:

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

Ganti kode berikut:

REGION: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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

INSTANCE_ID: ID instance Google SecOps.

REFINEMENT_ID: ID unik Penyempurnaan Temuan.

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: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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 set aturan yang menerapkan pengecualian.

Menguji pengecualian menggunakan API

Endpoint ini menguji pengecualian terhadap deteksi dari aturan dan set aturan yang ditentukan, lalu memvalidasi efektivitas pengecualian dalam menekan deteksi yang tidak diinginkan. UI menggunakan deteksi selama 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: Google Cloud Region untuk instance Google SecOps.

PROJECT_ID: Project ID Google Cloud Anda.

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 atas deteksi yang telah dibuat dalam aturan dan set 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 hanya dengan 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. Oleh karena itu, pemfilteran yang efektif ditentukan hanya 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 menyetel 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 dihentikan.

    Catatan: 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.