Mengumpulkan log Oracle Cloud Infrastructure - Oracle Cloud Guard

Didukung di:

Dokumen ini menjelaskan cara mengonfigurasi Oracle Cloud Infrastructure Cloud Guard untuk mengirim log ke Google Security Operations menggunakan webhook.

Oracle Cloud Guard adalah layanan keamanan berbasis cloud yang memantau, mengidentifikasi, dan membantu mempertahankan postur keamanan yang kuat di Oracle Cloud Infrastructure (OCI). Cloud Guard memeriksa kelemahan keamanan terkait konfigurasi pada resource OCI dan mendeteksi aktivitas anomali. Saat Cloud Guard menemukan penyimpangan dari aturan detektor, Cloud Guard akan membuat peristiwa Masalah yang memberikan pemantauan keamanan komprehensif di seluruh tenancy OCI Anda. Integrasi ini menggunakan OCI Events Service dan OCI Functions untuk meneruskan peristiwa masalah Cloud Guard ke Google SecOps hampir secara real-time.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Tenancy Oracle Cloud Infrastructure yang aktif dengan Cloud Guard diaktifkan
  • Akses administrator ke Konsol Oracle Cloud Infrastructure
  • Izin untuk membuat dan mengelola aplikasi OCI Functions
  • Izin untuk membuat aturan OCI Events dan topik Notifications
  • Akses ke OCI Cloud Shell atau lingkungan lokal dengan Fn Project CLI yang diinstal
  • Docker sudah diinstal (untuk membangun Fungsi OCI secara lokal)
  • Akses ke Konsol Google Cloud (untuk pembuatan kunci API)

Membuat feed webhook di Google SecOps

Buat feed

  1. Buka Setelan SIEM > Feed.
  2. Klik Tambahkan Feed Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, OCI Cloud Guard Problems).
  5. Pilih Webhook sebagai Jenis sumber.
  6. Pilih Oracle Cloud Infrastructure - Oracle Cloud Guard sebagai Jenis log.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:
    • Pemisah pemisahan (opsional): Biarkan kosong (setiap pemanggilan fungsi mengirimkan satu peristiwa).
    • Namespace aset: Namespace aset
    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
  9. Klik Berikutnya.
  10. Tinjau konfigurasi feed baru Anda di layar Selesaikan, lalu klik Kirim.

Buat dan simpan kunci rahasia

Setelah membuat feed, Anda harus membuat kunci rahasia untuk autentikasi:

  1. Di halaman detail feed, klik Buat Kunci Rahasia.
  2. Dialog akan menampilkan kunci rahasia.
  3. Salin dan simpan kunci rahasia dengan aman.

Penting: Kunci rahasia hanya ditampilkan satu kali dan tidak dapat diambil lagi. Jika Anda kehilangan kunci tersebut, Anda harus membuat kunci rahasia baru.

Mendapatkan URL endpoint feed

  1. Buka tab Detail untuk feed tersebut.
  2. Di bagian Endpoint Information, salin Feed endpoint URL.
  3. Format URL-nya adalah:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    

    atau

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. Simpan URL ini untuk langkah berikutnya.

  5. Klik Done.

Buat kunci Google Cloud API

Chronicle memerlukan kunci API untuk autentikasi. Buat kunci API yang dibatasi di Konsol Google Cloud.

Buat kunci API

  1. Buka halaman Kredensial Konsol Google Cloud.
  2. Pilih project Anda (project yang terkait dengan instance Chronicle Anda).
  3. Klik Create credentials > API key.
  4. Kunci API dibuat dan ditampilkan dalam dialog.
  5. Klik Edit API key untuk membatasi kunci.

Membatasi kunci API

  1. Di halaman setelan API key:
    • Nama: Masukkan nama deskriptif (misalnya, Chronicle Webhook API Key)
  2. Di bagian API restrictions:
    1. Pilih Restrict key.
    2. Di dropdown Select APIs, telusuri dan pilih Google SecOps API (atau Chronicle API).
  3. Klik Simpan.
  4. Salin nilai kunci API dari kolom API key di bagian atas halaman.
  5. Simpan kunci API dengan aman.

Mengaktifkan Cloud Guard Cloud Event responder

Cloud Guard menggunakan responder Cloud Event untuk memancarkan detail masalah ke OCI Events Service. Responder Cloud Event adalah bagian dari resep Responder dan harus diaktifkan serta disetel untuk dieksekusi secara otomatis.

