Ringkasan
Security Command Center memberikan notifikasi real-time tentang temuan di Google Cloud konsol. Panduan ini menjelaskan cara menggunakan layanan Google Cloud dan API pihak ketiga untuk memperluas fungsi tersebut serta menerima notifikasi hampir real-time di aplikasi email dan chat. Setelah menyelesaikan panduan ini, Anda akan mendapatkan pemberitahuan tentang temuan baru di layanan pihak ketiga yang dikonfigurasi tanpa harus login ke konsol, sehingga memungkinkan penanganan kerentanan dan ancaman yang lebih cepat. Google Cloud Pelajari lebih lanjut berbagai jenis kerentanan dan ancaman di Security Command Center.
Topologi
Dalam panduan ini, Anda akan membuat konfigurasi yang diilustrasikan dalam diagram berikut.
Tujuan
Dalam panduan ini, Anda akan melakukan hal berikut:
- Siapkan topik Pub/Sub.
- Siapkan Slack, WebEx Teams, dan Twilio SendGrid Mail.
- Menulis kode di fungsi Cloud Run.
- Konfigurasi fungsi Pub/Sub dan Cloud Run untuk mengirim notifikasi ke Slack, WebEx Teams, atau Twilio Sendgrid Mail setiap kali temuan dengan tingkat keparahan tinggi atau kritis ditulis ke Security Command Center.
- Memecahkan masalah notifikasi.
Biaya
Tutorial ini menggunakan komponen Google Cloudyang dapat ditagih, termasuk:
- Pub/Sub
- Cloud Run Functions
- Cloud Build
Gunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan penggunaan yang Anda proyeksikan.
Sebelum memulai
Untuk menyelesaikan panduan ini, Anda harus memiliki peran Identity and Access Management (IAM) berikut:
- Admin Organisasi (
roles/resourcemanager.organizationAdmin
) - Admin Pusat Keamanan (
roles/securitycenter.admin
) - (
roles/iam.securityAdmin
) Security Admin - Peran dengan izin
serviceusage.services.use
, seperti Pemilik (roles/owner
), Editor (roles/editor
), atau peran kustom - Buat Akun Layanan (
roles/iam.serviceAccountCreator
) - Pub/Sub Editor (
roles/pubsub.editor
) - Administrator Akun Penagihan (
roles/billing.admin
)
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.
Menyiapkan project
Selesaikan langkah-langkah berikut untuk membuat atau memilih project.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Build API.
-
Install the Google Cloud CLI.
-
Jika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu.
-
Untuk melakukan inisialisasi gcloud CLI, jalankan perintah berikut:
gcloud init
Tentukan project Google Cloud Anda dalam variabel lingkungan.
export PROJECT_ID=PROJECT_ID
Ganti PROJECT_ID dengan project ID Anda.
Tentukan organisasi Google Cloud Anda dalam variabel lingkungan.
export ORG_ID=ORG_ID
Ganti ORG_ID dengan ID organisasi Anda.
Tetapkan project ID untuk perintah
gcloud
.gcloud config set project PROJECT_ID
Buat topik Pub/Sub tempat notifikasi dipublikasikan.
gcloud pubsub topics create scc-critical-and-high-severity-findings-topic
Tentukan topik dalam variabel lingkungan.
export TOPIC=projects/$PROJECT_ID/topics/scc-critical-and-high-severity-findings-topic
Buat langganan yang memberi tahu fungsi Cloud Run untuk mengirim email atau pesan chat saat pesan dipublikasikan ke topik.
gcloud pubsub subscriptions create scc-critical-and-high-severity-findings-sub \ --topic scc-critical-and-high-severity-findings-topic
Konfigurasi Security Command Center untuk memublikasikan notifikasi ke topik. Filter apa pun yang kompatibel dengan ListFindings API dapat digunakan.
Filter berikut memublikasikan notifikasi untuk temuan tingkat keparahan tinggi dan kritis yang aktif di lokasi
global
. Pelajari lebih lanjut cara memfilter temuan.gcloud scc notifications create scc-critical-high-severity \ --pubsub-topic=$TOPIC \ --organization=$ORG_ID \ --location=global \ --filter "(severity=\"HIGH\" OR severity=\"CRITICAL\") AND state=\"ACTIVE\""
- Buat akun Twilio SendGrid Mail API dan dapatkan kunci API.
- Buat dan deploy fungsi Cloud Run yang mengirim email saat notifikasi diterima dari Pub/Sub.
- Buka konsol Google Cloud .
Buka Google Cloud konsol - Di kotak penelusuran di bagian atas halaman, telusuri
SendGrid Email API.
Di halaman berikutnya, pilih paket yang sesuai dengan kebutuhan Anda.
Jika perlu, lanjutkan dengan memilih project yang akan dikaitkan dengan SendGrid. Anda mungkin memerlukan izin yang memadai untuk mengelola pembelian untuk akun penagihan terkait project.
Tinjau persyaratan dan jika Anda setuju, klik Subscribe.
Aktifkan layanan SendGrid dengan mengklik Daftar ke SendGrid.
Di layar pendaftaran, masukkan nama pengguna, sandi, dan alamat email. Setujui persyaratan layanan, lalu klik Lanjutkan.
Pada dialog konfirmasi, klik Kembali ke Google.
Klik Kelola kunci API di situs SendGrid. Tab baru akan terbuka untuk situs SendGrid.
Isi formulir atau login, jika diminta. Kemudian, klik Mulai.
Di panel menu, luaskan Setelan dan klik Kunci API.
Di layar berikutnya, klik tombol Create API Key.
Di bagian Nama Kunci API, masukkan "Notifikasi Email SCC", pilih Akses Penuh, lalu klik tombol Buat & Lihat.
Anda akan melihat kunci API. Catat nilainya. Anda akan memerlukannya di bagian berikutnya.
Klik Selesai. Anda akan melihat kumpulan kunci API saat ini. Tutup tab dan kembali ke konsol Google Cloud .
Buka Cloud Run Functions.
Buka Cloud Run FunctionsPastikan Anda menggunakan PROJECT_ID yang sama dengan yang Anda gunakan untuk membuat topik Pub/Sub.
Klik Create Function.
Tetapkan Function name ke send-high-and-critical-finding-email-notification dan Trigger type ke Pub/Sub.
Pilih topik Pub/Sub yang Anda buat di Menyiapkan topik Pub/Sub.
Klik Simpan, lalu klik Berikutnya.
Di halaman berikutnya, tetapkan Runtime ke Python 3.8. Contoh kode di bagian ini ditulis dalam Python, tetapi Anda dapat menggunakan bahasa apa pun yang didukung oleh fungsi Cloud Run.
Dalam daftar file, klik requirements.txt dan tambahkan berikut ini ke kolom teks:
sendgrid
.
Klik main.py dan ganti isinya dengan cuplikan kode berikut.
import base64 import json from sendgrid import SendGridAPIClient from sendgrid.helpers.mail import Mail def send_email_notification(event, context): """Triggered from a message on a Pub/Sub topic. Args: event (dict): Event payload. context (google.cloud.functions.Context): Metadata for the event. """ pubsub_message = base64.b64decode(event['data']).decode('utf-8') message_json = json.loads(pubsub_message) message = Mail( from_email='noreply@yourdomain.com', to_emails='$EMAIL_ADDRESS', subject='New High or Critical Severity Finding Detected', html_content='A new high or critical severity finding was detected: ' + ''.join(message_json['finding']['category'])) try: sg = SendGridAPIClient('$SENDGRID_EMAIL_API_KEY') response = sg.send(message) print(response.status_code) print(response.body) print(response.headers) except Exception as e: print(e) print(pubsub_message)
Ganti kode berikut:
- Ubah
noreply@yourdomain.com
menjadi alamat email yang ingin Anda gunakan sebagai asal pesan. - Ubah
$EMAIL_ADDRESS
ke alamat email penerima yang dituju. Catatan: Variabel ini dapat menyimpan array alamat email (['user1@yourdomain.com', 'user2@yourdomain.com']) atau Anda dapat menulis kode kustom untuk membuat set variabel dinamis yang ditetapkan ke, misalnya, daftar individu yang bertugas secara bergiliran. - Ubah
$SENDGRID_EMAIL_API_KEY
menjadi kunci API yang sudah Anda miliki atau yang Anda buat di bagian sebelumnya.
- Ubah
Buka kolom Entry point dan masukkan nama fungsi dalam cuplikan kode (send_email_notification, dalam contoh ini).
Klik Deploy. Anda akan kembali ke daftar fungsi Cloud Run tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, berarti fungsi telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit.
- Buat aplikasi Slack baru dengan hak istimewa yang memadai untuk memposting pesan ke channel Slack publik.
- Buat dan deploy fungsi Cloud Run yang memposting pesan chat ke Slack saat notifikasi diterima dari Pub/Sub.
- Buka aplikasi Slack API. Halaman akan terbuka di tab baru.
Login atau buat akun.
Pilih Buat Aplikasi.
Tetapkan App Name ke "SCC Finding Notifier".
Pilih Development Slack Workspace tempat Anda ingin Slack Bot memposting pesan, lalu klik Create App.
Di panel navigasi, pilih OAuth & Izin.
Buka bagian Cakupan. Cakupan dibagi menjadi dua kategori:
- Cakupan Token Bot
- Cakupan Token Pengguna
Untuk latihan ini, Anda tidak perlu menambahkan Cakupan Token Pengguna. Di bagian Cakupan Token Bot, klik Tambahkan Cakupan OAuth, lalu masukkan:
chat:write
chat:write.public
Scroll ke bagian atas halaman OAuth & Izin, lalu klik Instal Aplikasi ke Workspace.
Pada dialog konfirmasi, klik Izinkan.
Salin Token Akses OAuth Pengguna Bot untuk digunakan di Cloud Function.
Buka Cloud Run Functions.
Buka Cloud Run FunctionsPastikan Anda menggunakan PROJECT_ID yang sama dengan tempat topik Pub/Sub dibuat.
Klik Create Function.
Tetapkan Function name ke slack-chat-high-and-critical-findings dan Trigger type ke Pub/Sub.
Pilih topik Pub/Sub yang Anda buat di Menyiapkan topik Pub/Sub.
Klik Simpan, lalu klik Berikutnya.
Di halaman berikutnya, tetapkan Runtime ke Python 3.8. Contoh kode di bagian ini ditulis dalam Python, tetapi Anda dapat menggunakan bahasa apa pun yang didukung oleh fungsi Cloud Run.
Buka daftar file. Klik requirements.txt dan tambahkan berikut ini:
requests
.Klik main.py dan ganti isinya dengan cuplikan kode berikut.
import base64 import json import requests TOKEN = "BOT_ACCESS_TOKEN" def send_slack_chat_notification(event, context): pubsub_message = base64.b64decode(event['data']).decode('utf-8') message_json = json.loads(pubsub_message) finding = message_json['finding'] requests.post("https://slack.com/api/chat.postMessage", data={ "token": TOKEN, "channel": "#general", "text": f"A high severity finding {finding['category']} was detected!" })
Ganti
BOT_ACCESS_TOKEN
dengan Token Akses OAuth Pengguna Bot yang Anda buat dengan aplikasi Slack.Buka kolom Entry point dan masukkan nama fungsi dalam cuplikan kode (send_slack_chat_notification, dalam contoh ini).
Klik Deploy. Anda akan kembali ke daftar fungsi Cloud Run tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, fungsi telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit. Pesan akan muncul di saluran Slack #general.
- Buat akun layanan baru yang memiliki izin untuk mengambil aset dari Security Command Center.
- Buat Bot WebEx baru dengan hak istimewa yang memadai untuk memposting pesan ke ruang kerja Anda.
- Buat dan deploy fungsi Cloud Run yang berlangganan ke Pub/Sub dan memposting pesan chat ke WebEx saat notifikasi diterima dari topik Pub/Sub.
Beri nama akun layanan Anda dan tetapkan sebagai variabel lingkungan.
export SERVICE_ACCOUNT=ACCOUNT_NAME
Buat akun layanan untuk project Anda.
gcloud iam service-accounts create $SERVICE_ACCOUNT \ --display-name "Service Account for SCC Finding Notifier WebEx Cloud Function" \ --project $PROJECT_ID
Berikan peran
securitycenter.assetsViewer
kepada akun layanan di tingkat organisasi.gcloud organizations add-iam-policy-binding $ORG_ID \ --member="serviceAccount:$SERVICE_ACCOUNT@$PROJECT_ID.iam.gserviceaccount.com" \ --role='roles/securitycenter.assetsViewer'
Login ke akun WebEx Teams Anda dan buka halaman New Bot.
Tetapkan Bot Name ke "SCC Finding Notifier".
Pilih Nama Pengguna Bot yang deskriptif tetapi unik (your-name-scc-finding-notifier-demo).
Di bagian Ikon, pilih Default 1.
Tetapkan Description ke "Bot yang memberi tahu tim saat temuan tingkat keparahan tinggi atau kritis baru dipublikasikan ke Security Command Center."
Klik Tambahkan Bot.
Di halaman konfirmasi, salin Bot Access Token dan simpan untuk digunakan dalam fungsi Cloud Run.
Di Ruang WebEx tempat Anda ingin Bot memposting notifikasi, luaskan panel aktivitas.
Pilih Tambahkan Orang.
Ketik "SCC Finding Notifier" di kolom teks, lalu pilih bot yang Anda buat dari menu drop-down.
Pilih tombol Tambahkan, lalu tutup panel.
Dapatkan ID Ruang ruang kerja untuk fungsi Cloud Run. Di komputer desktop, buka https://developer.webex.com/docs/api/v1/rooms/list- rooms dan login, jika perlu. Halaman ini menggunakan WebEx API untuk mencantumkan ruang tempat Anda bergabung.
Buka panel penelusuran.
Pilih tab berlabel Coba di bagian atas panel.
Biarkan semua opsi tetap pada nilai defaultnya, lalu klik Run.
Di tab Response, Anda akan menerima respons berformat JSON dengan daftar
items
, atau ruangan. Temukantitle
ruangan tempat Anda ingin notifikasi muncul dan catat nilaiid
yang terkait.Buka Cloud Run Functions.
Buka Cloud Run FunctionsPilih PROJECT_ID yang sama dengan tempat topik Pub/Sub dibuat.
Klik Create Function.
Tetapkan Function name ke webex-teams-high-and-critical-findings dan Trigger type ke Pub/Sub.
Pilih topik Pub/Sub yang Anda buat di Menyiapkan topik Pub/Sub.
Luaskan kolom Variables, Networking and Advanced Settings.
Di bagian Akun layanan, filter dan pilih akun layanan
webex-cloud-function-sa
yang Anda buat.Klik Simpan, lalu klik Berikutnya.
Di halaman berikutnya, tetapkan Runtime ke Python 3.8. Contoh kode di bagian ini ditulis dalam Python, tetapi Anda dapat menggunakan bahasa apa pun yang didukung oleh fungsi Cloud Run.
Buka daftar file. Klik requirements.txt, lalu tambahkan kode berikut:
requests==2.25.1
google-cloud-securitycenter==1.1.0
Klik main.py dan ganti isinya dengan cuplikan kode berikut.
#!/usr/bin/env python3 import base64 import json import requests from google.cloud import securitycenter_v1 WEBEX_TOKEN = "WEBEX_TOKEN" ROOM_ID = "ROOM_ID" TEMPLATE = """ **Severity:** {severity}\n **Asset:** {asset}\n **SCC Category:** {category}\n **Project:** {project}\n **First observed:** {create_time}\n **Last observed:** {event_time}\n **Link to finding:** {finding_link} """ PREFIX = "https://console.cloud.google.com/security/command-center/findings" def get_finding_detail_page_link(finding_name): """Constructs a direct link to the finding detail page.""" org_id = finding_name.split("/")[1] return f"{PREFIX}?organizationId={org_id}&resourceId={finding_name}" def get_asset(parent, resource_name): """Retrieves the asset corresponding to `resource_name` from SCC.""" client = securitycenter_v1.SecurityCenterClient() resp = client.list_assets( securitycenter_v1.ListAssetsRequest( parent=parent, filter=f'securityCenterProperties.resourceName="{resource_name}"', ) ) page = next(resp.pages) if page.total_size == 0: return None asset = page.list_assets_results[0].asset return json.loads(securitycenter_v1.Asset.to_json(asset)) def send_webex_teams_notification(event, context): """Send the notification to WebEx Teams.""" pubsub_message = base64.b64decode(event["data"]).decode("utf-8") message_json = json.loads(pubsub_message) finding = message_json["finding"] parent = "/".join(finding["parent"].split("/")[0:2]) asset = get_asset(parent, finding["resourceName"]) requests.post( "https://webexapis.com/v1/messages", json={ "roomId": ROOM_ID, "markdown": TEMPLATE.format( severity=finding["severity"], asset=asset["securityCenterProperties"]["resourceDisplayName"], category=finding["category"], project=asset["resourceProperties"]["project"], create_time=finding["createTime"], event_time=finding["eventTime"], finding_link=get_finding_detail_page_link(finding["name"]), ), }, headers={"Authorization": f"Bearer {WEBEX_TOKEN}"}, )
Ganti kode berikut:
WEBEX_TOKEN
dengan Token Akses Bot dari bagian Membuat Bot WebEx.ROOM_ID
dengan ID Ruang dari bagian Menambahkan Bot WebEx ke ruang kerja.
Buka kolom Entry point dan masukkan nama fungsi dalam cuplikan kode (send_webex_teams_notification, dalam contoh ini).
Klik Deploy. Anda akan kembali ke daftar fungsi Cloud Run tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, berarti fungsi telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit.
- Anda akan menerima email atau pesan chat terpisah untuk setiap temuan dengan tingkat keparahan kritis atau tinggi. Frekuensi atau jumlah notifikasi bergantung pada resource dalam organisasi Anda.
- Notifikasi dipublikasikan dan dikirim hampir secara real-time. Namun, pengiriman email atau pesan secara langsung tidak dijamin dan beberapa faktor dapat menyebabkan penundaan, termasuk masalah pada Twilio Sendgrid Mail, sistem email Anda, Slack, atau WebEx.
- Ubah penerima dengan memperbarui fungsi Cloud Run Anda.
- Ubah temuan yang memicu notifikasi dengan memperbarui filter untuk topik Pub/Sub.
- Buka halaman Temuan Security Command Center.
Buka halaman Temuan - Pilih organisasi Anda jika diminta.
- Di panel Quick filters, scroll ke bawah ke bagian Severity, lalu pilih High atau Critical. Panel Hasil kueri temuan diperbarui untuk menampilkan temuan hanya dari tingkat keparahan yang dipilih.
- Di panel Findings query results, pilih temuan dengan mencentang kotak di samping namanya.
- Dari menu Ubah status aktif di panel tindakan Hasil kueri temuan, pilih Tidak aktif. Jika kueri temuan saat ini hanya menampilkan temuan aktif, temuan akan dihapus dari hasil kueri.
- Di panel Quick filters, scroll ke bawah ke bagian State, lalu ubah pilihan sehingga hanya Inactive yang dipilih. Panel Hasil kueri temuan diperbarui untuk menampilkan hanya temuan yang tidak aktif.
- Di panel Findings query results, pilih temuan yang Anda tandai tidak aktif.
- Dari menu Ubah status aktif di panel tindakan Hasil kueri temuan, pilih Aktif.
Periksa email atau layanan pesan Anda dan Anda akan melihat pesan yang mirip dengan gambar di bawah.
Email Twilio Sendgrid:
- Untuk menghentikan email agar tidak masuk ke folder spam, tambahkan nilai
from_email
ke daftar email yang diizinkan atau konfigurasi autentikasi pengirim di SendGrid. - Pastikan Anda tidak melebihi batas kecepatan untuk paket SendGrid Anda.
- Email yang gagal dikirim dapat dideteksi melalui pelaporan SendGrid.
- Kebijakan DMARC domain atau penyedia email Anda mungkin memblokir email dari pengirim yang tidak diautentikasi. Pelajari cara SendGrid mengelola identitas
pengirim.
Jika terjadi error, coba alamat email lain dalam nilai
from_email
value.
- Kebijakan DMARC domain atau penyedia email Anda mungkin memblokir email dari pengirim yang tidak diautentikasi. Pelajari cara SendGrid mengelola identitas
pengirim.
Jika terjadi error, coba alamat email lain dalam nilai
- Untuk menghentikan email agar tidak masuk ke folder spam, tambahkan nilai
Twilio Sendgrid Mail, Slack, dan WebEx:
Periksa log Stackdriver untuk fungsi Cloud Run Anda guna menentukan apakah fungsi sedang dipanggil. Jika tidak dipanggil, pastikan notifikasi disiapkan dengan benar.
Jika fungsi Cloud Run sedang dipanggil, fungsi tersebut mungkin mengalami error. Periksa error di fungsi Cloud Run menggunakan Google Cloud Error Reporting konsol.
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
Menghapus konfigurasi notifikasi:
gcloud scc notifications delete scc-critical-high-severity \ --organization=ORG_ID \ --location=global
Ganti ORG_ID dengan ID organisasi Anda.
Untuk mempertahankan konfigurasi dan menjeda notifikasi untuk sementara, beri komentar pada panggilan
send
ataupost
di fungsi Cloud Run Anda.Hapus fungsi Cloud Run Anda:
- Buka Cloud Run Functions.
Buka Cloud Run Functions - Klik kotak centang di samping fungsi yang ingin Anda hapus.
- Klik Hapus .
- Buka Cloud Run Functions.
Hapus akun layanan:
- Buka halaman Akun layanan.
Buka halaman Service accounts - Pilih project.
- Pilih akun layanan yang ingin Anda hapus, lalu klik Hapus .
- Buka halaman Akun layanan.
- Baca selengkapnya tentang error notifikasi.
- Pelajari cara memfilter notifikasi.
- Pelajari cara memperbaiki temuan Web Security Scanner dan Security Health Analytics.
Perkiraan waktu: perlu waktu sekitar satu jam untuk menyiapkan dan menguji notifikasi untuk satu layanan.
Menyiapkan topik Pub/Sub
Pub/Sub adalah layanan pesan real-time yang memungkinkan pesan dikirim dan diterima antar-aplikasi independen. Pelajari lebih lanjut Pub/Sub.
Di bagian ini, Anda akan mengonfigurasi Security Command Center untuk memublikasikan temuan ke topik Pub/Sub.
Untuk menyiapkan dan berlangganan topik Pub/Sub:
Selanjutnya, Anda membuat atau mengonfigurasi aplikasi email atau chat untuk menerima notifikasi dari Pub/Sub.
Menyiapkan aplikasi pesan
Bagian ini menjelaskan cara menggunakan Pub/Sub dan fungsi Cloud Run atau fungsi Cloud Run (generasi ke-1) untuk mengaktifkan notifikasi hampir real-time untuk Twilio Sendgrid Mail API, Slack, dan WebEx Teams.
Email Twilio Sendgrid
Untuk mengaktifkan notifikasi email, Anda dapat melakukan langkah-langkah berikut:
Buat akun Twilio Sendgrid Mail API
Di bagian ini, Anda akan membuat akun Twilio SendGrid Mail API dan mendapatkan kunci API. Jika Anda sudah mengaktifkan SendGrid, lanjutkan ke bagian Mendapatkan Kunci API Twilio SendGrid Mail dan pastikan kunci API yang ada memiliki izin yang memadai.
Mendapatkan kunci Twilio SendGrid Mail API
Selanjutnya, Anda men-deploy fungsi Cloud Run untuk mengirim notifikasi ke alamat email.
Buat fungsi Cloud Run SendGrid
Di bagian ini, Anda men-deploy fungsi yang mengirimkan notifikasi ke akun email Anda.
Slack
Untuk mengirim notifikasi ke saluran Slack, Anda melakukan hal berikut:
Membuat aplikasi Slack baru
Di bagian ini, Anda akan membuat aplikasi Slack baru untuk menerima notifikasi.
Selanjutnya, Anda men-deploy fungsi Cloud Run untuk mengirim notifikasi ke grup Slack.
Buat fungsi Cloud Run Slack
Di bagian ini, Anda akan men-deploy fungsi untuk mengirim notifikasi ke akun Slack Anda.
WebEx
Untuk mengirim notifikasi ke akun WebEx Teams Anda, lakukan hal berikut:
Membuat akun layanan
Secara default, fungsi Cloud Run tidak dapat mengambil aset dari Security Command Center. Di bagian ini, Anda akan menyediakan akun layanan yang memungkinkan fungsi Cloud Run mengambil aset yang terkait dengan temuan.
Membuat Bot Webex
Di bagian ini, Anda akan membuat Bot WebEx yang memposting pesan ke ruang kerja Anda.
Menambahkan Bot Webex ke ruang kerja
Di bagian ini, Anda akan menambahkan Bot WebEx ke ruang kerja.
Selanjutnya, Anda men-deploy fungsi Cloud Run untuk mengirim notifikasi ke ruang kerja WebEx Anda.
Buat fungsi WebEx Cloud Run
Di bagian ini, Anda akan men-deploy fungsi untuk mengirim notifikasi ke akun WebEx Anda.
Jika langkah-langkah sebelumnya untuk layanan yang Anda pilih selesai tanpa error, penyiapan selesai dan Anda mulai menerima notifikasi. Harap diingat:
Untuk mengubah alur kerja notifikasi, Anda dapat melakukan hal berikut:
Menguji notifikasi
Untuk menguji apakah notifikasi dikonfigurasi dengan benar, ikuti petunjuk di bawah untuk mengalihkan temuan tingkat keparahan tinggi antara status aktif dan nonaktif.
Email:
Slack:
Pesan yang dikirim ke WebEx, yang berisi informasi selengkapnya dalam panduan ini, menyerupai gambar berikut.
Pemecahan masalah
Jika email atau pesan chat tidak dikirim atau diterima, ikuti langkah-langkah di bawah untuk mengidentifikasi dan menyelesaikan potensi masalah.
Pembersihan
Agar tidak dikenai biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource tersebut, atau simpan project dan hapus setiap resource.