Mengaktifkan notifikasi email dan chat real-time

Ringkasan

Security Command Center memberikan notifikasi real-time tentang temuan di Konsol Google Cloud. Panduan ini menjelaskan cara menggunakan layanan Google Cloud dan API pihak ketiga untuk memperluas fungsi tersebut dan menerima notifikasi yang mendekati 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 login ke Konsol Google Cloud, sehingga penanggulangan kerentanan dan ancaman dapat dilakukan dengan lebih cepat. 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.

Alur kerja notifikasi mendekati real-time (klik untuk memperbesar)
Alur kerja notifikasi hampir real-time untuk Security Command Center (klik untuk memperbesar)

Tujuan

Dalam panduan ini, Anda akan melakukan hal berikut:

  1. Siapkan topik Pub/Sub.
  2. Menyiapkan Slack, WebEx Teams, dan SendGrid Email.
  3. Menulis kode di Cloud Functions.
  4. Konfigurasikan Pub/Sub dan Cloud Functions untuk mengirim notifikasi ke Slack, WebEx Teams, atau SendGrid Email setiap kali temuan tingkat keparahan tinggi atau kritis baru ditulis ke Security Command Center.
  5. Memecahkan masalah notifikasi.

Biaya

Tutorial ini menggunakan komponen Google Cloud yang dapat ditagih, termasuk:

  • Pub/Sub
  • Cloud Functions
  • Cloud Build

Gunakan kalkulator harga untuk membuat perkiraan biaya berdasarkan proyeksi penggunaan Anda.

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 khusus
  • Buat Akun Layanan (roles/iam.serviceAccountCreator)
  • Editor Pub/Sub (roles/pubsub.editor)
  • Administrator Akun Penagihan (roles/billing.admin)

Peran IAM untuk Security Command Center dapat diberikan di level organisasi, folder, atau project. Kemampuan Anda untuk melihat, mengedit, membuat, atau memperbarui temuan, aset, dan sumber keamanan bergantung pada tingkat yang diberikan akses kepada Anda. Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.

Menyiapkan project

Selesaikan langkah-langkah berikut untuk membuat atau memilih project.

  1. Login ke akun Google Cloud Anda. Jika Anda baru menggunakan Google Cloud, buat akun untuk mengevaluasi performa produk kami dalam skenario dunia nyata. Pelanggan baru juga mendapatkan kredit gratis senilai $300 untuk menjalankan, menguji, dan men-deploy workload.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  4. Enable the Cloud Build API.

    Enable the API

  5. Menginstal Google Cloud CLI.
  6. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init
  7. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  8. Pastikan penagihan telah diaktifkan untuk project Google Cloud Anda.

  9. Enable the Cloud Build API.

    Enable the API

  10. Menginstal Google Cloud CLI.
  11. Untuk initialize gcloud CLI, jalankan perintah berikut:

    gcloud init

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 di antara aplikasi independen. Pelajari Pub/Sub lebih lanjut.

Di bagian ini, Anda akan mengonfigurasi Security Command Center untuk memublikasikan temuan ke topik Pub/Sub.

Untuk menyiapkan dan berlangganan topik Pub/Sub:

  1. Tentukan project Google Cloud Anda di variabel lingkungan.

    export PROJECT_ID=PROJECT_ID
    

    Ganti PROJECT_ID dengan project ID Anda.

  2. Tentukan organisasi Google Cloud Anda dalam variabel lingkungan.

    export ORG_ID=ORG_ID
    

    Ganti ORG_ID dengan ID organisasi Anda.

  3. Tetapkan project ID untuk perintah gcloud.

    gcloud config set project PROJECT_ID
    
  4. Buat topik Pub/Sub tempat notifikasi dipublikasikan.

    gcloud pubsub topics create scc-critical-and-high-severity-findings-topic
    
  5. Tentukan topik dalam variabel lingkungan.

    export TOPIC=projects/$PROJECT_ID/topics/scc-critical-and-high-severity-findings-topic
    
  6. Buat langganan yang memberi tahu Cloud Functions 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
    
  7. 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 aktif dengan tingkat keseriusan tinggi dan kritis. Pelajari lebih lanjut cara memfilter temuan.

     gcloud scc notifications create scc-critical-and-high-severity-findings-notify \
       --pubsub-topic $TOPIC \
       --organization $ORG_ID \
       --filter "(severity=\"HIGH\" OR severity=\"CRITICAL\") AND state=\"ACTIVE\""
    

