Halaman ini menjelaskan cara menggunakan fitur notifikasi Security Command Center API, termasuk contoh berikut:
- Membuat
NotificationConfig
- Dapatkan
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 penemuan notifikasi.
Untuk menjalankan contoh berikut, Anda memerlukan peran Identity and Access Management (IAM) dengan izin yang sesuai:
- Buat
NotificationConfig
: Editor Konfigurasi Notifikasi Pusat Keamanan (roles/securitycenter.notificationConfigEditor
) - Mendapatkan dan Mencantumkan
NotificationConfig
: Pelihat Konfigurasi Notifikasi Pusat Keamanan (roles/securitycenter.notificationConfigViewer
) atau Editor Konfigurasi Notifikasi Pusat Keamanan (roles/securitycenter.notificationConfigEditor
) - Memperbarui 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 memperbarui temuan, aset, dan sumber keamanan bergantung pada tingkat akses yang diberikan kepada Anda. Untuk mempelajari lebih lanjut peran Security Command Center, lihat Kontrol akses.
Residensi data dan notifikasi
Jika aset data diaktifkan untuk Security Command Center, konfigurasi yang menentukan ekspor berkelanjutan ke resource Pub/Sub—notificationConfig
—tunduk pada kontrol aset 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 domisili, 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 tersebut 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 ulang 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 dalam panduan untuk menyiapkan notifikasi temuan.
Sebelum membuat NotificationConfig
, perhatikan bahwa setiap organisasi dapat memiliki
sejumlah 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
Security Command Center API findings.list
.
Saat membuat NotificationConfig
, Anda menentukan induk untuk
NotificationConfig
dari hierarki resource Google Cloud , baik
organisasi, folder, atau project. Jika Anda perlu mengambil, memperbarui, atau menghapus
NotificationConfig
nanti, Anda harus menyertakan ID numerik
organisasi induk, folder, atau project saat mereferensikannya.
Di konsol Google Cloud , beberapa resource NotificationConfig
mungkin memiliki label Legacy
yang menunjukkan bahwa resource tersebut dibuat dengan Security Command Center API v1. Anda dapat mengelola resource NotificationConfig
ini dengan konsol Google Cloud , 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 yang berlaku untuk notifikasi,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 tempatNotificationConfig
akan dibuat; jika retensi data diaktifkan, gunakaneu
,ksa
, 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 dikirim ke Pub/Sub. Contoh,state=\"ACTIVE\"
.
Terraform
Buat 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_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization
,folder
, atauproject
.PARENT_ID
: ID numerik resource induk.LOCATION
: lokasi Security Command Center tempat untuk mendapatkanNotificationConfig
; jika retensi data diaktifkan, gunakaneu
,ksa
, atauus
; jika tidak, gunakan nilaiglobal
.
Memperbarui NotificationConfig
Untuk memperbarui NotificationConfig
, Anda harus memiliki peran IAM yang mencakup izin securitycenter.notification.update
.
Saat Anda memperbarui menggunakan mask kolom, hanya kolom yang Anda tentukan yang diperbarui. Jika Anda tidak menggunakan mask kolom, semua kolom yang dapat diubah dalam NotificationConfig
akan digantikan oleh nilai baru. Anda dapat menggunakan mask kolom untuk memperbarui 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, perbarui deskripsi NotificationConfig
, topik dan filter Pub/Sub 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_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization
,folder
, atauproject
.PARENT_ID
: ID numerik resource induk.LOCATION
: lokasi Security Command Center tempatNotificationConfig
akan diperbarui; jika retensi data diaktifkan, gunakaneu
,ksa
, 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 dikirim ke Pub/Sub. Contoh,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. 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_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization
,folder
, atauproject
.PARENT_ID
: ID numerik resource induk.LOCATION
: lokasi Security Command CentertempatNotificationConfig
akan dihapus; jika retensi data diaktifkan, gunakaneu
,ksa
, atauus
; jika tidak, gunakan nilaiglobal
.
Mencantumkan NotificationConfigs
Untuk mencantumkan NotificationConfigs
, Anda harus memiliki peran IAM
yang menyertakan izin securitycenter.notification.list
.
Semua daftar Security Command Center API dipaginasi. Setiap respons menampilkan halaman
hasil dan token untuk menampilkan halaman berikutnya. Nilai default pageSize
adalah 10. Anda
dapat mengonfigurasi ukuran halaman minimum 1, dan maksimum 1.000.
Buat daftar NotificationConfigs
menggunakan bahasa pilihan Anda:
gcloud
gcloud scc notifications list PARENT_TYPE/PARENT_ID \ --location=LOCATION
Ganti kode berikut:
PARENT_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganizations
,folders
, atauprojects
.PARENT_ID
: ID numerik resource induk.LOCATION
: lokasi Security Command Center tempat mencantumkan resourceNotificationConfig
; jika retensi data diaktifkan, gunakaneu
,ksa
, atauus
; jika tidak, gunakan nilaiglobal
.
Menerima notifikasi Pub/Sub
Bagian ini memberikan 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"
}
}
Mengonversi 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.