Aktifkan aturan Cloud Event di resep Responder

  1. Login ke Konsol Oracle Cloud Infrastructure.
  2. Buka menu navigasi, lalu pilih Identity & Security > Cloud Guard > urutan langkah.
  3. Pilih Resep Responder.
  4. Klik resep responden yang dilampirkan ke target Anda.
  5. Di bagian Responder Rules, cari aturan Cloud Events.
  6. Jika statusnya Dinonaktifkan:
    1. Buka menu Tindakan (tiga titik) dan pilih Edit.
    2. Ubah Status menjadi Diaktifkan.
    3. Klik Simpan.

Mengonfigurasi eksekusi otomatis pada target

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Identity & Security > Cloud Guard > Configuration > Targets.
  2. Pilih kompartemen target.
  3. Di bagian Resources, pilih Responder Recipes.
  4. Klik link resep responden.
  5. Cari aturan responder Cloud Event.
  6. Buka menu Tindakan (tiga titik) dan pilih Edit.
  7. Setel Pemicu Aturan ke Jalankan Otomatis.
  8. Centang kotak KONFIRMASI EKSEKUSI OTOMATIS.
  9. Klik Simpan.

Buat aplikasi OCI Functions

Buat aplikasi OCI Functions yang akan menghosting fungsi yang bertanggung jawab untuk meneruskan peristiwa Cloud Guard ke Google SecOps.

Membuat aplikasi

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Developer Services > Functions > Applications.
  2. Pilih kompartemen tempat Anda ingin membuat aplikasi.
  3. Klik Create Application.
  4. Berikan detail konfigurasi berikut:
    • Nama: Masukkan cloudguard-chronicle-forwarder
    • VCN: Pilih VCN dengan akses internet (diperlukan agar fungsi dapat menjangkau endpoint webhook Chronicle)
    • Subnet: Pilih subnet publik atau subnet pribadi dengan gateway NAT yang dikonfigurasi
  5. Klik Create.

Membuat dan men-deploy fungsi

Gunakan OCI Cloud Shell atau lingkungan lokal dengan Fn Project CLI untuk membuat dan men-deploy fungsi.

  1. Buka OCI Cloud Shell dari Konsol Oracle Cloud Infrastructure (klik ikon Cloud Shell di menu navigasi atas).
  2. Siapkan konteks Fn untuk aplikasi OCI Functions Anda:

    fn list context
    fn use context <your-region-context>
    fn update context oracle.compartment-id <compartment_OCID>
    fn update context registry <region-key>.ocir.io/<tenancy-namespace>/cloudguard-chronicle
    
  3. Lakukan inisialisasi fungsi Python baru:

    fn init --runtime python cloudguard-to-chronicle
    cd cloudguard-to-chronicle
    
  4. Ganti konten file func.py dengan kode berikut:

    import io
    import json
    import logging
    import requests
    
    from fdk import response
    
    def handler(ctx, data: io.BytesIO = None):
        """
        OCI Function that receives Cloud Guard events from OCI Events Service
        and forwards them to Google SecOps (Chronicle) webhook endpoint.
        """
        logger = logging.getLogger()
    
        try:
            cfg = ctx.Config()
            chronicle_endpoint = cfg.get("CHRONICLE_ENDPOINT")
            chronicle_api_key = cfg.get("CHRONICLE_API_KEY")
            chronicle_secret = cfg.get("CHRONICLE_SECRET")
    
            if not all([chronicle_endpoint, chronicle_api_key, chronicle_secret]):
                logger.error("Missing required configuration: CHRONICLE_ENDPOINT, CHRONICLE_API_KEY, or CHRONICLE_SECRET")
                return response.Response(
                    ctx, response_data=json.dumps({"error": "Missing configuration"}),
                    headers={"Content-Type": "application/json"}, status_code=500
                )
    
            event_data = json.loads(data.getvalue())
            logger.info(f"Received Cloud Guard event: {event_data.get('eventType', 'unknown')}")
    
            webhook_url = f"{chronicle_endpoint}?key={chronicle_api_key}&secret={chronicle_secret}"
    
            headers = {
                "Content-Type": "application/json"
            }
    
            resp = requests.post(
                webhook_url,
                json=event_data,
                headers=headers,
                timeout=30
            )
    
            if resp.status_code >= 200 and resp.status_code < 300:
                logger.info(f"Successfully forwarded event to Chronicle (HTTP {resp.status_code})")
            else:
                logger.error(f"Failed to forward event to Chronicle (HTTP {resp.status_code}): {resp.text}")
    
            return response.Response(
                ctx, response_data=json.dumps({"status": resp.status_code}),
                headers={"Content-Type": "application/json"}, status_code=200
            )
    
        except Exception as e:
            logger.error(f"Error processing Cloud Guard event: {str(e)}")
            return response.Response(
                ctx, response_data=json.dumps({"error": str(e)}),
                headers={"Content-Type": "application/json"}, status_code=500
            )
    
  5. Ganti konten file requirements.txt:

    fdk>=0.1.0
    requests>=2.25.0
    
  6. Deploy fungsi ke aplikasi:

    fn -v deploy --app cloudguard-chronicle-forwarder
    
  7. Tunggu hingga deployment selesai.

