Mengaktifkan notifikasi chat dan email real-time

Ringkasan

Security Command Center memberikan notifikasi temuan secara real time di konsol Google Cloud. Panduan ini menjelaskan cara menggunakan layanan Google Cloud dan API pihak ketiga untuk memperluas fungsi tersebut dan 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 login ke konsol Google Cloud, sehingga Anda dapat melakukan triase kerentanan dan ancaman 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 hampir real-time (klik untuk memperbesar)
Alur kerja notifikasi mendekati 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 Email SendGrid.
  3. Menulis kode di fungsi Cloud Run.
  4. Konfigurasikan fungsi Pub/Sub dan Cloud Run untuk mengirim notifikasi ke Slack, WebEx Teams, atau Email SendGrid setiap kali temuan baru dengan tingkat keparahan tinggi atau kritis ditulis ke Security Command Center.
  5. Memecahkan masalah notifikasi.

Biaya

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

  • Pub/Sub
  • Fungsi Cloud Run
  • 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)
  • Security Center Admin (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)
  • Billing Account Administrator (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 Anda terima. Untuk mempelajari peran Security Command Center lebih lanjut, lihat Kontrol akses.

Menyiapkan project

Selesaikan langkah-langkah berikut untuk membuat atau memilih project.

  1. 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.
  2. Di konsol Google Cloud, pada halaman pemilih project, pilih atau buat project Google Cloud.

    Buka pemilih project

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Aktifkan API Cloud Build .

    Mengaktifkan API

  5. Install the Google Cloud CLI.
  6. To initialize the gcloud CLI, run the following command:

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

    Buka pemilih project

  8. Make sure that billing is enabled for your Google Cloud project.

  9. Aktifkan API Cloud Build .

    Mengaktifkan API

  10. Install the Google Cloud CLI.
  11. To initialize the gcloud CLI, run the following command:

    gcloud init

Perkiraan waktu: diperlukan waktu sekitar satu jam untuk menyiapkan dan menguji pemberitahuan 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:

  1. Tentukan project Google Cloud Anda dalam 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 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
    
  7. Konfigurasikan 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\""
    

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 SendGrid Email API, Slack, dan WebEx Teams.

Email SendGrid

Untuk mengaktifkan notifikasi email, lakukan hal berikut:

  • Buat akun SendGrid Email API dan dapatkan kunci API.
  • Buat dan deploy fungsi Cloud Run yang mengirim 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 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. Di kotak penelusuran di bagian atas halaman, telusuri SendGrid Email API. Penelusuran SendGrid
  3. Di halaman berikutnya, pilih paket yang sesuai dengan kebutuhan Anda.

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

  5. Aktifkan layanan SendGrid dengan mengklik Daftar dengan SendGrid.

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

  7. Pada dialog konfirmasi, klik Kembali ke Google.

Mendapatkan kunci SendGrid Email API

  1. Klik Kelola kunci API di situs SendGrid. 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 Setelan, lalu klik Kunci API.

  4. Di 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. Anda akan melihat kunci API. Catat nilainya. Anda memerlukannya di bagian berikutnya.

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

Selanjutnya, Anda akan men-deploy fungsi Cloud Run untuk mengirim notifikasi ke alamat email.

Membuat fungsi Cloud Run SendGrid

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

  1. Buka Cloud Run Functions.
    Buka fungsi Cloud Run

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

  3. Klik Create Function. Fungsi SendGrid

  4. Tetapkan Function name ke send-high-and-critical-finding-email-notification dan Trigger type ke Pub/Sub.

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

  6. Klik Save, lalu klik Next.

  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 fungsi Cloud Run.

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

    Persyaratan SendGrid

  9. Klik main.py dan ganti kontennya 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 menjadi alamat email yang ingin Anda gunakan sebagai asal pesan.
    • Ubah$EMAIL_ADDRESS ke alamat email penerima yang dimaksud. Catatan: Variabel ini dapat menyimpan array alamat email (['user1@yourdomain.com', 'user2@yourdomain.com']) atau Anda dapat menulis kode kustom untuk membuat variabel dinamis ditetapkan ke, misalnya, daftar individu yang bergantian yang siap dihubungi.
    • Ubah $SENDGRID_EMAIL_API_KEY menjadi kunci API yang sudah Anda miliki atau kunci yang Anda buat di bagian sebelumnya.
  11. Buka kolom Titik entri dan masukkan nama fungsi dalam cuplikan kode (send_email_notification, dalam contoh ini).

  12. Klik Deploy. Anda akan dikembalikan ke daftar fungsi Cloud Run, tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, berarti fungsi tersebut telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit. Deployment fungsi SendGrid

Slack

Untuk mengirim notifikasi ke saluran Slack, lakukan hal berikut:

  • Buat aplikasi Slack baru dengan hak istimewa yang memadai untuk memposting pesan ke saluran Slack publik.
  • Buat dan deploy fungsi Cloud Run 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 Buat Aplikasi.

  4. Tetapkan Nama Aplikasi 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. Cakupan terbagi menjadi dua kategori:

    • Cakupan Token Bot
    • Cakupan Token Pengguna
  8. Untuk latihan ini, Anda tidak perlu menambahkan Cakupan Token Pengguna. Di bagian Cakupan Token Bot, klik Tambahkan Cakupan OAuth dan masukkan:

    • chat:write
    • chat:write.public

      Cakupan Slack
  9. Scroll ke bagian atas halaman OAuth & Izin, lalu klik Instal Aplikasi ke Workspace.

  10. Pada dialog konfirmasi, klik Izinkan.

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

Selanjutnya, Anda akan men-deploy fungsi Cloud Run untuk mengirim notifikasi ke grup Slack.

Membuat fungsi Cloud Run Slack

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

  1. Buka Cloud Run Functions.
    Buka fungsi Cloud Run

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

  3. Klik Create Function. Fungsi SendGrid

  4. Tetapkan Function name ke slack-chat-high-and-critical-findings dan Trigger type ke Pub/Sub.

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

  6. Klik Save, lalu klik Next.

  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 fungsi Cloud Run.

  8. Buka daftar file. Klik requirements.txt dan 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 Titik entri dan masukkan nama fungsi dalam cuplikan kode (send_slack_chat_notification, dalam contoh ini).

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

WebEx

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

  • Buat akun layanan baru yang memiliki izin untuk mengambil aset dari Pusat Komando Keamanan.
  • Buat WebEx Bot baru dengan hak istimewa yang memadai untuk memposting pesan ke ruang kerja Anda.
  • Buat dan deploy fungsi Cloud Run yang berlangganan Pub/Sub dan memposting pesan chat ke WebEx saat notifikasi diterima dari topik Pub/Sub.

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.

  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." \
       --role='roles/securitycenter.assetsViewer'
    

Membuat Bot Webex

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

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

  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 Icon, pilih Default 1.

  5. Tetapkan Deskripsi ke "Bot yang memberi tahu tim saat temuan baru dengan tingkat keparahan tinggi atau kritis dipublikasikan ke Security Command Center".

  6. Klik Tambahkan Bot.

  7. Di halaman konfirmasi, salin Token Akses Bot dan simpan untuk digunakan di fungsi Cloud Run.

Menambahkan Webex Bot ke ruang kerja

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

  1. Di Ruang WebEx 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. Penambahan WebEx

  4. Pilih tombol Add, lalu tutup panel.

  5. 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 yang menjadi bagian Anda. 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 ruang tempat Anda ingin notifikasi muncul dan catat nilai id terkait. Respons
WebEx

Selanjutnya, Anda akan men-deploy fungsi Cloud Run untuk mengirim notifikasi ke ruang kerja WebEx.

Membuat fungsi WebEx Cloud Run

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

  1. Buka Cloud Run Functions.
    Buka fungsi Cloud Run

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

  3. Klik Create Function. Fungsi WebEx

  4. Tetapkan Function name ke webex-teams-high-and-critical-findings dan Trigger type ke Pub/Sub.

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

  6. Luaskan kolom Variables, Networking and Advanced Settings.

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

  8. Klik Save, lalu klik Next.

  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 fungsi Cloud Run.

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

    • requests==2.25.1
    • google-cloud-securitycenter==1.1.0 Persyaratan WebEx
  11. Klik main.py dan ganti kontennya 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 Token Akses Bot dari bagian Buat Bot WebEx.
    • ROOM_ID dengan ID Ruang dari bagian Tambahkan WebEx Bot ke ruang kerja.
  13. Buka kolom Titik entri dan masukkan nama fungsi dalam cuplikan kode (send_webex_teams_notification, dalam contoh ini).

  14. Klik Deploy. Anda akan dikembalikan ke daftar fungsi Cloud Run, tempat Anda akan melihat fungsi baru. Jika tanda centang hijau muncul di samping nama fungsi, berarti fungsi tersebut telah berhasil di-deploy. Proses ini dapat memerlukan waktu beberapa menit.Deployment WebEx

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

  • Anda akan menerima email atau pesan chat terpisah untuk setiap temuan kritis atau dengan tingkat keparahan 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 keterlambatan, termasuk masalah pada SendGrid, sistem email Anda, Slack, atau WebEx.

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

  • Ubah penerima dengan memperbarui fungsi Cloud Run 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 untuk mengalihkan temuan tingkat keparahan tinggi antara status aktif dan nonaktif.

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

Email:

Notifikasi email

Slack:

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 untuk mengidentifikasi dan menyelesaikan potensi masalah.

  • Email SendGrid:

    • Untuk menghentikan email agar 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.
  • Email SendGrid, Slack, dan WebEx:

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

    2. Jika fungsi Cloud Run sedang dipanggil, fungsi tersebut mungkin error. Periksa error dalam fungsi Cloud Run menggunakan Error Reporting konsol Google Cloud.

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.

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 satu per satu

  1. 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, komentarkan panggilan send atau post di fungsi Cloud Run Anda.

  2. Menghapus fungsi Cloud Run:

    1. Buka Cloud Run Functions.
      Buka fungsi Cloud Run
    2. Klik kotak centang di samping fungsi yang ingin dihapus.
    3. Klik Hapus .
  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