Mengumpulkan log Island Enterprise Browser
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
- Buka Setelan > Pengelolaan Data > Feed. Jika Anda menggunakan platform khusus SIEM, buka Settings > Feeds.
- Klik Tambahkan Feed Berita Baru.
- Di halaman berikutnya, klik Konfigurasi satu feed.
- Di kolom Nama feed, masukkan nama untuk feed (misalnya,
Island Enterprise Browser Logs). - Pilih Webhook sebagai Jenis sumber.
- Pilih Island Enterprise Browser sebagai Log type.
- Klik Berikutnya.
- Tentukan nilai untuk parameter input berikut:
- Pemisah (opsional): Masukkan
\nuntuk memisahkan peristiwa NDJSON berdasarkan baris baru - Namespace aset: Namespace aset
- Label penyerapan: Label yang akan diterapkan ke peristiwa dari feed ini
- Pemisah (opsional): Masukkan
- Klik Berikutnya.
- 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:
- Di halaman detail feed, klik Buat Kunci Rahasia.
- Dialog akan menampilkan kunci rahasia.
- 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
- Buka tab Detail untuk feed tersebut.
- Di bagian Endpoint Information, salin Feed endpoint URL.
Format URL-nya adalah:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:importDengan
{region}adalah region instance Google SecOps Anda (misalnya,us,europe, atauasia-southeast1), dan{parent}adalah jalur resource dalam formatprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>.Simpan URL ini untuk langkah berikutnya.
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
- Buka halaman Credentials Konsol Google Cloud.
- Pilih project Anda (project yang terkait dengan instance Chronicle Anda).
- Klik Create credentials > kunci API.
- Kunci API akan dibuat dan ditampilkan dalam dialog.
- Klik Edit kunci API untuk membatasi kunci.
Membatasi kunci API
- Di halaman setelan kunci API:
- Name: Masukkan nama deskriptif (misalnya,
Chronicle Webhook API Key - Island)
- Name: Masukkan nama deskriptif (misalnya,
- Di bagian API restrictions:
- Pilih Restrict key.
- Di dropdown Select APIs, telusuri dan pilih Google SecOps API (atau Chronicle API).
- Klik Simpan.
- Salin nilai kunci API dari kolom API key di bagian atas halaman.
- 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
- Login ke Island Management Console sebagai administrator (Full Admin atau System Admin).
- Buka Modules > Platform Settings > System Settings > Integrations > SIEM.
- Klik Setup untuk Generic SIEM Integration.
- Panel samping Generic SIEM Integration Settings akan ditampilkan.
- Di kolom Authentication Type, pilih HTTPS.
- 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).
- Klik Check Connection untuk mengonfirmasi koneksi ke endpoint yang dikonfigurasi.
- Klik Create Integration.
- 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:
- Login ke Island Management Console sebagai administrator.
- Buka Modules > Platform Settings > System Settings > Integrations > SIEM.
- Klik Setup untuk Generic SIEM Integration.
- Klik Buat Kunci API untuk membuat kunci baru.
- Panel samping Create a New API Key Integration akan ditampilkan, yang menampilkan kunci API yang dihasilkan.
- Salin Kunci API ke papan klip dan simpan dengan aman.
- 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.
Metode 1: Header kustom (Direkomendasikan)
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.