收集 Island 企業瀏覽器記錄
本文說明如何設定 Island Enterprise Browser,透過 Webhook 將記錄檔推送至 Google Security Operations。
Island Enterprise Browser 是以 Chromium 為基礎的企業瀏覽器,旨在提升企業安全和 IT 治理。這項功能可讓機構控管及監控使用者與網頁應用程式的互動方式,針對瀏覽器活動的各個層面 (包括複製、貼上、下載、上傳及擷取螢幕截圖) 提供精細的政策控管。Island 可提供重要 SaaS 和內部網頁應用程式的完整可視性、控管和法規遵循功能,同時支援內建的安全瀏覽、網頁篩選、防範漏洞和零信任網路存取功能。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- Island Enterprise Browser 支援透過 HTTPS 傳送 SIEM 記錄 (以 Webhook 為基礎)
- 存取 Google Cloud 控制台 (用於建立 API 金鑰)
- 具備管理員權限 (完整管理員或系統管理員角色) 的 Island 管理控制台存取權
在 Google SecOps 中建立 Webhook 動態饋給
建立動態饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Island Enterprise Browser Logs)。 - 選取「Webhook」做為「來源類型」。
- 選取「Island Enterprise Browser」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符號 (選用):輸入
\n,即可依換行符號分割 NDJSON 事件 - 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 分割分隔符號 (選用):輸入
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生驗證用的密鑰:
- 在動態饋給詳細資料頁面中,按一下「產生密鑰」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
重要事項:密鑰只會顯示一次,之後便無法擷取,如果遺失,就必須產生新的密鑰。
取得動態消息端點網址
- 前往動態消息的「詳細資料」分頁。
- 在「端點資訊」部分,複製「動態消息端點網址」。
網址格式為:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate請儲存這個網址,以供後續步驟使用。
按一下 [完成]。
建立 Google Cloud API 金鑰
Chronicle 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。
建立 API 金鑰
- 前往 Google Cloud 控制台的「憑證」頁面。
- 選取專案 (與 Chronicle 執行個體相關聯的專案)。
- 依序按一下「建立憑證」>「API 金鑰」。
- 系統會建立 API 金鑰,並顯示在對話方塊中。
- 按一下「編輯 API 金鑰」即可限制金鑰。
限制 API 金鑰
- 在「API 金鑰」設定頁面中:
- 名稱:輸入描述性名稱 (例如
Chronicle Webhook API Key - Island)
- 名稱:輸入描述性名稱 (例如
- 在「API 限制」下方:
- 選取「Restrict key」(限制金鑰)。
- 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
- 按一下 [儲存]。
- 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值。
- 安全地儲存 API 金鑰。
設定 Island Enterprise Browser Webhook
建構 Webhook 網址
合併 Chronicle 端點網址和 API 金鑰:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...
在 Island 管理控制台中建立 SIEM 整合
- 以管理員身分登入 Island 管理控制台 (完整管理員或系統管理員)。
- 依序前往「Modules」>「Platform Settings」>「System Settings」>「Integrations」>「SIEM」。
- 按一下「Generic SIEM Integration」的「設定」。
- 系統會顯示「Generic SIEM Integration Settings」(一般 SIEM 整合設定) 導覽匣。
- 在「Authentication Type」(驗證類型) 欄位中,選取「HTTPS」。
- 在「伺服器網址」欄位中,貼上在上一個步驟中建構的完整 Webhook 網址 (Chronicle 端點網址,並附加 API 金鑰和密鑰做為查詢參數)。
- 按一下「檢查連線」,確認已連線至設定的端點。
- 按一下「建立整合」。
- 如果整合成功,通用 SIEM 整合的「設定」按鈕下方會顯示「正常運作」狀態。
產生 SIEM API 金鑰 (替代方法)
如果通用 SIEM 整合功能需要 API 金鑰進行驗證,而非 HTTPS 網址參數,請按照下列步驟產生金鑰:
- 以管理員身分登入 Island 管理控制台。
- 依序前往「Modules」>「Platform Settings」>「System Settings」>「Integrations」>「SIEM」。
- 按一下「Generic SIEM Integration」的「設定」。
- 按一下「產生 API 金鑰」,即可建立新金鑰。
- 系統會顯示「Create a New API Key Integration」(建立新的 API 金鑰整合) 抽屜,其中包含產生的 API 金鑰。
- 將 API 金鑰複製到剪貼簿,並妥善保存。
- 按一下 [關閉]。
重要事項:API 金鑰只會在產生時顯示一次。請立即複製並儲存。
所需權限
用來設定 SIEM 整合的 Island 管理控制台帳戶必須具備下列其中一個角色:
| 角色 | 說明 |
|---|---|
| 完整管理員 | 具備 Island 管理控制台的完整管理權限 |
| 系統管理員 | 具備管理整合權限的系統層級管理存取權 |
驗證方法參考資料
Chronicle 網頁掛鉤動態消息支援多種驗證方法。選擇供應商支援的方法。
方法 1:自訂標頭 (建議)
如果供應商支援自訂 HTTP 標頭,請使用這個方法,以提升安全性。
要求格式:
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" }
優點:
- 網址中不會顯示 API 金鑰和密鑰
- 更安全 (標頭不會記錄在網路伺服器存取記錄中)
- 如果供應商支援,則為首選方法
方法 2:查詢參數
如果供應商不支援自訂標頭,請將憑證附加至網址。
網址格式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>範例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...&secret=abcd1234...要求格式:
POST <ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY> HTTP/1.1 Content-Type: application/json { "event": "data", "timestamp": "2025-01-15T10:30:00Z" }
缺點:
- 網址中顯示憑證
- 可能會記錄在網路伺服器存取記錄中
- 安全性不如標頭
方法 3:混合式 (網址 + 標頭)
部分設定會在網址中使用 API 金鑰,並在標頭中使用密鑰。
要求格式:
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" }
驗證標頭名稱
Chronicle 接受下列驗證標頭名稱:
API 金鑰:
x-goog-chronicle-auth(建議)X-Goog-Chronicle-Auth(不區分大小寫)
密鑰:
x-chronicle-auth(建議)X-Chronicle-Auth(不區分大小寫)
Webhook 限制和最佳做法
要求限制
| 限制 | 值 |
|---|---|
| 要求大小上限 | 4 MB |
| 每秒查詢次數 (QPS) 上限 | 15,000 |
| 要求逾時 | 30 秒 |
| 重試行為 | 自動執行指數輪詢 |
區域 API 端點
Island Enterprise Browser 會根據您所在的區域,使用不同的管理控制台網址:
| 區域 | 管理控制台網址 | API 基礎網址 |
|---|---|---|
| 美國 | https://management.island.io |
https://management.island.io/api/external/v1/ |
| 歐盟 | https://eu.management.island.io |
https://eu.management.island.io/api/external/v1/ |
請使用與 Island Enterprise Browser 租戶區域對應的管理控制台網址。
UDM 對應表
下表列出 ISLAND_BROWSER 記錄類型的記錄欄位,以及對應的 UDM 欄位。
| 記錄欄位 | 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 和 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 和 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 和 event.idm.read_only_udm.principal.asset.ip |
source_ip |
event.idm.read_only_udm.principal.ip 和 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 和 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 |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。