Mengonfigurasi variabel lingkungan fungsi

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Developer Services > Functions > Applications.
  2. Klik aplikasi cloudguard-chronicle-forwarder.
  3. Di bagian Resources, pilih Functions.
  4. Klik fungsi cloudguard-to-chronicle.
  5. Di bagian Resources, pilih Configuration.
  6. Klik Edit, lalu tambahkan pasangan nilai kunci berikut:

    Kunci Nilai
    CHRONICLE_ENDPOINT URL endpoint webhook Chronicle (misalnya, https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate)
    CHRONICLE_API_KEY Kunci Google Cloud API yang dibuat untuk webhook Chronicle
    CHRONICLE_SECRET Kunci rahasia webhook Chronicle
  7. Klik Simpan.

Membuat kebijakan IAM untuk OCI Functions

Layanan OCI Functions dan Layanan Events memerlukan kebijakan IAM untuk memanggil fungsi.

Membuat grup dinamis untuk fungsi

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Identity & Security > Domains.
  2. Pilih domain Default.
  3. Di bagian Identity domain resources, pilih Dynamic Groups.
  4. Klik Buat Grup Dinamis.
  5. Berikan detail konfigurasi berikut:

    • Nama: Masukkan cloudguard-chronicle-functions
    • Deskripsi: Masukkan Dynamic group for Cloud Guard to Chronicle forwarder function
    • Aturan Pencocokan: Masukkan aturan berikut:
    ALL {resource.type = 'fnfunc', resource.compartment.id = '<compartment_OCID>'}
    
  6. Klik Create.

Membuat kebijakan IAM

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Identity & Security > Policies.
  2. Pastikan Anda berada di root compartment.
  3. Klik Create Policy.
  4. Berikan detail konfigurasi berikut:
    • Nama: Masukkan cloudguard-chronicle-policy
    • Deskripsi: Masukkan Allows Events Service to invoke Cloud Guard Chronicle forwarder function
    • Compartment: Pastikan root compartment dipilih.
  5. Di bagian Pembuat Kebijakan, alihkan Tampilkan editor manual.
  6. Di kolom Statement, masukkan pernyataan kebijakan berikut:

    Allow dynamic-group cloudguard-chronicle-functions to use fn-function in compartment <compartment_name>
    Allow dynamic-group cloudguard-chronicle-functions to use fn-invocation in compartment <compartment_name>
    Allow service cloudguardevents to use fn-function in compartment <compartment_name>
    Allow service cloudguardevents to use fn-invocation in compartment <compartment_name>
    
  7. Klik Create.

Membuat aturan OCI Events untuk Cloud Guard

Buat aturan Peristiwa yang memicu Fungsi OCI saat Cloud Guard mendeteksi, menutup, atau memulihkan masalah.

