Mengumpulkan log Island Enterprise Browser

Didukung di:

Dokumen ini menjelaskan cara mengonfigurasi Island Enterprise Browser untuk mengirim log ke Google Security Operations menggunakan webhook.

Island Enterprise Browser adalah browser perusahaan berbasis Chromium yang dirancang untuk meningkatkan keamanan perusahaan dan tata kelola IT. Dengan solusi ini, organisasi dapat mengontrol dan memantau cara pengguna berinteraksi dengan aplikasi web, sehingga memberikan kontrol kebijakan yang mendetail atas setiap aspek aktivitas browser, termasuk menyalin, menempel, mendownload, mengupload, dan mengambil screenshot. Island memberikan visibilitas, tata kelola, dan kepatuhan lengkap untuk aplikasi web internal dan SaaS penting sekaligus mendukung Safe Browsing bawaan, pemfilteran web, pencegahan eksploitasi, dan akses jaringan Zero-Trust.

Sebelum memulai

Pastikan Anda memiliki prasyarat berikut:

  • Instance Google SecOps
  • Island Enterprise Browser mendukung pengiriman log SIEM berbasis webhook melalui HTTPS
  • Akses ke Konsol Google Cloud (untuk pembuatan kunci API)
  • Akses ke Island Management Console dengan izin administrator (peran Full Admin atau System Admin)

Membuat feed webhook di Google SecOps

Membuat feed

  1. Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
  2. Klik Tambahkan Feed Berita Baru.
  3. Di halaman berikutnya, klik Konfigurasi satu feed.
  4. Di kolom Nama feed, masukkan nama untuk feed (misalnya, Island Enterprise Browser Logs).
  5. Pilih Webhook sebagai Jenis sumber.
  6. Pilih Island Enterprise Browser sebagai Log type.
  7. Klik Berikutnya.
  8. Tentukan nilai untuk parameter input berikut:
    • Pemisah (opsional): Masukkan \n untuk memisahkan peristiwa NDJSON berdasarkan baris baru
    • Namespace aset: Namespace aset
    • Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
  9. Klik Berikutnya.
  10. Tinjau konfigurasi feed berita baru Anda di layar Finalize, lalu klik Submit.

Membuat dan menyimpan 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 sekali 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://{region}-chronicle.googleapis.com/v1/{parent}/logs:import
    

    Dengan {region} adalah region instance Google SecOps Anda (misalnya, us, europe, atau asia-southeast1), dan {parent} adalah jalur resource dalam format projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.

  4. Simpan URL ini untuk langkah berikutnya.

  5. Klik Done.

Membuat kunci Google Cloud API

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

Membuat kunci API

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

Membatasi kunci API

  1. Di halaman setelan kunci API:
    • Name: Masukkan nama deskriptif (misalnya, Chronicle Webhook API Key - Island)
  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.

Mengonfigurasi webhook Island Enterprise Browser

Membuat URL webhook

  • Gabungkan URL endpoint Chronicle dan kunci API:

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

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
    

Membuat integrasi SIEM di Island Management Console

  1. Login ke Island Management Console sebagai administrator (Full Admin atau System Admin).
  2. Buka Modules > Platform Settings > System Settings > Integrations > SIEM.
  3. Klik Setup untuk Generic SIEM Integration.
  4. Panel samping Generic SIEM Integration Settings akan ditampilkan.
  5. Di kolom Authentication Type, pilih HTTPS.
  6. Di kolom Server URL, tempel URL webhook lengkap yang dibuat pada langkah sebelumnya (URL endpoint Chronicle dengan kunci API dan kunci rahasia yang ditambahkan sebagai parameter kueri).
  7. Klik Check Connection untuk mengonfirmasi koneksi ke endpoint yang dikonfigurasi.
  8. Klik Create Integration.
  9. Jika integrasi berhasil, status Aktif dan Berjalan akan ditampilkan di bawah tombol Setelan untuk Integrasi SIEM Generik.

Membuat kunci API SIEM (metode alternatif)