Selanjutnya, Anda akan membuat atau mengonfigurasi email atau aplikasi chat untuk menerima notifikasi dari Pub/Sub.

Menyiapkan aplikasi pesan

Bagian ini menjelaskan cara menggunakan Pub/Sub dan Cloud Functions untuk mengaktifkan notifikasi yang mendekati real-time untuk Tim SendGrid Email API, Slack, dan WebEx. Klik tab di bawah dan ikuti petunjuk untuk layanan yang dipilih.

Email SendGrid

Untuk mengaktifkan notifikasi email, lakukan hal berikut:

  • Buat akun SendGrid Email API dan dapatkan kunci API.
  • Membuat dan men-deploy Cloud Function yang mengirimkan email saat notifikasi diterima dari Pub/Sub.

Membuat akun SendGrid Email API

Di bagian ini, Anda akan membuat akun SendGrid Email API dan mendapatkan kunci API. Jika Anda sudah mengaktifkan SendGrid, lanjutkan ke bagian Mendapatkan Kunci API Email Sendgrid dan pastikan kunci API yang ada memiliki izin yang memadai.

  1. Buka Konsol Google Cloud.
    Buka konsol Google Cloud
  2. Pada kotak penelusuran di bagian atas halaman, telusuri SendGrid Email API. Penelusuran SendGrid
  3. Pada halaman berikutnya, pilih rencana yang sesuai dengan kebutuhan Anda.

    • Paket gratis ini memungkinkan hingga 12.000 email per bulan dan cukup untuk panduan ini, tetapi organisasi besar mungkin memerlukan lebih banyak email. Jika Anda mengantisipasi volume notifikasi email yang lebih besar, pertimbangkan untuk menambahkan filter tambahan ke notifikasi untuk mengecualikan temuan yang berisik.
    • Anda mungkin diminta untuk memilih project yang akan dikaitkan dengan SendGrid. Lanjutkan dengan memilih project. Anda mungkin memerlukan izin yang memadai guna mengelola pembelian untuk akun penagihan terkait project.
  4. Tinjau persyaratannya, dan jika Anda merasa puas, klik Berlangganan.

  5. Aktifkan layanan SendGrid dengan mengklik Register with SendGrid.

  6. Pada layar pendaftaran, masukkan nama pengguna, sandi, dan alamat email. Setujui persyaratan layanan, lalu klik Lanjutkan.

  7. Pada dialog konfirmasi, klik Kembali ke Google.

Mendapatkan kunci SendGrid Email API

  1. Klik Manage API keys on SendGrid website. Tab baru akan terbuka untuk situs SendGrid. Mengelola kunci API

  2. Isi formulir atau login, jika diminta. Kemudian, klik Mulai!

  3. Di panel menu, luaskan Settings, lalu klik API Keys.

  4. Pada layar berikutnya, klik tombol Create API Key.

  5. Di bagian API Key Name, masukkan "SCC Email Notifications", pilih Full Access, lalu klik tombol Create & View.

    Nama kunci API

  6. Kunci API akan ditampilkan. Catat nilainya. Anda akan memerlukannya di bagian berikutnya.

  7. Klik Done. Anda akan dihadapkan pada kumpulan kunci API saat ini. Tutup tab tersebut dan kembali ke konsol Google Cloud.

Selanjutnya, Anda men-deploy Cloud Function untuk mengirim notifikasi ke alamat email.

Membuat Cloud Function SendGrid

Di bagian ini, Anda akan men-deploy fungsi yang mengirimkan notifikasi ke akun email Anda.

  1. Buka Cloud Functions.
    Buka Cloud Functions

  2. Pastikan Anda menggunakan PROJECT_ID yang sama dengan yang digunakan untuk membuat topik Pub/Sub.

  3. Klik Create Function. Fungsi SendGrid

  4. Tetapkan Nama fungsi ke send-high-and-critical-finding-email-notification dan Jenis pemicu ke Pub/Sub.

  5. Pilih topik Pub/Sub yang Anda buat di Menyiapkan topik Pub/Sub.

  6. Klik Simpan, lalu klik Berikutnya.

  7. 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 Cloud Functions.

  8. Dalam daftar file, klik requirements.txt dan tambahkan baris berikut ke kolom teks: sendgrid.

    Persyaratan SendGrid

  9. Klik main.py dan ganti konten 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)
    
  10. Ganti kode berikut:

    • Ubah noreply@yourdomain.com ke alamat email yang Anda inginkan untuk mengirim 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 variabel dinamis yang ditetapkan ke, misalnya, daftar bergilir orang yang sedang dalam panggilan.
    • Ubah $SENDGRID_EMAIL_API_KEY ke kunci API yang sudah Anda miliki atau yang Anda buat di bagian sebelumnya.
  11. Buka kolom Titik entri dan masukkan nama fungsi dalam cuplikan kode (dalam contoh ini send_email_notification).

  12. Klik Deploy. Anda akan kembali ke daftar Cloud Functions tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, artinya fungsi telah berhasil di-deploy. Proses ini dapat memakan waktu beberapa menit. Deploy fungsi SendGrid

