Method: organizations.sources.findings.group

Memfilter temuan organisasi atau sumber dan mengelompokkan temuan tersebut berdasarkan properti yang ditentukan.

Untuk mengelompokkan di semua sumber, berikan - sebagai ID sumber. Contoh: /v1/organizations/{organization_id}/sources/-/findings, /v1/folders/{folder_id}/sources/-/findings, /v1/projects/{projectId}/sources/-/findings

Permintaan HTTP


URL ini menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
parent

string

Wajib. Nama sumber untuk groupBy. Formatnya adalah "organizations/[organization_id]/sources/[source_id]", folders/[folder_id]/sources/[source_id], atau projects/[projectId]/sources/[source_id]. Untuk groupBy di semua sumber, berikan source_id -. Misalnya: organizations/{organization_id}/sources/-, folders/{folder_id}/sources/-, atau projects/{projectId}/sources/-

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi JSON
{
  "filter": string,
  "groupBy": string,
  "readTime": string,
  "compareDuration": string,
  "pageToken": string,
  "pageSize": integer
}
Kolom
filter

string

Ekspresi yang menentukan filter yang akan diterapkan di seluruh temuan. Ekspresi ini adalah daftar satu atau beberapa batasan yang digabungkan melalui operator logis AND dan OR. Tanda kurung didukung, dan OR memiliki prioritas lebih tinggi daripada AND.

Batasan memiliki bentuk <field> <operator> <value> dan dapat memiliki karakter - di depannya untuk menunjukkan negasi. Beberapa contoh di antaranya:

  • nama
  • sourceProperties.a_property
  • securityMarks.marks.marka

Operator yang didukung adalah:

  • = untuk semua jenis nilai.
  • >, <, >=, <= untuk nilai bilangan bulat.
  • :, yang berarti pencocokan substring, untuk string.

Jenis nilai yang didukung adalah:

  • literal string dalam tanda kutip.
  • literal bilangan bulat tanpa tanda kutip.
  • literal boolean true dan false tanpa tanda petik.

Kombinasi kolom dan operator berikut didukung:

  • nama: =
  • induk: =, :
  • resourceName: =, :
  • status: =, :
  • kategori: =, :
  • externalUri: =, :
  • eventTime: =, >, <, >=, <=
  • severity: =, :

Penggunaan: Ini harus berupa milidetik sejak epoch atau string RFC3339. Contoh: eventTime = "2019-06-10T16:07:18-07:00" eventTime = 1560208038000

  • securityMarks.marks: =, :
  • sourceProperties: =, :, >, <, >=, <=

Misalnya, sourceProperties.size = 100 adalah string filter yang valid.

Gunakan pencocokan sebagian pada string kosong untuk memfilter berdasarkan properti yang ada: sourceProperties.my_property : ""

Gunakan pencocokan sebagian yang dinegasikan pada string kosong untuk memfilter berdasarkan properti yang tidak ada: -sourceProperties.my_property : ""

groupBy

string

Wajib. Ekspresi yang menentukan kolom aset yang akan digunakan untuk pengelompokan (termasuk stateChange). Nilai string harus mengikuti sintaksis SQL: daftar kolom yang dipisahkan koma. Misalnya: "parent,resourceName".

Kolom berikut didukung:

  • resourceName
  • kategori
  • state
  • parent
  • tingkat keseriusan,

Kolom berikut didukung saat compareDuration ditetapkan:

  • stateChange
readTime

string (Timestamp format)

Waktu yang digunakan sebagai titik referensi saat memfilter temuan. Filter ini terbatas pada temuan yang ada pada waktu yang diberikan dan nilainya adalah nilai pada waktu tertentu tersebut. Jika tidak ada, kolom ini akan ditetapkan secara default ke versi NOW API.

Menggunakan RFC 3339, dengan output yang dihasilkan akan selalu dinormalisasi Z dan menggunakan digit pecahan 0, 3, 6, atau 9. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

compareDuration

string (Duration format)

Saat compareDuration ditetapkan, atribut "stateChange" GroupResult akan diperbarui untuk menunjukkan apakah status temuan telah diubah, status temuan tetap tidak berubah, atau apakah temuan ditambahkan selama jangka waktu compareDuration yang mendahului readTime. Ini adalah waktu antara (readTime - compareDuration) dan readTime.

Nilai stateChange berasal berdasarkan keberadaan dan status temuan pada dua titik waktu. Perubahan status perantara antara kedua waktu tersebut tidak memengaruhi hasilnya. Misalnya, hasil tidak akan terpengaruh jika temuan dinonaktifkan, lalu diaktifkan kembali.

Nilai "stateChange" yang mungkin jika compareDuration ditentukan:

  • "CHANGED": menunjukkan bahwa temuan ada dan cocok dengan filter yang diberikan di awal compareDuration, tetapi mengubah statusnya pada readTime.
  • "UNCHANGED": menunjukkan bahwa temuan ada dan cocok dengan filter yang diberikan pada awal compareDuration dan tidak mengubah status pada readTime.
  • "ADDED": menunjukkan bahwa temuan tidak cocok dengan filter yang diberikan atau tidak ada di awal compareDuration, tetapi ada di readTime.
  • "REMOVED": menunjukkan bahwa temuan ada dan cocok dengan filter di awal compareDuration, tetapi tidak cocok dengan filter di readTime.

Jika compareDuration tidak ditentukan, satu-satunya kemungkinan stateChange adalah "UNUSED", yang akan menjadi stateChange yang ditetapkan untuk semua temuan yang ada pada readTime.

Jika kolom ini ditetapkan, stateChange harus berupa kolom yang ditentukan di groupBy.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

pageToken

string

Nilai yang ditampilkan oleh GroupFindingsResponse terakhir; menunjukkan bahwa ini adalah kelanjutan dari panggilan findings.group sebelumnya, dan bahwa sistem harus menampilkan halaman data berikutnya.

pageSize

integer

Jumlah maksimum hasil yang akan ditampilkan dalam satu respons. Default-nya 10, minimum 1, maksimum 1.000.

Isi respons

Jika berhasil, isi respons akan berisi instance GroupFindingsResponse.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

  • https://www.googleapis.com/auth/cloud-platform

Untuk mengetahui informasi selengkapnya, lihat Authentication Overview.