Jika Integrasi SIEM Generik memerlukan kunci API untuk autentikasi, bukan parameter URL HTTPS, buat kunci API sebagai berikut:

  1. Login ke Island Management Console sebagai administrator.
  2. Buka Modules > Platform Settings > System Settings > Integrations > SIEM.
  3. Klik Setup untuk Generic SIEM Integration.
  4. Klik Buat Kunci API untuk membuat kunci baru.
  5. Panel samping Create a New API Key Integration akan ditampilkan, yang menampilkan kunci API yang dihasilkan.
  6. Salin Kunci API ke papan klip dan simpan dengan aman.
  7. Klik Close.

Penting: Kunci API hanya ditampilkan sekali selama pembuatan. Salin dan simpan segera.

Izin yang diperlukan

Akun Island Management Console yang digunakan untuk mengonfigurasi integrasi SIEM harus memiliki salah satu peran berikut:

Peran Deskripsi
Admin Penuh Akses administratif penuh ke Island Management Console
Admin Sistem Akses administratif tingkat sistem dengan izin untuk mengelola integrasi

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 rahasia tidak terlihat di URL
  • Lebih aman (header tidak dicatat dalam log akses server web)
  • Metode yang lebih disukai 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://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?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 (kueri per detik) maks. 15.000
Waktu tunggu permintaan 30 seconds
Perilaku percobaan ulang Otomatis dengan backoff eksponensial

Endpoint API regional

Island Enterprise Browser menggunakan URL Konsol Pengelolaan yang berbeda berdasarkan wilayah Anda:

Wilayah URL Konsol Pengelolaan URL Dasar API
AS https://management.island.io https://management.island.io/api/external/v1/
Uni Eropa https://eu.management.island.io https://eu.management.island.io/api/external/v1/

Gunakan URL Konsol Pengelolaan yang sesuai dengan region tenant Island Enterprise Browser Anda.

Tabel pemetaan UDM

Tabel berikut mencantumkan kolom log dari jenis log ISLAND_BROWSER dan kolom UDM yang sesuai.