Slack

Untuk mengirim notifikasi ke saluran Slack, Anda perlu melakukan hal berikut:

  • Buat aplikasi Slack baru dengan hak istimewa yang memadai untuk memposting pesan ke saluran Slack publik.
  • Membuat dan men-deploy Cloud Function yang memposting pesan chat ke Slack saat notifikasi diterima dari Pub/Sub.

Membuat aplikasi Slack baru

Di bagian ini, Anda akan membuat aplikasi Slack baru untuk menerima notifikasi.

  1. Buka aplikasi Slack API. Halaman akan terbuka di tab baru.
  2. Login atau buat akun.

  3. Pilih Create an App.

  4. Setel App Name ke "SCC Finding Notifier".

  5. Pilih Development Slack Workspace tempat Anda ingin Slack Bot memposting pesan, lalu klik Create App.

  6. Di panel navigasi, pilih OAuth & Izin.

    Izin Slack

  7. Buka bagian Cakupan. Ruang lingkup dibagi menjadi dua kategori:

    • Cakupan Token Bot
    • Cakupan Token Pengguna
  8. Untuk latihan ini, Anda tidak perlu menambahkan Cakupan Token Pengguna. Di bagian Bot Token Scopes, klik Add an OAuth Scope, lalu masukkan:

    • chat:write
    • chat:write.public

      Cakupan Slack
  9. Scroll ke bagian atas halaman OAuth & Permissions, lalu klik Instal Aplikasi ke Ruang Kerja.

  10. Pada dialog konfirmasi, klik Izinkan.

  11. Salin Token Akses OAuth Pengguna Bot untuk digunakan di Cloud Function.

Selanjutnya, Anda men-deploy Cloud Function untuk mengirim notifikasi ke grup Slack.

Membuat Cloud Function Slack

Di bagian ini, Anda akan men-deploy fungsi untuk mengirim notifikasi ke akun Slack.

  1. Buka Cloud Functions.
    Buka Cloud Functions

  2. Pastikan Anda menggunakan PROJECT_ID yang sama tempat topik Pub/Sub dibuat.

  3. Klik Create Function. Fungsi SendGrid

  4. Tetapkan Nama fungsi ke slack-chat-high-and-critical-findings dan Jenis pemicu ke Pub/Sub.

  5. Pilih topik Pub/Sub yang Anda buat di Menyiapkan topik Pub/Sub.

  6. Klik Simpan, lalu klik Berikutnya.

  7. 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 Cloud Functions.

  8. Buka daftar file. Klik requirements.txt, lalu tambahkan hal berikut: requests. Persyaratan Slack

  9. Klik main.py dan ganti kontennya 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!"
        })
    
  10. Ganti BOT_ACCESS_TOKEN dengan Token Akses OAuth Pengguna Bot yang Anda buat dengan aplikasi Slack.

  11. Buka kolom Entry point dan masukkan nama fungsi dalam cuplikan kode (send_slack_chat_notification, dalam contoh ini).

  12. Klik Deploy. Anda akan kembali ke daftar Cloud Functions tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, artinya fungsi telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit. Pesan muncul di saluran Slack #general. Fungsi Slack

WebEx

Untuk mengirim notifikasi ke akun WebEx Teams Anda, lakukan hal berikut:

  • 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.
  • Membuat dan men-deploy Cloud Function yang berlangganan Pub/Sub dan memposting pesan chat ke WebEx saat notifikasi diterima dari topik Pub/Sub.

Membuat akun layanan

Cloud Functions, secara default, tidak dapat mengambil aset dari Security Command Center. Di bagian ini, Anda akan menyediakan akun layanan yang dapat digunakan Cloud Functions untuk mengambil aset yang terkait dengan temuan.

  1. Beri nama akun layanan Anda dan tentukan sebagai variabel lingkungan.

    export SERVICE_ACCOUNT=ACCOUNT_NAME
    
  2. 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
    
  3. 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'
    

