Halaman ini menjelaskan cara melakukan streaming temuan baru dan yang diperbarui ke set data BigQuery menggunakan fungsi ekspor Security Command Center untuk BigQuery. Temuan yang ada tidak dikirim ke BigQuery kecuali jika diperbarui.
BigQuery adalah data warehouse analisis Google Cloud yang terkelola sepenuhnya, berskala petabyte, dan hemat biaya, yang memungkinkan Anda menjalankan analisis pada sejumlah besar data secara hampir real time. Anda dapat menggunakan BigQuery untuk menjalankan kueri terhadap temuan baru dan yang diperbarui, memfilter data untuk menemukan data yang Anda butuhkan, dan membuat laporan kustom. Untuk mempelajari BigQuery lebih lanjut, lihat dokumentasi BigQuery.
Ringkasan
Saat Anda mengaktifkan fitur ini, temuan baru yang ditulis ke Security Command Center akan diekspor ke tabel BigQuery secara hampir real time. Selanjutnya, Anda dapat mengintegrasikan data ke dalam alur kerja yang ada dan membuat analisis kustom. Anda dapat mengaktifkan fitur ini di tingkat organisasi, folder, dan project untuk mengekspor temuan berdasarkan persyaratan Anda.
Fitur ini adalah cara yang direkomendasikan untuk mengekspor temuan Security Command Center ke BigQuery, karena terkelola sepenuhnya dan tidak memerlukan pelaksanaan operasi manual atau penulisan kode kustom.
Struktur set data
Fitur ini menambahkan setiap temuan baru dan pembaruan berikutnya sebagai
baris baru dalam tabel findings
, yang dikelompokkan berdasarkan source_id
,
finding_id
,
dan event_time
.
Saat temuan diperbarui, fitur ini akan membuat beberapa data temuan dengan
nilai source_id
dan finding_id
yang sama, tetapi dengan nilai event_time
yang berbeda. Struktur set data ini memungkinkan Anda melihat perubahan status setiap temuan
dari waktu ke waktu.
Perhatikan bahwa entri duplikat mungkin ada dalam set data Anda. Untuk mengurainya, Anda
dapat menggunakan klausa DISTINCT
, seperti yang ditunjukkan dalam
contoh kueri pertama.
Setiap set data berisi tabel findings
, yang memiliki kolom berikut:
Kolom | Deskripsi |
---|---|
source_id |
ID unik yang ditetapkan Security Command Center ke sumber temuan. Misalnya, semua temuan dari sumber Cloud Anomaly Detection memiliki nilai source_id yang sama. Contoh: |
finding_id | ID unik yang mewakili temuan. ID ini unik dalam sumber untuk organisasi. Karakter ini bersifat alfanumerik dan memiliki kurang dari atau sama dengan 32 karakter. |
event_time |
Waktu terjadinya peristiwa atau waktu pembaruan pada
temuan terjadi. Misalnya, jika temuan mewakili firewall
terbuka, Contoh: |
temuan |
Kumpulan data penilaian seperti keamanan, risiko, kondisi, atau privasi, yang diserap ke Security Command Center untuk presentasi, notifikasi, analisis, pengujian kebijakan, dan penegakan. Misalnya, kerentanan pembuatan skrip lintas situs (XSS) di aplikasi App Engine adalah temuan.
Untuk informasi selengkapnya tentang kolom bertingkat, lihat referensi API untuk objek
|
resource |
Informasi terkait resource Google Cloud yang terkait dengan temuan ini.
Untuk informasi selengkapnya tentang kolom bertingkat, lihat referensi API
untuk objek
|
Biaya
Anda akan dikenai biaya BigQuery yang terkait dengan fitur ini. Untuk mengetahui informasi selengkapnya, lihat Harga BigQuery.
Sebelum memulai
Anda harus menyelesaikan langkah-langkah ini sebelum mengaktifkan fitur ini.
Siapkan izin
Untuk menyelesaikan panduan ini, Anda harus memiliki peran Identity and Access Management (IAM) berikut:
Di organisasi, folder, atau project tempat Anda ingin mengekspor temuan, salah satu dari hal berikut:
- Editor BigQuery Export Security Center
(
roles/securitycenter.bigQueryExportsEditor
). - Security Center Admin
(
roles/securitycenter.admin
).
Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.
- Editor BigQuery Export Security Center
(
Di set data BigQuery, BigQuery Data Owner (
roles/bigquery.dataOwner
).
Membuat set data BigQuery
Membuat set data BigQuery. Untuk informasi selengkapnya, lihat Membuat set data.
Merencanakan residensi data
Jika aset data diaktifkan untuk Security Command Center, konfigurasi yang menentukan ekspor streaming ke BigQuery—resource BigQueryExport
—tunduk pada kontrol aset data dan disimpan di lokasi Security Command Center yang Anda pilih.
Untuk mengekspor temuan di lokasi Security Command Center ke BigQuery, Anda harus mengonfigurasi ekspor BigQuery di lokasi Security Command Center yang sama dengan temuan.
Karena filter yang digunakan dalam ekspor BigQuery dapat berisi data yang tunduk pada kontrol tempat tinggal, pastikan Anda menentukan lokasi yang benar sebelum membuatnya. Security Command Center tidak membatasi lokasi tempat Anda membuat ekspor.
BigQuery Export hanya disimpan di lokasi tempat data tersebut dibuat dan tidak dapat dilihat atau diedit di lokasi lain.
Setelah membuat BigQuery Export, Anda tidak dapat mengubah lokasinya. Untuk mengubah lokasi, Anda harus menghapus ekspor BigQuery dan membuatnya ulang di lokasi baru.
Untuk mengambil ekspor BigQuery menggunakan panggilan API, Anda perlu menentukan lokasi dalam nama resource lengkap bigQueryExport
.
Contoh:
GET https://securitycenter.googleapis.com/v2/organizations/123/locations/eu/bigQueryExports/my-export-01
Demikian pula, untuk mengambil ekspor BigQuery menggunakan gcloud CLI, Anda harus menentukan lokasi menggunakan flag --location
. Contoh:
gcloud scc bqexports get myBigQueryExport --organization=123 \
--location=us
Mengekspor temuan dari Pusat Komando Keamanan ke BigQuery
Untuk mengekspor temuan, aktifkan Security Command Center API terlebih dahulu.
Mengaktifkan Security Command Center API
Untuk mengaktifkan Security Command Center API:
Buka halaman Library API di konsol Google Cloud.
Pilih project yang ingin Anda aktifkan Security Command Center API-nya.
Di kotak Telusuri, masukkan
Security Command Center
, lalu klik Security Command Center di hasil penelusuran.Di halaman API yang muncul, klik Enable.
Security Command Center API diaktifkan untuk project Anda. Selanjutnya, Anda akan menggunakan gcloud CLI untuk membuat konfigurasi ekspor baru ke BigQuery.
Memberikan akses perimeter di Kontrol Layanan VPC
Jika Anda menggunakan Kontrol Layanan VPC dan set data BigQuery Anda adalah bagian dari project di dalam perimeter layanan, Anda harus memberikan akses ke project untuk mengekspor temuan.
Untuk memberikan akses ke project, buat
aturan masuk dan keluar untuk
prinsipal dan project tempat Anda mengekspor temuan. Aturan ini
mengizinkan akses ke resource yang dilindungi dan memungkinkan BigQuery memverifikasi bahwa
pengguna memiliki izin setIamPolicy
di set data
BigQuery.
Sebelum menyiapkan ekspor baru ke BigQuery
Buka halaman VPC Service Controls di konsol Google Cloud.
Jika perlu, pilih organisasi Anda.
Klik nama perimeter layanan yang ingin diubah.
Untuk menemukan perimeter layanan yang perlu diubah, Anda dapat memeriksa log untuk menemukan entri yang menampilkan pelanggaran
RESOURCES_NOT_IN_SAME_SERVICE_PERIMETER
. Dalam entri tersebut, periksa kolomservicePerimeterName
:accessPolicies/ACCESS_POLICY_ID/servicePerimeters/SERVICE_PERIMETER_NAME
.Klik Edit Perimeter.
Di menu navigasi, klik Ingress Policy.
Untuk mengonfigurasi aturan masuk bagi pengguna atau akun layanan, gunakan parameter berikut:
- Atribut FROM klien API:
- Di menu Identities, pilih Selected identities.
- Di menu Sumber, pilih Semua Sumber.
- Klik Select, lalu masukkan akun utama yang digunakan untuk memanggil Security Command Center API.
- Atribut TO layanan/resource Google Cloud:
- Di menu Project, pilih Selected projects.
- Klik Select, lalu masukkan project yang berisi set data BigQuery.
- Di menu Services, pilih Selected services, lalu pilih BigQuery API.
- Di menu Metode, pilih Semua tindakan.
- Atribut FROM klien API:
Klik Simpan.
Di menu navigasi, klik Egress Policy.
Klik Add Rule.
Untuk mengonfigurasi aturan keluar untuk akun pengguna atau layanan, masukkan parameter berikut:
- Atribut FROM klien API:
- Di menu Identities, pilih Selected identities.
- Klik Select, lalu masukkan akun utama yang digunakan untuk memanggil Security Command Center API.
- Atribut TO layanan/resource Google Cloud:
- Di menu Project, pilih All projects.
- Di menu Services, pilih Selected services, lalu pilih BigQuery API.
- Di menu Metode, pilih Semua tindakan.
- Atribut FROM klien API:
Klik Simpan.
Menyiapkan ekspor baru ke BigQuery
Pada langkah ini, Anda membuat konfigurasi ekspor untuk mengekspor temuan ke instance BigQuery. Anda dapat membuat konfigurasi ekspor di level project, folder, atau organisasi. Misalnya, jika ingin mengekspor temuan dari project ke set data BigQuery, Anda membuat konfigurasi ekspor di tingkat project untuk hanya mengekspor temuan yang terkait dengan project tersebut. Secara opsional, Anda dapat menentukan filter untuk mengekspor temuan tertentu saja.
Pastikan untuk membuat konfigurasi ekspor di tingkat yang sesuai. Misalnya, jika Anda membuat konfigurasi ekspor di Project B untuk mengekspor temuan dari Project A dan menentukan filter seperti resource.project_display_name: project-a-id
, konfigurasi tidak akan mengekspor temuan apa pun.
Anda dapat membuat maksimal 500 konfigurasi ekspor ke BigQuery untuk organisasi Anda. Anda dapat menggunakan set data yang sama untuk beberapa konfigurasi ekspor. Jika Anda menggunakan set data yang sama, semua pembaruan akan dilakukan pada tabel temuan yang sama.
Saat Anda membuat konfigurasi ekspor pertama, akun layanan akan
otomatis dibuat untuk Anda. Akun layanan ini diperlukan untuk membuat atau
memperbarui tabel temuan dalam set data dan mengekspor temuan ke tabel.
Akun ini memiliki bentuk service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
dan diberi peran BigQuery Data Editor (roles/bigquery.dataEditor
) di tingkat set data BigQuery.
Di konsol Google Cloud, beberapa resource BigQueryExport
mungkin memiliki label Lama, yang menunjukkan bahwa resource tersebut dibuat dengan Security Command Center API v1. Anda dapat mengelola resource
BigQueryExport
ini dengan konsol Google Cloud; gcloud CLI; Security Command Center API v1; atau library klien v1 untuk Security Command Center.
Untuk mengelola resource BigQueryExport
ini dengan gcloud CLI, Anda tidak boleh menentukan lokasi saat menjalankan perintah gcloud CLI.
gcloud
Buka konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Aktifkan Cloud Shell.
Untuk membuat konfigurasi ekspor baru, jalankan perintah berikut:
gcloud scc bqexports create BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ganti kode berikut:
BIGQUERY_EXPORT
dengan nama untuk konfigurasi ekspor ini.DATASET_NAME
dengan nama set data BigQuery—misalnya,projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
, atauPROJECT_ID
dengan nama folder, organisasi, atau project Anda. Anda harus menetapkan salah satu opsi ini. Untuk folder dan organisasi, namanya adalah ID folder atau ID organisasi. Untuk project, namanya adalah nomor project atau project ID.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat membuat konfigurasi ekspor; jika aset data tidak diaktifkan, gunakan nilaiglobal
.DESCRIPTION
dengan deskripsi konfigurasi ekspor yang dapat dibaca manusia. Variabel ini bersifat opsional.FILTER
dengan ekspresi yang menentukan temuan apa yang akan disertakan dalam ekspor. Misalnya, jika Anda ingin memfilter berdasarkan kategori XSS_SCRIPTING, ketik"category=\"XSS_SCRIPTING\"
. Variabel ini bersifat opsional.
Java
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Anda akan melihat temuan di set data BigQuery dalam waktu sekitar 15 menit setelah membuat konfigurasi ekspor. Setelah tabel BigQuery dibuat, setiap temuan baru dan yang diperbarui yang cocok dengan filter dan cakupan Anda akan muncul di tabel secara hampir real time.
Untuk meninjau temuan Anda, lihat Meninjau temuan.
Membuat aturan masuk untuk ekspor baru ke BigQuery
Jika menggunakan Kontrol Layanan VPC dan set data BigQuery Anda adalah bagian dari project di dalam perimeter layanan, Anda harus membuat aturan masuk untuk ekspor baru ke BigQuery.
Buka kembali perimeter layanan dari Menyiapkan ekspor baru ke BigQuery.
Klik Kebijakan Ingress.
Klik Add Rule.
Untuk mengonfigurasi aturan traffic masuk untuk konfigurasi ekspor, masukkan parameter berikut:
- Atribut FROM klien API:
- Di menu drop-down Sumber, pilih Semua Sumber.
- Di menu drop-down Identitas, pilih Identitas yang dipilih.
- Klik Select, lalu masukkan nama akun layanan konfigurasi ekspor BigQuery:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.
- Atribut TO layanan/resource GCP:
- Di menu drop-down Project, pilih Selected projects.
- Klik Select, lalu pilih project yang berisi set data BigQuery.
- Di menu drop-down Services, pilih Selected services, lalu pilih BigQuery API.
- Di menu drop-down Metode, pilih Semua tindakan.
- Atribut FROM klien API:
Di menu navigasi, klik Simpan.
Project, pengguna, dan akun layanan yang dipilih kini dapat mengakses resource yang dilindungi dan mengekspor temuan.
Jika Anda telah mengikuti semua langkah dalam panduan ini, dan ekspor berfungsi dengan benar, sekarang Anda dapat menghapus hal berikut:
- Aturan masuk untuk akun utama
- Aturan traffic keluar untuk akun utama
Aturan tersebut hanya diperlukan untuk mengonfigurasi konfigurasi ekspor. Namun, agar konfigurasi ekspor terus berfungsi, Anda harus mempertahankan aturan masuk yang Anda buat sebelumnya, yang memungkinkan Security Command Center mengekspor temuan ke set data BigQuery di balik perimeter layanan.
Melihat detail konfigurasi ekspor
gcloud
Buka konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Aktifkan Cloud Shell.
Untuk memverifikasi detail konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports get BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
BIGQUERY_EXPORT
dengan nama untuk konfigurasi ekspor ini.FOLDER_ID
,ORGANIZATION_ID
, atauPROJECT_ID
dengan nama folder, organisasi, atau project Anda. Anda harus menetapkan salah satu opsi ini. Untuk folder dan organisasi, namanya adalah ID folder atau ID organisasi. Untuk project, namanya adalah nomor project atau project ID.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat membuat konfigurasi ekspor; jika aset data tidak diaktifkan, gunakan nilaiglobal
.Misalnya, untuk mendapatkan konfigurasi ekspor bernama
my-bq-export
dari organisasi dengan ID organisasi yang ditetapkan ke123
, jalankan:gcloud scc bqexports get my-bq-export \ --organization=123 \ --location=global
Memperbarui konfigurasi ekspor
Jika perlu, Anda dapat mengubah filter, set data, dan deskripsi konfigurasi ekspor yang ada. Anda tidak dapat mengubah nama konfigurasi ekspor.
gcloud
Buka konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Aktifkan Cloud Shell.
Untuk mengupdate konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports update BIGQUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ganti kode berikut:
BIGQUERY_EXPORT
dengan nama untuk konfigurasi ekspor yang ingin Anda perbarui.DATASET_NAME
dengan nama set data BigQuery—misalnya,projects/PROJECT_ID/datasets/DATASET_ID
.FOLDER_ID
,ORGANIZATION_ID
, atauPROJECT_ID
dengan nama folder, organisasi, atau project Anda. Anda harus menetapkan salah satu opsi ini. Untuk folder dan organisasi, namanya adalah ID folder atau ID organisasi. Untuk project, namanya adalah nomor project atau project ID.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat mengupdate konfigurasi ekspor; jika aset data tidak diaktifkan, gunakan nilaiglobal
.DESCRIPTION
dengan deskripsi konfigurasi ekspor yang dapat dibaca manusia. Variabel ini bersifat opsional.FILTER
dengan ekspresi yang menentukan temuan apa saja yang akan disertakan dalam ekspor. Misalnya, jika Anda ingin memfilter berdasarkan kategori XSS_SCRIPTING, ketik"category=\"XSS_SCRIPTING\"
. Variabel ini bersifat opsional.
Melihat semua konfigurasi ekspor
Anda dapat melihat semua konfigurasi ekspor dalam organisasi, folder, atau project.
gcloud
Buka konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Aktifkan Cloud Shell.
Untuk menampilkan konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports list \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--limit=LIMIT] \ [--page-size=PAGE_SIZE]
Ganti kode berikut:
FOLDER_ID
,ORGANIZATION_ID
, atauPROJECT_ID
dengan nama folder, organisasi, atau project Anda. Anda harus menetapkan salah satu opsi ini. Untuk folder dan organisasi, namanya adalah ID folder atau ID organisasi. Untuk project, namanya adalah nomor project atau project ID.Jika Anda menentukan ID organisasi, daftar akan menyertakan semua konfigurasi ekspor yang ditentukan di organisasi tersebut, termasuk konfigurasi di tingkat folder dan project. Jika Anda menentukan ID folder, daftar tersebut akan menyertakan semua konfigurasi ekspor yang ditentukan di tingkat folder dan dalam project dalam folder tersebut. Jika Anda menentukan nomor project atau project ID, daftar tersebut akan menyertakan semua konfigurasi ekspor hanya untuk project tersebut.
LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat mencantumkan konfigurasi ekspor; jika aset data tidak diaktifkan, gunakan nilaiglobal
.LIMIT
dengan jumlah konfigurasi ekspor yang ingin Anda lihat. Variabel ini bersifat opsional.PAGE_SIZE
dengan nilai ukuran halaman. Variabel ini bersifat opsional.
Java
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Menghapus konfigurasi ekspor
Jika tidak lagi memerlukan konfigurasi ekspor, Anda dapat menghapusnya.
gcloud
Buka konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Aktifkan Cloud Shell.
Untuk menghapus konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports delete BIGQUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
BIGQUERY_EXPORT
dengan nama untuk konfigurasi ekspor yang ingin Anda hapus.FOLDER_ID
,ORGANIZATION_ID
, atauPROJECT_ID
dengan nama folder, organisasi, atau project Anda. Anda harus menetapkan salah satu opsi ini. Untuk folder dan organisasi, namanya adalah ID folder atau ID organisasi. Untuk project, namanya adalah nomor project atau project ID.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat menghapus konfigurasi ekspor; jika aset data tidak diaktifkan, gunakan nilaiglobal
.Misalnya, untuk menghapus konfigurasi ekspor bernama
my-bq-export
dari organisasi dengan ID organisasi yang ditetapkan ke123
, jalankan:gcloud scc bqexports delete my-bq-export \ --organization=123 \ --location=global
Java
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Setelah menghapus konfigurasi ekspor, Anda dapat menghapus data dari Looker Studio. Untuk informasi selengkapnya, lihat Menghapus, menghapus, dan memulihkan sumber data.
Meninjau temuan di BigQuery
Setelah Anda membuat konfigurasi ekspor, temuan baru akan diekspor ke set data BigQuery dalam project yang Anda tentukan.
Untuk meninjau temuan di BigQuery, lakukan hal berikut:
Buka project di BigQuery.
Pilih project.
Di panel Explorer, luaskan node untuk project Anda.
Perluas set data Anda.
Klik tabel temuan.
Di tab yang terbuka, klik Pratinjau. Contoh set data akan ditampilkan.
Kueri yang berguna
Bagian ini memberikan contoh kueri
untuk menganalisis data temuan. Dalam contoh berikut, ganti
DATASET
dengan nama yang ditetapkan ke set data Anda dan
PROJECT_ID
dengan nama project untuk set data Anda.
Untuk memecahkan masalah error yang Anda alami, lihat Pesan error.
Jumlah temuan baru yang dibuat dan diperbarui setiap hari
SELECT
FORMAT_DATETIME("%Y-%m-%d", event_time) AS date,
count(DISTINCT finding_id)
FROM `PROJECT_ID.DATASET.findings`
GROUP BY date
ORDER BY date DESC
Data temuan terbaru untuk setiap temuan
SELECT
* EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
)
WHERE row = 1
Temuan saat ini yang aktif, diurutkan berdasarkan waktu
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
ORDER BY event_time DESC
Temuan saat ini yang ada dalam project
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
WHERE resource.project_display_name = 'PROJECT'
Ganti PROJECT
dengan nama project.
Temuan saat ini yang ada dalam folder
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding, resource
FROM latestFindings
CROSS JOIN UNNEST(resource.folders) AS folder
WHERE folder.resource_folder_display_name = 'FOLDER'
Ganti FOLDER
dengan nama folder.
Temuan saat ini dari pemindai Logging Scanner
WITH latestFindings AS (
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
CROSS JOIN UNNEST(finding.source_properties) AS source_property
WHERE source_property.key = "ScannerName"
AND source_property.value = "LOGGING_SCANNER"
Temuan aktif saat ini dari jenis Persistence: IAM Anomalous Grant
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT finding_id, event_time, finding
FROM latestFindings
WHERE finding.state = "ACTIVE"
AND finding.category = "Persistence: IAM Anomalous Grant"
Menghubungkan temuan aktif dari jenis tertentu dengan Cloud Audit Logs
Contoh kueri ini membantu menyelidiki temuan pemberian IAM yang tidak wajar dari Event Threat Detection menggunakan Cloud Audit Logs dengan menampilkan urutan tindakan Aktivitas Admin pemberi selama periode waktu sebelum dan sesudah tindakan pemberian IAM yang tidak wajar. Kueri berikut menghubungkan log Aktivitas Admin antara 1 jam sebelum dan 1 jam setelah stempel waktu temuan.
WITH latestFindings AS(
SELECT * EXCEPT(row)
FROM (
SELECT *, ROW_NUMBER() OVER(
PARTITION BY finding_id
ORDER BY event_time DESC, finding.mute_update_time DESC
) AS row
FROM `PROJECT_ID.DATASET.findings`
) WHERE row = 1
)
SELECT
finding_id,
ANY_VALUE(event_time) as event_time,
ANY_VALUE(finding.access.principal_email) as grantor,
JSON_VALUE_ARRAY(ANY_VALUE(finding.source_properties_json), '$.properties.sensitiveRoleGrant.members') as grantees,
ARRAY_AGG(
STRUCT(
timestamp,
IF(timestamp < event_time, 'before', 'after') as timeline,
protopayload_auditlog.methodName,
protopayload_auditlog.resourceName,
protopayload_auditlog.serviceName
)
ORDER BY timestamp ASC
) AS recent_activity
FROM (
SELECT
f.*,
a.*,
FROM latestFindings AS f
LEFT JOIN `PROJECT_ID.DATASET.cloudaudit_googleapis_com_activity` AS a
ON a.protopayload_auditlog.authenticationInfo.principalEmail = f.finding.access.principal_email
WHERE f.finding.state = "ACTIVE"
AND f.finding.category = "Persistence: IAM Anomalous Grant"
AND a.timestamp >= TIMESTAMP_SUB(f.event_time, INTERVAL 1 HOUR)
AND a.timestamp <= TIMESTAMP_ADD(f.event_time, INTERVAL 1 HOUR)
)
GROUP BY
finding_id
ORDER BY
event_time DESC
Outputnya mirip dengan hal berikut ini:
Membuat diagram di Looker Studio
Looker Studio memungkinkan Anda membuat laporan dan dasbor interaktif.
Secara umum, Anda akan dikenai biaya penggunaan BigQuery saat mengakses BigQuery melalui Looker Studio. Untuk mengetahui informasi selengkapnya, lihat artikel Memvisualisasikan data BigQuery menggunakan Looker Studio.
Untuk membuat diagram yang memvisualisasikan data temuan berdasarkan tingkat keparahan dan kategori, lakukan hal berikut:
- Buka Looker Studio dan login.
- Jika diminta, berikan informasi tambahan dan siapkan preferensi lainnya. Baca persyaratan layanan dan, jika Anda puas, lanjutkan.
- Klik Laporan Kosong.
- Di tab Hubungkan ke data, klik kartu BigQuery.
- Jika diminta, izinkan Looker Studio untuk mengakses project BigQuery.
Menghubungkan ke data temuan Anda:
- Untuk Project, pilih project tersebut untuk set data Anda. Atau, di tab Project saya, masukkan project ID Anda untuk menelusurinya.
- Untuk Set data, klik nama set data Anda.
- Untuk Tabel, klik temuan.
- Klik Tambahkan.
- Pada dialog, klik Tambahkan ke laporan.
Setelah laporan ditambahkan, klik Tambahkan diagram.
Klik Diagram kolom bertumpuk, lalu klik area tempat Anda ingin menempatkannya.
Di panel Chart > Bar, pada tab Data, tetapkan kolom berikut:
- Di kolom Dimensi, pilih finding.severity.
- Di kolom Dimensi Perincian, pilih finding.category.
Laporan diperbarui untuk menampilkan beberapa kolom dengan temuan yang dibagi menurut tingkat keparahan dan kategori.
Langkah selanjutnya
Pelajari cara menjalankan kueri di BigQuery.