Buat aturan Peristiwa

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Observability & Management > Events Service > Rules.

  2. Klik Buat Aturan.

  3. Berikan detail konfigurasi berikut:

    • Nama Tampilan: Masukkan cloudguard-to-chronicle
    • Deskripsi: Masukkan Forwards Cloud Guard problem events to Google SecOps via OCI Functions
  4. Di bagian Kondisi Aturan:

    1. Tetapkan Kondisi ke Jenis Peristiwa.
    2. Tetapkan Service Name ke Cloud Guard.
    3. Tetapkan Jenis Peristiwa ke berikut ini (pilih beberapa):
      • Terdeteksi - Masalah
      • Ditolak - Masalah
      • Diperbaiki - Masalah
  5. Di bagian Tindakan:

    1. Tetapkan Jenis Tindakan ke Fungsi.
    2. Tetapkan Function Compartment ke kompartemen yang berisi aplikasi fungsi.
    3. Setel Function Application ke cloudguard-chronicle-forwarder.
    4. Tetapkan Function ke cloudguard-to-chronicle.
  6. Klik Buat Aturan.

Opsional: Memfilter menurut tingkat risiko

Untuk meneruskan hanya masalah dengan tingkat keparahan tinggi, tambahkan filter atribut ke aturan Peristiwa:

  1. Di bagian Kondisi Aturan, klik + Kondisi Lainnya.
  2. Setel Kondisi ke Atribut.
  3. Tetapkan Nama Atribut ke riskLevel.
  4. Tetapkan Nilai Atribut ke tingkat risiko yang diinginkan:

    • CRITICAL
    • HIGH

Memverifikasi integrasi

Menguji fungsi secara manual

  1. Di Oracle Cloud Infrastructure Console, buka menu navigasi, lalu pilih Developer Services > Functions > Applications.
  2. Klik aplikasi cloudguard-chronicle-forwarder.
  3. Di bagian Resources, pilih Functions.
  4. Klik fungsi cloudguard-to-chronicle.
  5. Klik Invoke untuk menguji fungsi dengan data contoh, atau gunakan OCI Cloud Shell:

    echo '{"eventType":"com.oraclecloud.cloudguard.problemdetected","cloudEventsVersion":"0.1","eventID":"test-event-001","data":{"compartmentId":"ocid1.compartment.oc1..example","resourceName":"test-problem","additionalDetails":{"riskLevel":"HIGH","problemDescription":"Test problem for integration verification","status":"OPEN","region":"us-ashburn-1"}}}' | fn invoke cloudguard-chronicle-forwarder cloudguard-to-chronicle
    
  6. Verifikasi log fungsi dengan membuka Developer Services > Functions > Applications > cloudguard-chronicle-forwarder, lalu pilih bagian Logs.

  7. Cari entri log yang mengonfirmasi penerusan berhasil:

    Received Cloud Guard event: com.oraclecloud.cloudguard.problemdetected
    Successfully forwarded event to Chronicle (HTTP 200)
    

Memverifikasi di Google SecOps

  1. Login ke Google SecOps.
  2. Buka Penelusuran dan kueri untuk peristiwa dengan jenis log OCI_CLOUDGUARD.
  3. Pastikan peristiwa masalah Cloud Guard muncul di hasil penelusuran.

Jika acara tidak muncul:

  • Verifikasi URL endpoint webhook Chronicle, kunci API, dan kunci rahasia dalam konfigurasi fungsi
  • Pastikan aturan Peristiwa berada di region OCI yang benar (region pelaporan Cloud Guard)
  • Pastikan bahwa responder Cloud Event diaktifkan dan disetel untuk dieksekusi secara otomatis
  • Meninjau log fungsi untuk melihat pesan error

Referensi jenis peristiwa Cloud Guard

Cloud Guard memancarkan jenis peristiwa berikut melalui OCI Events Service:

Jenis Peristiwa Pemicu
com.oraclecloud.cloudguard.problemdetected Masalah baru terdeteksi
com.oraclecloud.cloudguard.problemdismissed Masalah ditutup
com.oraclecloud.cloudguard.problemremediated Masalah diperbaiki
com.oraclecloud.cloudguard.sightingdetected Penampakan baru terdeteksi

Referensi metode autentikasi

Feed webhook Chronicle mendukung beberapa metode autentikasi. Pilih metode yang didukung vendor Anda.

Jika vendor Anda mendukung header HTTP kustom, gunakan metode ini untuk keamanan yang lebih baik.

  • Format permintaan:

    POST <ENDPOINT_URL> HTTP/1.1
    Content-Type: application/json
    x-goog-chronicle-auth: <API_KEY>
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

Kelebihan:

  • Kunci API dan secret tidak terlihat di URL
  • Lebih aman (header tidak dicatat dalam log akses server web)
  • Metode pilihan jika vendor mendukungnya

Metode 2: Parameter kueri