Membuat Bot Webex

Di bagian ini, Anda akan membuat WebEx Bot yang memposting pesan ke ruang kerja.

  1. Login ke akun WebEx Teams Anda dan buka halaman New Bot.

  2. Tetapkan Nama Bot ke "SCC Finding Notifier".

  3. Pilih Nama Pengguna Bot yang deskriptif tetapi unik (your-name-scc-finding-notifier-demo).

  4. Di bagian Ikon, pilih Default 1.

  5. Setel Description ke "Bot yang memberi tahu tim saat temuan tingkat keseriusan baru yang tinggi atau kritis dipublikasikan ke Security Command Center".

  6. Klik Tambahkan Bot.

  7. Di halaman konfirmasi, salin Bot Access Token dan simpan untuk digunakan di Cloud Function.

Tambahkan Webex Bot ke ruang kerja

Di bagian ini, Anda akan menambahkan Bot WebEx ke ruang kerja.

  1. Di WebEx Space tempat Anda ingin Bot memposting notifikasi, luaskan panel aktivitas. Panel WebEx

  2. Pilih Tambahkan Orang.

  3. Ketik "SCC Finding Notifier" di kolom teks, lalu pilih bot yang Anda buat dari menu drop-down. Tambahkan WebEx

  4. Pilih tombol Tambahkan, lalu tutup panel.

  5. Dapatkan ID Room ruang kerja untuk Cloud Function. 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 ruangan tempat Anda berada. Ruang WebEx

  6. Buka panel penelusuran.

  7. Pilih tab berlabel Coba di bagian atas panel.

  8. Biarkan semua opsi tetap pada nilai defaultnya, lalu klik Run.

  9. Di tab Response, Anda akan menerima respons berformat JSON dengan daftar items, atau ruangan. Temukan title ruangan tempat Anda ingin notifikasi muncul dan catat nilai id terkait. Respons
WebEx

Selanjutnya, Anda men-deploy Cloud Function untuk mengirim notifikasi ke ruang kerja WebEx.

Membuat WebEx Cloud Function

Di bagian ini, Anda akan men-deploy fungsi untuk mengirim notifikasi ke akun WebEx.

  1. Buka Cloud Functions.
    Buka Cloud Functions

  2. Pilih PROJECT_ID yang sama tempat topik Pub/Sub dibuat.

  3. Klik Create Function. Fungsi WebEx

  4. Tetapkan Nama fungsi ke webex-teams-high-and-critical-findings dan Jenis pemicu ke Pub/Sub.

  5. Pilih topik Pub/Sub yang Anda buat di Menyiapkan topik Pub/Sub.

  6. Luaskan kolom Variabel, Jaringan, dan Setelan Lanjutan.

  7. Di bagian Akun layanan, filter dan pilih akun layanan webex-cloud-function-sa yang Anda buat. Variabel WebEx

  8. Klik Simpan, lalu klik Berikutnya.

  9. 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 Cloud Functions.

  10. Buka daftar file. Klik requirements.txt dan tambahkan hal berikut:

    • requests==2.25.1
    • google-cloud-securitycenter==1.1.0 Persyaratan WebEx
  11. Klik main.py dan ganti konten 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}"},
        )
    
  12. Ganti kode berikut:

    • WEBEX_TOKEN dengan Bot Access Token dari bagian Membuat Bot WebEx.
    • ROOM_ID dengan ID Room dari bagian Tambahkan WebEx Bot ke ruang kerja.
  13. Buka kolom Entry point dan masukkan nama fungsi dalam cuplikan kode (send_webex_teams_notification, dalam contoh ini).

  14. Klik Deploy. Anda akan kembali ke daftar Cloud Functions tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, artinya fungsi telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit. Men-deploy WebEx

Jika langkah sebelumnya untuk layanan yang dipilih selesai tanpa error, berarti penyiapan telah selesai dan Anda akan mulai menerima notifikasi. Harap diingat:

  • Anda akan menerima email atau pesan chat terpisah untuk setiap temuan kritis atau tingkat keseriusan tinggi. Frekuensi atau jumlah notifikasi bergantung pada resource dalam organisasi Anda.
  • Notifikasi dipublikasikan dan dikirim hampir secara real time. Namun, email atau pesan yang segera dikirim tidak dijamin dan beberapa faktor dapat menyebabkan penundaan, termasuk masalah pada SendGrid, sistem email Anda, Slack, atau WebEx.

