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 dari Google Cloud yang terkelola sepenuhnya, berskala petabyte, dan hemat biaya yang dapat Anda gunakan untuk menjalankan analisis dalam jumlah besar data hampir secara real time. Anda dapat menggunakan BigQuery untuk menjalankan kueri berdasarkan temuan baru dan yang diperbarui, memfilter data untuk menemukan hal yang Anda butuhkan, dan menghasilkan laporan kustom. Untuk mempelajari BigQuery lebih lanjut, baca dokumentasi BigQuery.
Ringkasan
Saat Anda mengaktifkan fitur ini, temuan baru yang ditulis ke Security Command Center akan diekspor ke tabel BigQuery hampir secara real time. Kemudian, 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 fitur ini terkelola sepenuhnya dan tidak memerlukan 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 catatan 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 di {i>dataset<i} Anda. Untuk mengurainya, Anda dapat menggunakan klausa DISTINCT
, seperti yang ditunjukkan pada 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
penemuan. Misalnya, semua temuan dari sumber Deteksi Anomali Cloud memiliki nilai source_id yang sama. Contoh: 1234567890
|
finding_id | ID unik yang merepresentasikan temuan. ID ini bersifat unik di dalam sumber untuk organisasi. Kode ini alfanumerik dan memiliki kurang dari atau sama dengan 32 karakter. |
event_time | Waktu terjadinya peristiwa atau waktu saat pembaruan temuan
terjadi. Misalnya, jika temuan tersebut merepresentasikan firewall terbuka, maka `event_time` akan merekam waktu yang dipercaya detektor bahwa firewall dibuka.
Jika temuan itu diselesaikan setelahnya, maka kali ini
mencerminkan kapan temuan itu diselesaikan. Contoh: 2019-09-26 12:48:00.985000 UTC
|
menemukan | Kumpulan data penilaian seperti keamanan, risiko, kondisi, atau privasi, yang diserap ke dalam Security Command Center untuk presentasi, notifikasi, analisis, pengujian kebijakan, dan penegakan. Misalnya, kerentanan pembuatan skrip lintas situs (XSS) dalam aplikasi App Engine adalah temuannya. Untuk informasi selengkapnya tentang kolom bertingkat, lihat referensi API untuk objek Finding . |
resource | Informasi terkait resource Google Cloud yang terkait dengan temuan ini. Untuk informasi selengkapnya tentang kolom bertingkat, lihat referensi API untuk objek Resource . |
Biaya
Anda akan dikenai biaya BigQuery terkait fitur ini. Untuk informasi lebih lanjut, 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 opsi berikut:
- Editor BigQuery Exports Pusat Keamanan (
roles/securitycenter.bigqueryExportsEditor
). - Admin Pusat Keamanan (
roles/securitycenter.admin
).
Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.
- Editor BigQuery Exports Pusat Keamanan (
Di set data BigQuery, BigQuery Data Owner (
roles/bigquery.dataOwner
).
Membuat set data BigQuery
Membuat set data BigQuery. Untuk mengetahui informasi selengkapnya, lihat Membuat set data.
Merencanakan residensi data
Jika residensi data
diaktifkan untuk Security Command Center, konfigurasi yang menentukan
ekspor streaming ke
BigQuery—resource BigQueryExport
—akan tunduk pada
kontrol residensi data dan disimpan di
lokasi Security Command Center
yang Anda pilih.
Untuk mengekspor temuan di lokasi Security Command Center ke BigQuery, Anda harus mengonfigurasi BigQuery Export di lokasi Security Command Center yang sama dengan temuan tersebut.
Karena filter yang digunakan dalam ekspor BigQuery dapat berisi data yang tunduk pada kontrol residensi, pastikan Anda menentukan lokasi yang benar sebelum membuatnya. Security Command Center tidak membatasi lokasi tempat Anda membuat ekspor.
Ekspor BigQuery hanya disimpan di lokasi tempatnya 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 BigQuery Export dan membuatnya kembali di lokasi baru.
Untuk mengambil BigQuery Export dengan menggunakan panggilan API, Anda harus menentukan lokasi dalam nama resource lengkap bigQueryExport
. Contoh:
GET https://securitycenter.googleapis.com/v2/{name=organizations/123/locations/eu/bigQueryExports/my-export-01}
Demikian pula, untuk mengambil ekspor BigQuery dengan menggunakan gcloud CLI, Anda harus menentukan lokasi dalam nama resource lengkap konfigurasi atau dengan menggunakan flag --locations
. Contoh:
gcloud scc scc bqexports get myBigQueryExport organizations/123 \ --location=locations/us
Mengekspor temuan dari Security Command Center 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 API Library di Konsol Google Cloud.
Pilih project tempat Anda ingin mengaktifkan Security Command Center API.
Di kotak Search, masukkan
Security Command Center
, lalu klik Security Command Center di hasil penelusuran.Pada 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 agar dapat mengekspor temuan.
Untuk memberikan akses ke project, buat aturan masuk dan keluar untuk akun utama dan project tempat Anda mengekspor temuannya. Aturan tersebut 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 Kontrol Layanan VPC di Konsol Google Cloud.
Jika perlu, pilih organisasi Anda.
Klik nama perimeter layanan yang ingin Anda ubah.
Untuk menemukan perimeter layanan yang perlu diubah, Anda dapat memeriksa log untuk menemukan entri yang menunjukkan 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 ingress bagi pengguna atau akun layanan, gunakan parameter berikut:
- Atribut FROM klien API:
- Di menu drop-down Identities, pilih Selected identities.'
- Di menu drop-down 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 drop-down Project, pilih Selected projects.
- Klik Select, lalu masukkan project yang berisi set data BigQuery .
- Di menu drop-down Layanan, pilih Layanan yang dipilih, lalu pilih BigQuery API.
- Di menu drop-down Metode, pilih Semua tindakan.
- Atribut FROM klien API:
Klik Save.
Pada menu navigasi, klik Kebijakan Keluar.
Klik Add Rule.
Untuk mengonfigurasi aturan traffic keluar untuk akun pengguna atau layanan, masukkan parameter berikut:
- Atribut FROM klien API:
- Di menu drop-down 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 drop-down Project, pilih All projects.
- Di menu drop-down Layanan, pilih Layanan yang dipilih, lalu pilih BigQuery API.
- Di menu drop-down Metode, pilih Semua tindakan.
- Atribut FROM klien API:
Klik Save.
Menyiapkan ekspor baru ke BigQuery
Pada langkah ini, Anda akan membuat konfigurasi ekspor untuk mengekspor temuan ke instance BigQuery. Anda dapat membuat konfigurasi ekspor di level project, folder, atau organisasi. Misalnya, jika Anda ingin mengekspor temuan dari project ke set data BigQuery, Anda harus membuat konfigurasi ekspor pada level project untuk mengekspor hanya temuan yang terkait dengan project tersebut. Atau, Anda dapat menentukan filter untuk mengekspor temuan tertentu saja.
Pastikan untuk membuat konfigurasi ekspor pada 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 tersebut tidak akan mengekspor temuan apa pun.
Anda dapat membuat maksimum 500 konfigurasi ekspor ke BigQuery untuk organisasi Anda. Anda dapat menggunakan set data yang sama untuk beberapa konfigurasi ekspor. Jika Anda menggunakan {i>dataset<i} 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 untuk mengekspor temuan ke tabel. URL tersebut memiliki format service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gservicaccount.com
dan diberi peran BigQuery Data Editor (roles/bigquery.dataEditor
) di level set data BigQuery.
gcloud
Buka Konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Activate Cloud Shell.
Untuk membuat konfigurasi ekspor baru, jalankan perintah berikut:
gcloud scc bqexports create BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ganti kode berikut:
BIG_QUERY_EXPORT
yang memiliki 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 ID project.LOCATION
: Jika residensi data diaktifkan, tentukan lokasi Security Command Center untuk membuat BigQuery Export. Konfigurasi BigQuery Export disimpan di lokasi ini. Hanya temuan dari lokasi ini yang disertakan dalam ekspor.Jika residensi data tidak diaktifkan, penetapan flag
--location
akan membuat BigQuery Export menggunakan Security Command Center API v2 dan satu-satunya nilai yang valid untuk flag tersebut adalahglobal
.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 pada 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.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Anda akan melihat temuan di set data BigQuery dalam waktu sekitar 15 menit setelah membuat konfigurasi ekspor. Setelah tabel BigQuery dibuat, temuan baru dan yang diperbarui yang cocok dengan filter dan cakupan Anda akan muncul di tabel hampir secara real time.
Untuk meninjau temuan Anda, lihat Meninjau temuan.
Buat aturan masuk untuk ekspor baru ke BigQuery
Jika Anda 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 Siapkan ekspor baru ke BigQuery.
Klik Kebijakan Ingress.
Klik Add Rule.
Guna mengonfigurasi aturan ingress untuk konfigurasi ekspor, masukkan parameter berikut:
- Atribut FROM klien API:
- Di menu drop-down Sumber, pilih Semua Sumber.
- Di menu drop-down Identities, pilih Selected identities.
- Klik Select, lalu masukkan nama akun layanan konfigurasi BigQuery Export:
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com
- KE atribut 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 Layanan, pilih Layanan yang dipilih, 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 mengikuti semua langkah dalam panduan ini dan ekspor berfungsi dengan baik, Anda kini dapat menghapus hal berikut:
- Aturan masuk untuk akun utama
- Aturan keluar untuk akun utama
Aturan tersebut hanya diperlukan untuk mengonfigurasi konfigurasi ekspor. Namun, agar konfigurasi ekspor terus berfungsi, Anda harus mempertahankan aturan ingress yang Anda buat di atas, yang memungkinkan Security Command Center mengekspor temuan ke set data BigQuery Anda di balik perimeter layanan.
Melihat detail konfigurasi ekspor
gcloud
Buka Konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Activate Cloud Shell.
Untuk memverifikasi detail konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports get BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
BIG_QUERY_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 ID project.LOCATION
: diperlukan jika residensi data diaktifkan atau resourceBigQueryExport
dibuat menggunakan API v2.Jika residensi data diaktifkan, tentukan lokasi Security Command Center tempat ekspor disimpan.
Jika residensi data tidak diaktifkan, sertakan
/locations/LOCATION
hanya jika resourceBigQueryExport
dibuat menggunakan Security Command Center API v2. Dalam hal ini, satu-satunya lokasi yang valid adalahglobal
.
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
Java
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
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 Activate Cloud Shell.
Untuk memperbarui konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports update BIG_QUERY_EXPORT \ --dataset=DATASET_NAME \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION \ [--description=DESCRIPTION] \ [--filter=FILTER]
Ganti kode berikut:
BIG_QUERY_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 ID project.LOCATION
: diperlukan jika residensi data diaktifkan atau resourceBigQueryExport
dibuat menggunakan API v2.Jika residensi data diaktifkan, tentukan lokasi Security Command Center tempat ekspor disimpan.
Jika residensi data tidak diaktifkan, sertakan
/locations/LOCATION
dalam nama lengkap atau tentukan flag--location
hanya jika resourceBigQueryExport
dibuat menggunakan Security Command Center API v2. Dalam hal ini, satu-satunya lokasi yang valid adalahglobal
.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 pada 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.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Lihat semua konfigurasi ekspor
Anda dapat melihat semua konfigurasi ekspor dalam organisasi, folder, atau project Anda.
gcloud
Buka Konsol Google Cloud.
Pilih project tempat Anda mengaktifkan Security Command Center API.
Klik Activate 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 ID project.Jika Anda menentukan ID organisasi, daftar akan mencakup semua konfigurasi ekspor yang ditentukan dalam organisasi tersebut, termasuk konfigurasi di tingkat folder dan project. Jika Anda menentukan ID folder, daftar tersebut akan menyertakan semua konfigurasi ekspor yang ditentukan di level folder dan dalam project di dalam folder tersebut. Jika Anda menentukan nomor project atau ID project, daftar akan menyertakan semua konfigurasi ekspor hanya untuk project tersebut.
LOCATION
: diperlukan jika residensi data diaktifkan atau resourceBigQueryExport
dibuat menggunakan API v2.Jika residensi data diaktifkan, tentukan lokasi Security Command Center tempat ekspor disimpan.
Jika residensi data tidak diaktifkan, termasuk flag
--location
hanya akan mencantumkan resourceBigQueryExport
yang dibuat menggunakan Security Command Center API v2 dan satu-satunya lokasi yang valid adalahglobal
.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.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
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 Activate Cloud Shell.
Untuk menghapus konfigurasi ekspor, jalankan perintah berikut:
gcloud scc bqexports delete BIG_QUERY_EXPORT \ --folder=FOLDER_ID | --organization=ORGANIZATION_ID | --project=PROJECT_ID \ --location=LOCATION
Ganti kode berikut:
BIG_QUERY_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 ID project.LOCATION
: diperlukan jika residensi data diaktifkan atau resourceBigQueryExport
dibuat menggunakan API v2.Jika residensi data diaktifkan, tentukan lokasi Security Command Center tempat ekspor disimpan.
Jika residensi data tidak diaktifkan, sertakan
/locations/LOCATION
hanya jika resourceBigQueryExport
dibuat menggunakan Security Command Center API v2. Dalam hal ini, satu-satunya lokasi yang valid adalahglobal
.
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
Java
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Python
Untuk melakukan autentikasi ke Security Command Center, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Contoh berikut menggunakan API v1. Guna memodifikasi
contoh untuk v2, ganti v1
dengan v2
dan tambahkan
/locations/LOCATION
ke nama resource.
Untuk sebagian besar resource, tambahkan /locations/LOCATION
ke nama resource setelah /PARENT/PARENT_ID
, dengan PARENT
adalah organizations
, folders
, atau projects
.
Untuk temuan, tambahkan /locations/LOCATION
ke nama resource setelah /sources/SOURCE_ID
, dengan SOURCE_ID
adalah ID layanan Security Command Center yang mengeluarkan temuan tersebut.
Setelah menghapus konfigurasi ekspor, Anda dapat menghapus data dari Looker Studio. Untuk mengetahui 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 langkah berikut:
Buka project di BigQuery.
Jika Anda tidak berada di project yang tepat, ikuti langkah-langkah berikut:
- Pada toolbar, klik pemilih project .
- Di samping Pilih dari, pilih organisasi Anda.
- Dalam daftar project, pilih project Anda.
Di panel Explorer, luaskan node untuk project Anda.
Perluas set data Anda.
Klik tabel temuan.
Pada tab yang terbuka, klik Preview. Contoh set data akan ditampilkan.
Kueri yang berguna
Bagian ini memberikan contoh kueri
untuk menganalisis data temuan. Pada contoh berikut, ganti DATASET
dengan nama yang ditetapkan untuk 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
Catatan 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 menurut 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 sebuah 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 di 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 terbaru 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 pemberi hibah tindakan Aktivitas Admin selama jangka waktu sebelumnya dan berhasil menyelesaikan 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 dasbor dan laporan interaktif.
Secara umum, Anda dikenai biaya penggunaan BigQuery saat mengakses BigQuery melalui Looker Studio. Untuk informasi selengkapnya, lihat 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.
- Pada tab Hubungkan ke data, klik kartu BigQuery.
- Jika diminta, izinkan Looker Studio untuk mengakses project BigQuery.
- Hubungkan ke data temuan Anda:
- Untuk Project, pilih project tersebut untuk set data Anda. Atau, di tab My projects, masukkan project ID Anda untuk menelusurinya.
- Untuk Dataset, klik nama set data Anda.
- Untuk Table, klik findings.
- Klik Tambahkan.
- Pada dialog, klik Tambahkan ke laporan.
- Setelah laporan ditambahkan, klik Tambahkan diagram.
Klik Stacked column chart, 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 dipisahkan berdasarkan tingkat keparahan dan kategori.
Langkah selanjutnya
Pelajari cara menjalankan kueri di BigQuery.