Jika vendor Anda tidak mendukung header kustom, tambahkan kredensial ke URL.

  • Format URL:

    <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>
    
  • Contoh:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
    
  • Format permintaan:

    POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1
    Content-Type: application/json
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

Kekurangan:

  • Kredensial terlihat di URL
  • Dapat dicatat dalam log akses server web
  • Kurang aman dibandingkan header

Metode 3: Hybrid (URL + Header)

Beberapa konfigurasi menggunakan kunci API di URL dan kunci rahasia di header.

  • Format permintaan:

    POST <ENDPOINT_URL>?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {
            "event": "data",
            "timestamp": "2025-01-15T10:30:00Z"
    }
    

Nama header autentikasi

Chronicle menerima nama header berikut untuk autentikasi:

  • Untuk kunci API:

    • x-goog-chronicle-auth (direkomendasikan)
    • X-Goog-Chronicle-Auth (tidak peka huruf besar/kecil)
  • Untuk kunci rahasia:

    • x-chronicle-auth (direkomendasikan)
    • X-Chronicle-Auth (tidak peka huruf besar/kecil)

Batasan dan praktik terbaik webhook

Batas permintaan

Batas Nilai
Ukuran permintaan maksimum 4 MB
QPS Maks (kueri per detik) 15.000
Waktu tunggu permintaan 30 seconds
Perilaku percobaan ulang Otomatis dengan backoff eksponensial

Tabel pemetaan UDM