Kolom log pemetaan UDM
timestamp metadata.event_timestamp
id metadata.product_log_id
type metadata.product_event_type
email principal.user.email_addresses
user_id principal.user.userid
user_name principal.user.user_display_name
source_ip principal.ip, principal.asset.ip
public_ip principal.ip, principal.asset.ip
machine_name principal.hostname, principal.asset.hostname
machine_id principal.asset.asset_id
os_platform principal.asset.platform_software.platform
country principal.location.country_or_region
region principal.location.state
top_level_url target.url
saas_application_name target.application
saas_application_id target.resource.id
rule_id security_result.rule_id
rule_name security_result.rule_name
verdict security_result.action_details
verdict_reason security_result.description
url_web_reputation security_result.confidence_score
saas_application_category security_result.category_details
client_event_id network.session_id
version metadata.product_version
window_id principal.resource.id
frame_url about.url
device_id principal.asset.attribute.labels
os_user_name principal.asset.attribute.labels
tab_id security_result.detection_fields
signature security_result.detection_fields
compatibility_mode additional.fields
processed_date additional.fields
country_code additional.fields
is_island_private_access additional.fields
url_web_categories additional.fields
origin additional.fields
tenant_id additional.fields
matched_user_group principal.group.group_display_name
matched_device_posture.domain principal.domain.name
details.application_parameters_details_list.parameters.parameter_value event.idm.read_only_udm.target.resource_ancestors.name
details.application_parameters_details_list.parameters.parameter_value event.idm.read_only_udm.target.administrative_domain
details.application_parameters_details_list.parameters.parameter_name event.idm.read_only_udm.additional.fields
matchedDevicePosture.azure_ad event.idm.read_only_udm.additional.fields
matchedDevicePosture.registry_keys event.idm.read_only_udm.additional.fields
matchedDevicePosture.client_certificates event.idm.read_only_udm.security_result.detection_fields
logMessage.userId event.idm.read_only_udm.principal.user.userid
logMessage.email event.idm.read_only_udm.principal.user.email_addresses
logMessage.userName event.idm.read_only_udm.principal.user.user_display_name
logMessage.type event.idm.read_only_udm.metadata.product_event_type
logMessage.verdict event.idm.read_only_udm.security_result.action_details
logMessage.topLevelUrl event.idm.read_only_udm.network.http.referral_url
logMessage.sourceIp event.idm.read_only_udm.principal.ip
logMessage.publicIp event.idm.read_only_udm.principal.ip
logMessage.sourceIp event.idm.read_only_udm.principal.asset.ip
logMessage.publicIp event.idm.read_only_udm.principal.asset.ip
logMessage.saasApplicationName event.idm.read_only_udm.target.application
logMessage.saasApplicationCategory event.idm.read_only_udm.security_result.category_details
logMessage.country event.idm.read_only_udm.principal.location.country_or_region
logMessage.region event.idm.read_only_udm.principal.location.state
logMessage.osUserName event.idm.read_only_udm.principal.administrative_domain
logMessage.machineId event.idm.read_only_udm.principal.asset.asset_id
logMessage.saasApplicationId event.idm.read_only_udm.target.resource.product_object_id
logMessage.timestamp event.idm.read_only_udm.metadata.event_timestamp
logMessage.tenantId event.idm.read_only_udm.metadata.product_deployment_id
logMessage.id event.idm.read_only_udm.metadata.product_log_id
logMessage.createdDate event.idm.read_only_udm.target.resource.attribute.creation_time
logMessage.updatedDate event.idm.read_only_udm.target.resource.attribute.last_update_time
logMessage.frameUrl event.idm.read_only_udm.additional.fields
logMessage.urlWebCategories event.idm.read_only_udm.additional.fields
logMessage.urlWebReputation event.idm.read_only_udm.additional.fields
logMessage.countryCode event.idm.read_only_udm.additional.fields
logMessage.origin event.idm.read_only_udm.additional.fields
logMessage.tabId event.idm.read_only_udm.additional.fields
, event.idm.read_only_udm.additional.fields
and event.idm.read_only_udm.additional.fields
logMessage.details.navigation_details.is_fail_open_close_active event.idm.read_only_udm.security_result.detection_fields
logMessage.details.navigation_details.is_iframe event.idm.read_only_udm.security_result.detection_fields
logMessage.details.policy_version_details.application_access_policy_version event.idm.read_only_udm.security_result.detection_fields
logMessage.details.policy_version_details.browser_access_policy_version event.idm.read_only_udm.security_result.detection_fields
logMessage.details.policy_version_details.browser_policy_version event.idm.read_only_udm.security_result.detection_fields
logMessage.details.policy_version_details.dlp_policy_version event.idm.read_only_udm.security_result.detection_fields
logMessage.details.policy_version_details.pam_policy_version event.idm.read_only_udm.security_result.detection_fields
logMessage.isIslandPrivateAccess event.idm.read_only_udm.security_result.detection_fields
logMessage.compatibilityMode event.idm.read_only_udm.security_result.detection_fields
logMessage.matchedDevicePosture.client_certificates.issuer event.idm.read_only_udm.security_result.detection_fields
logMessage.matchedDevicePosture.client_certificates.subject event.idm.read_only_udm.security_result.detection_fields
logMessage.matchedDevicePosture.client_certificates.thumbprint event.idm.read_only_udm.security_result.detection_fields
logMessage.machineName event.idm.read_only_udm.security_result.detection_fields
logMessage.deviceId event.idm.read_only_udm.security_result.detection_fields
logMessage.ruleName event.idm.read_only_udm.security_result.rule_name
logMessage.ruleId event.idm.read_only_udm.security_result.rule_id
machineName event.idm.read_only_udm.principal.hostname dan event.idm.read_only_udm.principal.asset.hostname
region event.idm.read_only_udm.principal.location.state
osUserName event.idm.read_only_udm.principal.administrative_domain
machineId event.idm.read_only_udm.principal.asset.asset_id
saasApplicationId event.idm.read_only_udm.target.resource.product_object_id
matchedDevicePosture.architecture event.idm.read_only_udm.principal.asset.hardware.cpu_platform
matchedDevicePosture.browser_name event.idm.read_only_udm.principal.application
matchedDevicePosture.os_code_name event.idm.read_only_udm.principal.platform_version
matchedDevicePosture.os_version event.idm.read_only_udm.principal.platform_patch_level
matchedDevicePosture.device_type event.idm.read_only_udm.principal.resource.attribute.labels
matchedDevicePosture.disk_encryption event.idm.read_only_udm.principal.resource.attribute.labels
matchedDevicePosture.domain event.idm.read_only_udm.principal.resource.attribute.labels
matchedDevicePosture.is_default_browser event.idm.read_only_udm.principal.resource.attribute.labels
matchedDevicePosture.island_platform event.idm.read_only_udm.principal.resource.attribute.labels
matchedDevicePosture.machine_name event.idm.read_only_udm.additional.fields
matchedDevicePosture.os_firewall_enabled event.idm.read_only_udm.additional.fields
matchedDevicePosture.os_screen_lock_enabled event.idm.read_only_udm.additional.fields
matchedDevicePosture.secure_boot event.idm.read_only_udm.additional.fields
countryCode,details.ipa_details.ipa_forwarding_method event.idm.read_only_udm.additional.fields
details.ipa_details.ipa_rule event.idm.read_only_udm.additional.fields
details.navigation_details.is_fail_open_close_active event.idm.read_only_udm.additional.fields
details.navigation_details.is_iframe event.idm.read_only_udm.additional.fields
details.policy_version_details.application_access_policy_version event.idm.read_only_udm.additional.fields
details.policy_version_details.browser_access_policy_version event.idm.read_only_udm.additional.fields
details.policy_version_details.browser_policy_version event.idm.read_only_udm.additional.fields
details.policy_version_details.dlp_policy_version event.idm.read_only_udm.additional.fields
details.policy_version_details.pam_policy_version,windowId,compatibilityMode event.idm.read_only_udm.additional.fields
createdDate event.idm.read_only_udm.additional.fields
syslogConnectorId event.idm.read_only_udm.additional.fields
product.enabled event.idm.read_only_udm.security_result.detection_fields
product.name event.idm.read_only_udm.security_result.detection_fields
product.signatures_are_up_to_date event.idm.read_only_udm.security_result.detection_fields
art event.idm.read_only_udm.additional.fields
application_access_policy_version event.idm.read_only_udm.additional.fields
sourceDnsDomain event.idm.read_only_udm.additional.fields
av event.idm.read_only_udm.additional.fields
geid event.idm.read_only_udm.additional.fields
policy_version_details.application_access_policy_version event.idm.read_only_udm.additional.fields
policy_version_details.browser_access_policy_version event.idm.read_only_udm.additional.fields
policy_version_details.browser_policy_version event.idm.read_only_udm.additional.fields
policy_version_details.dlp_policy_version event.idm.read_only_udm.additional.fields
policy_version_details.pam_policy_version event.idm.read_only_udm.additional.fields
parent_frame_url event.idm.read_only_udm.additional.fields
aid event.idm.read_only_udm.network.session_id
agentZoneURI event.idm.read_only_udm.network.http.referral_url
at event.idm.read_only_udm.principal.application
ahost event.idm.read_only_udm.principal.hostname
ahost event.idm.read_only_udm.principal.asset.hostname
agt event.idm.read_only_udm.principal.ip
agt event.idm.read_only_udm.principal.asset.ip
amac event.idm.read_only_udm.principal.mac
deviceZoneURI event.idm.read_only_udm.principal.resource.attribute.labels
catdt event.idm.read_only_udm.security_result.category_details
deviceSeverity event.idm.read_only_udm.security_result.severity_details
atz event.idm.read_only_udm.target.location.country_or_region
user_name event.idm.read_only_udm.principal.user.user_display_name
device_id event.idm.read_only_udm.principal.asset.attribute.labels
machine_name event.idm.read_only_udm.principal.hostname dan event.idm.read_only_udm.principal.asset.hostname
os_platform event.idm.read_only_udm.principal.asset.platform_software.platform
country event.idm.read_only_udm.principal.location.country_or_region
os_user_name event.idm.read_only_udm.principal.user.attribute.labels
top_level_url event.idm.read_only_udm.target.url
rule_id event.idm.read_only_udm.security_result.rule_id
rule_name event.idm.read_only_udm.security_result.rule_name
client_event_id event.idm.read_only_udm.network.session_id
country_code event.idm.read_only_udm.additional.fields
tenant_id event.idm.read_only_udm.additional.fields
tab_id event.idm.read_only_udm.security_result.detection_fields
signature event.idm.read_only_udm.security_result.detection_fields
source event.idm.read_only_udm.additional.fields
public_ip event.idm.read_only_udm.principal.ip dan event.idm.read_only_udm.principal.asset.ip
source_ip event.idm.read_only_udm.principal.ip dan event.idm.read_only_udm.principal.asset.ip
processed_date event.idm.read_only_udm.additional.fields
matched_user_group event.idm.read_only_udm.principal.group.group_display_name
frame_url event.idm.read_only_udm.additional.fields
url_web_categories event.idm.read_only_udm.additional.fields
client_sending_date event.idm.read_only_udm.additional.fields
matched_device_posture.anti_malware_product.name event.idm.read_only_udm.additional.fields
matched_device_posture.anti_malware_product.enabled event.idm.read_only_udm.additional.fields
matched_device_posture.anti_malware_product.signatures_are_up_to_date event.idm.read_only_udm.additional.fields
matched_device_posture.anti_malware_product.signatures_last_updated event.idm.read_only_udm.additional.fields
matched_device_posture.client_certificates.issuer event.idm.read_only_udm.additional.fields
matched_device_posture.client_certificates.subject event.idm.read_only_udm.additional.fields
matched_device_posture.client_certificates.thumbprint event.idm.read_only_udm.security_result.detection_fields
matched_device_posture.domain event.idm.read_only_udm.principal.domain.name
matched_device_posture.os_code_name event.idm.read_only_udm.principal.asset.platform_software.platform_version
matched_device_posture.machine_name event.idm.read_only_udm.target.hostname dan event.idm.read_only_udm.target.asset.hostname
matched_device_posture.disk_encryption event.idm.read_only_udm.additional.fields
matched_device_posture.is_virtual_machine event.idm.read_only_udm.additional.fields
matched_device_posture.processes event.idm.read_only_udm.principal.file.full_path
origin event.idm.read_only_udm.additional.fields
url_web_reputation event.idm.read_only_udm.security_result.confidence_score
is_island_private_access event.idm.read_only_udm.additional.fields
window_id event.idm.read_only_udm.principal.resource.id
compatibility_mode event.idm.read_only_udm.additional.fields
version event.idm.read_only_udm.metadata.product_version
userId principal.user.userid
topLevelUrl network.http.referral_url
ruleId security_result.rule_id
ruleName security_result.rule_name
Verdict" and "verdict security_result.action_details
sourceIp" and "publicIp principal.ip
verdictReason security_result.description
tabId", "urlWebReputation", "updatedDate", "processedDate", "service", "id", "deviceId", "frameUrl", "urlWebCategories", "isIslandPrivateAccess", "tenantId", "saasApplicationCategory", "saasApplicationName", "machineName", "details.navigationDetails.isIframe", "details.navigationDetails.is_iframe", "navigation_details.is_iframe", "matchedDevicePosture.domain", "matchedDevicePosture.workgroup", and "incognito additional.fields

Log Perubahan

Melihat Log Perubahan untuk parser ini

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