Halaman ini menjelaskan cara menggunakan fitur notifikasi Security Command Center API, termasuk contoh berikut:
- Membuat
NotificationConfig - Mendapatkan
NotificationConfig - Mengupdate
NotificationConfig - Menghapus
NotificationConfig - Mencantumkan
NotificationConfig - Menerima notifikasi Pub/Sub
Atau, Anda dapat menyiapkan ekspor berkelanjutan untuk Pub/Sub di Security Command Center.
Sebelum memulai
Untuk menggunakan contoh di halaman ini, Anda harus menyelesaikan panduan untuk menyiapkan notifikasi temuan.
Untuk menjalankan contoh berikut, Anda memerlukan peran Identity and Access Management (IAM) dengan izin yang sesuai:
- Membuat
NotificationConfig: Editor Konfigurasi Notifikasi Pusat Keamanan (roles/securitycenter.notificationConfigEditor) - Mendapatkan dan Mencantumkan
NotificationConfig: Security Center Notification Configurations Viewer (roles/securitycenter.notificationConfigViewer) atau Security Center Notification Configurations Editor (roles/securitycenter.notificationConfigEditor) - Mengupdate dan Menghapus
NotificationConfig: Editor Konfigurasi Notifikasi Pusat Keamanan (roles/securitycenter.notificationConfigEditor)
Untuk memberikan peran yang sesuai kepada akun utama yang mengakses notificationConfig, Anda harus memiliki salah satu peran IAM berikut:
- Administrator Organisasi (
roles/resourcemanager.organizationAdmin) - Folder IAM Admin (
roles/resourcemanager.folderIamAdmin) - Project IAM Admin (
roles/resourcemanager.projectIamAdmin)
Peran IAM untuk Security Command Center dapat diberikan di tingkat organisasi, folder, atau project. Kemampuan Anda untuk melihat, mengedit, membuat, atau mengupdate temuan, aset, dan sumber keamanan bergantung pada tingkat akses yang diberikan kepada Anda. Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.
Residensi data dan notifikasi
Jika residency data
diaktifkan untuk Security Command Center, konfigurasi yang menentukan
ekspor berkelanjutan ke
Pub/Sub—notificationConfig resource—tunduk
pada kontrol residency data dan disimpan di
lokasi Security Command Center Anda.
Untuk mengekspor temuan di lokasi Security Command Center ke Pub/Sub, Anda harus mengonfigurasi ekspor berkelanjutan di lokasi Security Command Center yang sama dengan temuan.
Karena filter yang digunakan dalam ekspor berkelanjutan 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 berkelanjutan hanya disimpan di lokasi tempat ekspor dibuat dan tidak dapat dilihat atau diedit di lokasi lain.
Setelah membuat ekspor berkelanjutan, Anda tidak dapat mengubah lokasinya. Untuk mengubah lokasi, Anda harus menghapus ekspor berkelanjutan dan membuatnya kembali di lokasi baru.
Untuk mempelajari cara menggunakan Security Command Center saat residensi data diaktifkan, lihat Endpoint regional Security Command Center.
Membuat NotificationConfig
Untuk membuat NotificationConfig, Anda harus memiliki:
- Topik Pub/Sub yang sudah ada yang ingin Anda kirimi notifikasi.
- Peran IAM yang diperlukan untuk akun utama yang membuat
notificationConfig.
Untuk mengetahui informasi selengkapnya, lihat langkah-langkah untuk menyiapkan topik Pub/Sub di panduan untuk menyiapkan notifikasi temuan.
Sebelum membuat NotificationConfig, perhatikan bahwa setiap organisasi dapat memiliki jumlah file NotificationConfig yang terbatas. Untuk mengetahui informasi selengkapnya, lihat
Kuota dan batas.
NotificationConfig menyertakan kolom filter yang membatasi notifikasi ke peristiwa yang berguna. Kolom ini menerima semua filter yang tersedia di
metode findings.list
Security Command Center API.
Saat membuat NotificationConfig, Anda menentukan induk untuk
NotificationConfig dari Google Cloud hierarki resource, baik
organisasi, folder, atau project. Jika perlu mengambil, mengupdate, atau menghapus NotificationConfig nanti, Anda harus menyertakan ID numerik organisasi, folder, atau project induk saat mereferensikannya.
Di Google Cloud konsol, beberapa NotificationConfig resource mungkin memiliki label Legacy, yang menunjukkan bahwa resource tersebut dibuat dengan Security Command Center API v1. Anda dapat mengelola resource
NotificationConfig ini dengan Google Cloud konsol, gcloud CLI, Security Command Center API v1
, atau library klien v1 untuk Security Command Center.
Untuk mengelola resource NotificationConfig ini dengan gcloud CLI, Anda tidak boleh menentukan
lokasi saat menjalankan perintah gcloud CLI.
Untuk membuat NotificationConfig menggunakan bahasa atau platform pilihan Anda:
gcloud
gcloud scc notifications create NOTIFICATION_NAME \ --PARENT=PARENT_ID \ --location=LOCATION \ --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
Ganti kode berikut:
NOTIFICATION_NAME: nama notifikasi. Harus terdiri dari 1 hingga 128 karakter dan hanya berisi karakter alfanumerik, garis bawah, atau tanda hubung.PARENT: cakupan dalam hierarki resource tempat notifikasi diterapkan,organization,folder, atauproject.PARENT_ID: ID organisasi, folder, atau project induk, yang ditentukan dalam formatorganizations/123,folders/456, atauprojects/789.LOCATION: lokasi Security Command Center tempat pembuatanNotificationConfig; jika residensi data diaktifkan, gunakaneu,sa, atauus; jika tidak, gunakan nilaiglobal.NOTIFICATION_DESCRIPTION: deskripsi notifikasi yang tidak lebih dari 1.024 karakter.PUBSUB_TOPIC: Topik Pub/Sub yang akan menerima notifikasi. Formatnya adalahprojects/PROJECT_ID/topics/TOPIC.FILTER: ekspresi yang Anda tentukan untuk memilih temuan mana yang akan dikirim ke Pub/Sub. Misalnya,state=\"ACTIVE\".
Terraform
Membuat NotificationConfig untuk organisasi:
Membuat NotificationConfig untuk folder:
Membuat NotificationConfig untuk project:
Go
Java
Node.js
Python
Notifikasi kini dipublikasikan ke topik Pub/Sub yang Anda tentukan.
Untuk memublikasikan notifikasi, akun layanan dibuat untuk Anda dalam bentuk
service-org-ORGANIZATION_ID@gcp-sa-scc-notification.iam.gserviceaccount.com.
Akun layanan ini dibuat saat Anda membuat NotificationConfig pertama dan secara otomatis diberi peran securitycenter.notificationServiceAgent pada kebijakan IAM untuk PUBSUB_TOPIC saat membuat konfigurasi notifikasi. Peran akun layanan ini diperlukan agar notifikasi dapat berfungsi.
Mendapatkan NotificationConfig
Untuk mendapatkan NotificationConfig, Anda harus memiliki peran IAM yang menyertakan izin securitycenter.notification.get.
gcloud
gcloud scc notifications describe NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION
Ganti kode berikut:
NOTIFICATION_NAME: nama konfigurasi notifikasi.PARENT_TYPEtingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization,folder, atauproject.PARENT_ID: ID numerik resource induk.LOCATION: lokasi Security Command Center tempat mendapatkanNotificationConfig; jika residensi data diaktifkan, gunakaneu,sa, atauus; jika tidak, gunakan nilaiglobal.
Mengupdate NotificationConfig
Untuk mengupdate NotificationConfig, Anda harus memiliki peran IAM yang menyertakan izin securitycenter.notification.update.
Saat Anda mengupdate menggunakan mask kolom, hanya kolom yang Anda tentukan yang akan diupdate. Jika Anda tidak menggunakan mask kolom, semua kolom yang dapat diubah di NotificationConfig akan diganti dengan nilai baru. Anda dapat menggunakan mask kolom untuk mengupdate topik dan deskripsi Pub/Sub.
Untuk menyelesaikan contoh ini, Anda harus berlangganan topik baru, dan akun layanan notifikasi Anda harus memiliki izin pubsub.topics.setIamPolicy pada topik tersebut.
Setelah Anda memberikan izin yang diperlukan, update deskripsi NotificationConfig, topik Pub/Sub, dan filter menggunakan bahasa pilihan Anda:
gcloud
gcloud scc notifications update NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION \ --description="NOTIFICATION_DESCRIPTION" \ --pubsub-topic=PUBSUB_TOPIC \ --filter="FILTER"
Ganti kode berikut:
NOTIFICATION_NAME: nama konfigurasi notifikasi.PARENT_TYPEtingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization,folder, atauproject.PARENT_ID: ID numerik resource induk.LOCATION: the Security Command Center location in which to update theNotificationConfig; if data residency is enabled, useeu,sa, orus; otherwise, use the valueglobal.NOTIFICATION_DESCRIPTION: deskripsi notifikasi yang tidak lebih dari 1.024 karakter.PUBSUB_TOPIC: topik Pub/Sub yang akan menerima notifikasi. Formatnya adalahprojects/PROJECT_ID/topics/TOPIC.FILTER: ekspresi yang Anda tentukan untuk memilih temuan mana yang akan dikirim ke Pub/Sub. Misalnya,state="ACTIVE".
Menghapus NotificationConfig
Untuk menghapus NotificationConfig, Anda harus memiliki peran IAM yang menyertakan izin securitycenter.notification.delete.
Saat Anda menghapus NotificationConfig, peran securitycenter.notificationServiceAgent tetap ada di topik Pub/Sub. Jika Anda tidak menggunakan topik Pub/Sub di NotificationConfig lain, hapus peran dari topik tersebut. Untuk mengetahui informasi selengkapnya, lihat kontrol akses.
Hapus NotificationConfig menggunakan bahasa pilihan Anda:
gcloud
gcloud scc notifications delete NOTIFICATION_NAME \ --PARENT_TYPE=PARENT_ID \ --location=LOCATION
Ganti kode berikut:
NOTIFICATION_NAME: nama konfigurasi notifikasi.PARENT_TYPEtingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization,folder, atauproject.PARENT_ID: ID numerik resource induk.LOCATION: lokasi Security Command Center tempat menghapusNotificationConfig; jika residensi data diaktifkan, gunakaneu,sa, atauus; jika tidak, gunakan nilaiglobal.
Mencantumkan NotificationConfig
Untuk mencantumkan NotificationConfigs, Anda harus memiliki peran IAM yang menyertakan izin securitycenter.notification.list.
Semua daftar Security Command Center API diberi nomor halaman. Setiap respons menampilkan halaman hasil dan token untuk menampilkan halaman berikutnya. pageSize default adalah 10. Anda dapat mengonfigurasi ukuran halaman ke minimum 1, dan maksimum 1.000.
Cantumkan NotificationConfigs menggunakan bahasa pilihan Anda:
gcloud
gcloud scc notifications list PARENT_TYPE/PARENT_ID \ --location=LOCATION
Ganti kode berikut:
PARENT_TYPEtingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganizations,folders, atauprojects.PARENT_ID: ID numerik resource induk.LOCATION: lokasi Security Command Center tempat mencantumkan resourceNotificationConfig; jika residensi data diaktifkan, gunakaneu,sa, atauus; jika tidak, gunakan nilaiglobal.
Menerima notifikasi Pub/Sub
Bagian ini menyediakan contoh pesan notifikasi dan contoh yang menunjukkan cara mengonversi pesan Pub/Sub menjadi NotificationMessage yang berisi temuan.
Notifikasi dipublikasikan ke Pub/Sub dalam format JSON.
Berikut adalah contoh pesan notifikasi:
{
"notificationConfigName": "organizations/ORGANIZATION_ID/notificationConfigs/CONFIG_ID",
"finding": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
"parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
"state": "ACTIVE",
"category": "TEST-CATEGORY",
"securityMarks": {
"name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
},
"eventTime": "2019-07-26T07:32:37Z",
"createTime": "2019-07-29T18:45:27.243Z"
}
}
Konversi pesan Pub/Sub menjadi NotificationMessage menggunakan bahasa pilihan Anda:
gcloud
gcloud CLI tidak mendukung konversi pesan Pub/Sub menjadi NotificationMessage. Anda dapat menggunakan gcloud CLI untuk mendapatkan NotificationMessage dan mencetak JSON langsung di terminal:
# The subscription used to receive published messages from a topic
PUBSUB_SUBSCRIPTION="projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID"
gcloud pubsub subscriptions pull $PUBSUB_SUBSCRIPTION
Ganti kode berikut:
- PROJECT_ID dengan ID project Anda.
- SUBSCRIPTION_ID dengan ID langganan Anda.
Go
Langkah berikutnya
- Pelajari cara memfilter notifikasi.