Kolom Log Pemetaan UDM Logika
contentType additional.fields Digabungkan dari berbagai kolom tambahan
cloudEventsVersion additional.fields
data.additionalDetails.reason additional.fields
data.additionalDetails.tenantId additional.fields
data.additionalDetails.problemType additional.fields
data.resourceName additional.fields
data.resourceId additional.fields
status additional.fields
problem_recommendation additional.fields
compartment_id additional.fields
compartment_name additional.fields
product_event extensions.auth.type Disetel ke "AUTHTYPE_UNSPECIFIED" jika product_event cocok dengan login
data.additionalDetails.problemDescription metadata.description Nilai dari data.additionalDetails.problemDescription jika tidak kosong, atau data.additionalDetails.description
data.additionalDetails.description metadata.description
has_user metadata.event_type Ditetapkan ke USER_RESOURCE_ACCESS jika memiliki has_user dan has_target_resource, USER_UNCATEGORIZED jika memiliki has_user, USER_LOGIN jika product_event cocok dengan login, STATUS_UPDATE jika memiliki has_principal, atau GENERIC_EVENT
has_target_resource metadata.event_type
product_event metadata.event_type
has_principal metadata.event_type
eventType metadata.product_event_type Nilai dari eventType jika tidak kosong, atau product_event
product_event metadata.product_event_type
eventID metadata.product_log_id Nilai disalin secara langsung
versi metadata.product_version Nilai disalin secara langsung
observer observer.domain.name Mengekstrak domain dari pengamat menggunakan grok
observer observer.hostname Nilai dari pengamat jika bukan IP
observer observer.ip Nilai dari pengamat jika IP
utama principal.administrative_domain Domain yang diekstrak dari principal atau principal_host menggunakan grok
principal_host principal.administrative_domain
data.additionalDetails.problemAdditionalDetails.public_ips principal.asset.ip Nilai dari data.additionalDetails.problemAdditionalDetails.public_ips jika tidak kosong, atau vnicDetails.0.vnicPublicIp jika tidak kosong, atau dari principal jika IP, atau principal_host jika IP
vnicDetails.0.vnicPublicIp principal.asset.ip
utama principal.asset.ip
principal_host principal.asset.ip
utama principal.hostname Nilai dari akun utama jika bukan IP, atau principal_host jika bukan IP
principal_host principal.hostname
data.additionalDetails.problemAdditionalDetails.public_ips principal.ip Nilai dari data.additionalDetails.problemAdditionalDetails.public_ips jika tidak kosong, atau vnicDetails.0.vnicPublicIp jika tidak kosong, atau dari principal jika IP, atau principal_host jika IP
vnicDetails.0.vnicPublicIp principal.ip
utama principal.ip
principal_host principal.ip
data.additionalDetails.region principal.location.name Nilai disalin secara langsung
principal_port principal.port Dikonversi menjadi bilangan bulat dari principal_port
data.additionalDetails.resourceName principal.resource.name Nilai dari data.additionalDetails.resourceName jika tidak kosong, atau data.additionalDetails.principalResourceName
data.additionalDetails.principalResourceName principal.resource.name
data.additionalDetails.resourceId principal.resource.product_object_id Nilai dari data.additionalDetails.resourceId jika tidak kosong, atau data.additionalDetails.principalResourceId
data.additionalDetails.principalResourceId principal.resource.product_object_id
data.additionalDetails.resourceType principal.resource.resource_subtype Nilai dari data.additionalDetails.resourceType jika tidak kosong, atau data.additionalDetails.principalResourceType
data.additionalDetails.principalResourceType principal.resource.resource_subtype
data.additionalDetails.resourceName principal.user.userid Nilai dari data.additionalDetails.resourceName jika data.additionalDetails.resourceType == "User", atau dari data.additionalDetails.principalResourceName jika data.additionalDetails.principalResourceType == "User"
data.additionalDetails.principalResourceName principal.user.userid
tindakan security_result.action Disetel ke BLOCK jika tindakan cocok dengan pemblokiran, ALLOW jika berhasil, FAIL jika gagal, atau UNKNOWN jika tidak diketahui
tindakan security_result.action_details Nilai disalin secara langsung
data.additionalDetails.tacticName security_result.attack_details.tactics Nilai disalin langsung ke tactic_data.name, lalu digabungkan
data.additionalDetails.techniqueName security_result.attack_details.techniques Nilai disalin langsung ke technique_data.name, lalu digabungkan
data.additionalDetails.confidence security_result.confidence_score Nilai disalin secara langsung
sightingType security_result.detection_fields Digabungkan dari label sightingType, sightingScore, riskScore
sightingScore security_result.detection_fields
riskScore security_result.detection_fields
data.additionalDetails.detectorRuleId security_result.rule_id Nilai disalin secara langsung
data.additionalDetails.detectorRuleType security_result.rule_name Nilai disalin secara langsung
tingkat keseriusan, security_result.severity Disetel ke INFORMATIONAL jika tingkat keparahan dalam INFO, LOW jika Rendah, MEDIUM jika WARN, HIGH jika Tinggi, CRITICAL jika Kritis
tingkat keseriusan, security_result.severity_details Nilai disalin secara langsung
target target.administrative_domain Mengekstrak domain dari target atau target_host menggunakan grok
target_host target.administrative_domain
target target.hostname Nilai dari target jika bukan IP, atau target_host jika bukan IP
target_host target.hostname
target target.ip Nilai dari target jika IP, atau target_host jika IP
target_host target.ip
target_port target.port Dikonversi menjadi bilangan bulat dari target_port
targetId target.resource.attribute.labels Digabungkan dari berbagai kolom label
labels target.resource.attribute.labels
vnicAttachmentId target.resource.attribute.labels
vnicAttachmentDisplayName target.resource.attribute.labels
subnet target.resource.attribute.labels
instance_ocid target.resource.attribute.labels
route_table_ocids target.resource.attribute.labels
security_list_ocids target.resource.attribute.labels
data.additionalDetails.impactedResourceName target.resource.name Nilai dari data.additionalDetails.impactedResourceName jika tidak kosong, atau vnicDetails.0.vnicDisplayName
vnicDetails.0.vnicDisplayName target.resource.name
data.additionalDetails.impactedResourceId target.resource.product_object_id Nilai dari data.additionalDetails.impactedResourceId jika tidak kosong, atau vnicDetails.0.vnicId
vnicDetails.0.vnicId target.resource.product_object_id
data.additionalDetails.impactedResourceType target.resource.resource_subtype Nilai disalin secara langsung
target_url target.url Nilai disalin secara langsung
target_user target.user.userid Nilai disalin secara langsung
produk metadata.product_name Nilai disalin secara langsung
vendor metadata.vendor_name Nilai disalin secara langsung
data.additionalDetails.tacticName security_result.attack_details.tactics.name Dipetakan dari log perubahan
data.additionalDetails.techniqueName security_result.attack_details.techniques.name Dipetakan dari log perubahan

Log Perubahan

Melihat Log Perubahan untuk parser ini

Perlu bantuan lain? Dapatkan jawaban dari anggota Komunitas dan profesional Google SecOps.