Untuk mengubah alur kerja notifikasi, Anda dapat melakukan hal berikut:

  • Ubah penerima dengan memperbarui Cloud Function Anda.
  • Ubah temuan yang memicu notifikasi dengan memperbarui filter untuk topik Pub/Sub.

Notifikasi pengujian

Untuk menguji apakah notifikasi dikonfigurasi dengan benar, ikuti petunjuk di bawah ini untuk beralih antara temuan tingkat keparahan tinggi antara status aktif dan tidak aktif.

  1. Buka halaman Security Command Center Findings.
    Buka halaman Temuan
  2. Pilih organisasi Anda, jika diminta.
  3. Di panel Quick filters, scroll ke bawah ke bagian Severity, lalu pilih High atau Critical. Panel Hasil kueri diperbarui untuk menampilkan temuan hanya terkait tingkat keparahan yang dipilih.
  4. Di panel Findings query results, pilih temuan dengan mencentang kotak di samping namanya.
  5. Dari menu Ubah status aktif di panel tindakan Menemukan hasil kueri, pilih Tidak aktif. Jika kueri temuan saat ini hanya menampilkan temuan aktif, temuan tersebut akan dihapus dari hasil kueri.
  6. Di panel Filter cepat, scroll ke bawah ke bagian Status, lalu ubah pilihan sehingga hanya Tidak aktif yang dipilih. Panel Menemukan hasil kueri diperbarui untuk hanya menampilkan temuan yang tidak aktif.
  7. Di panel Findings query results, pilih temuan yang Anda tandai sebagai tidak aktif.
  8. Dari menu Change active state di panel tindakan Findings query results, pilih Active.
  9. Periksa email atau layanan pesan Anda dan Anda akan melihat pesan yang mirip dengan gambar di bawah ini.

Email:

Notifikasi email

{i>Slack<i}:

Notifikasi Slack

Pesan yang dikirim ke WebEx, yang berisi informasi selengkapnya dalam panduan ini, menyerupai gambar berikut.

Notifikasi WebEx

Pemecahan masalah

Jika email atau pesan chat tidak dikirim atau diterima, ikuti langkah-langkah di bawah ini untuk mengidentifikasi dan menyelesaikan potensi masalah.

  • Email SendGrid:

    • Agar email tidak masuk ke folder spam, tambahkan nilai from_email ke daftar email yang diizinkan atau konfigurasikan autentikasi pengirim di SendGrid.
    • Pastikan Anda tidak melebihi batas kapasitas untuk paket SendGrid Anda.
    • Email yang gagal 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.
  • SendGrid Email, Slack, dan WebEx:

    1. Periksa log Stackdriver untuk Cloud Function Anda guna menentukan apakah fungsi tersebut dipanggil. Jika tidak dipanggil, pastikan notifikasi disiapkan dengan benar.

    2. Jika sedang dipanggil, Cloud Function mungkin mengalami error. Periksa error di Cloud Functions menggunakan Error Reporting Google Cloud Console.

Pembersihan

Agar tidak menimbulkan biaya pada akun Google Cloud Anda untuk resource yang digunakan dalam tutorial ini, hapus project yang berisi resource, atau simpan project dan hapus resource satu per satu.

Menghapus project

  1. Di konsol Google Cloud, buka halaman Manage resource.

    Buka Manage resource

  2. Pada daftar project, pilih project yang ingin Anda hapus, lalu klik Delete.
  3. Pada dialog, ketik project ID, lalu klik Shut down untuk menghapus project.

Menghapus resource individual

  1. Hapus konfigurasi notifikasi Anda:

    gcloud scc notifications delete organizations/ORG_ID/notificationConfigs/scc-critical-and-high-severity-findings-notify
    

    Ganti ORG_ID dengan ID organisasi Anda.

    Untuk mempertahankan konfigurasi Anda dan menjeda notifikasi untuk sementara waktu, jadikan panggilan send atau post sebagai komentar di Cloud Function Anda.

  2. Hapus Cloud Function Anda:

    1. Buka Cloud Functions.
      Buka Cloud Functions
    2. Klik kotak centang di samping fungsi yang ingin Anda hapus.
    3. Klik Delete .
  3. Hapus akun layanan:

    1. Buka halaman Akun layanan.
      Buka halaman Akun layanan
    2. Pilih project.
    3. Pilih akun layanan yang ingin Anda hapus, lalu klik Hapus .

Langkah selanjutnya