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, pelanggan Security Command Center Premium 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 penemuan.
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
: Security Center Notification Configurations Viewer (roles/securitycenter.notificationConfigViewer
) atau Security Center Notification Configurations Editor (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 Anda terima. Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.
Notifikasi dan residensi data
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 tempat tinggal, 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 ulang di lokasi baru.
Untuk mengambil ekspor berkelanjutan menggunakan panggilan API,
Anda harus menentukan lokasi dalam nama resource lengkap
notificationConfig
. Contoh:
GET https://securitycenter.googleapis.com/v2/organizations/123/locations/eu/notificationConfigs/my-pubsub-export-01
Demikian pula, untuk mengambil ekspor berkelanjutan menggunakan gcloud CLI,
Anda harus menentukan lokasi menggunakan flag --location
. Contoh:
gcloud scc notifications describe myContinuousExport --organization=123 \ --location=us
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 untuk menyiapkan topik Pub/Sub dalam 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 hierarki resource Google Cloud, baik
organisasi, folder, maupun project. Jika perlu mengambil, memperbarui, atau menghapus NotificationConfig
nanti, Anda harus menyertakan ID numerik organisasi, folder, atau project induk saat mereferensikannya.
Di konsol Google Cloud, beberapa resource NotificationConfig
mungkin memiliki label Lama, 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 antara 1 dan 128 karakter dan hanya boleh berisi karakter alfanumerik, garis bawah, atau tanda hubung.PARENT
: cakupan dalam hierarki resource tempat notifikasi berlaku,organization
,folder
, atauproject
.PARENT_ID
: ID organisasi induk, folder, atau project, yang ditentukan dalam formatorganizations/123
,folders/456
, atauprojects/789
.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat membuatNotificationConfig
; jika aset data tidak diaktifkan, 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 yang dikirim ke Pub/Sub. Contoh,state=\"ACTIVE\"
.
Go
Java
Node.js
Python
Notifikasi kini dipublikasikan ke topik Pub/Sub yang Anda tentukan.
Untuk memublikasikan notifikasi, akun layanan akan 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 pemberitahuan.PARENT_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization
,folder
, atauproject
.PARENT_ID
: ID numerik resource induk.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat mendapatkanNotificationConfig
; jika aset data tidak diaktifkan, gunakan nilaiglobal
.
Memperbarui NotificationConfig
Untuk memperbarui NotificationConfig
, Anda harus memiliki peran IAM
yang menyertakan izin securitycenter.notification.update
.
Saat Anda memperbarui menggunakan mask kolom, hanya kolom yang Anda tentukan yang akan diperbarui. Jika
Anda tidak menggunakan mask kolom, semua kolom yang dapat diubah di NotificationConfig
akan diganti dengan 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
di topik tersebut.
Setelah Anda memberikan izin yang diperlukan, perbarui 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 pemberitahuan.PARENT_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization
,folder
, atauproject
.PARENT_ID
: ID numerik resource induk.LOCATION
: jika data residency diaktifkan, lokasi Security Command Center tempat memperbaruiNotificationConfig
; jika data residency tidak diaktifkan, 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
akan tetap ada di topik Pub/Sub. Jika Anda tidak menggunakan topik Pub/Sub
di NotificationConfig
lainnya, 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 pemberitahuan.PARENT_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganization
,folder
, atauproject
.PARENT_ID
: ID numerik resource induk.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat menghapusNotificationConfig
; jika aset data tidak diaktifkan, gunakan nilaiglobal
.
Mencantumkan NotificationConfigs
Untuk mencantumkan NotificationConfigs
, Anda harus memiliki peran IAM
yang menyertakan izin securitycenter.notification.list
.
Semua daftar Security Command Center API diberi penomoran halaman. Setiap respons menampilkan halaman
hasil dan token untuk menampilkan halaman berikutnya. pageSize
default adalah 10. Anda
dapat mengonfigurasi ukuran halaman 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_TYPE
tingkat hierarki resource tempat konfigurasi ditentukan; gunakanorganizations
,folders
, atauprojects
.PARENT_ID
: ID numerik resource induk.LOCATION
: jika aset data diaktifkan, lokasi Security Command Center tempat mencantumkan resourceNotificationConfig
; jika aset data tidak diaktifkan, 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"
}
}
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 selanjutnya
- Pelajari cara memfilter notifikasi.