收集 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 動態饋給

建立動態饋給

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Island Enterprise Browser Logs)。
  5. 選取「Webhook」做為「來源類型」
  6. 選取「Island Enterprise Browser」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:
    • 分割分隔符號 (選用):輸入 \n,即可依換行符號分割 NDJSON 事件
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 點選「下一步」
  10. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)

產生並儲存密鑰

建立動態饋給後,您必須產生驗證用的密鑰:

  1. 在動態饋給詳細資料頁面中,按一下「產生密鑰」
  2. 對話方塊會顯示密鑰。
  3. 複製並妥善儲存密鑰。

重要事項:密鑰只會顯示一次,之後便無法擷取,如果遺失,就必須產生新的密鑰。

取得動態消息端點網址

  1. 前往動態消息的「詳細資料」分頁。
  2. 在「端點資訊」部分,複製「動態消息端點網址」
  3. 網址格式為:

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

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. 請儲存這個網址,以供後續步驟使用。

  5. 按一下 [完成]

建立 Google Cloud API 金鑰

Chronicle 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。

建立 API 金鑰

  1. 前往 Google Cloud 控制台的「憑證」頁面
  2. 選取專案 (與 Chronicle 執行個體相關聯的專案)。
  3. 依序按一下「建立憑證」>「API 金鑰」
  4. 系統會建立 API 金鑰,並顯示在對話方塊中。
  5. 按一下「編輯 API 金鑰」即可限制金鑰。

限制 API 金鑰

  1. 在「API 金鑰」設定頁面中:
    • 名稱:輸入描述性名稱 (例如 Chronicle Webhook API Key - Island)
  2. 在「API 限制」下方:
    1. 選取「Restrict key」(限制金鑰)
    2. 在「選取 API」下拉式選單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
  3. 按一下 [儲存]
  4. 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值。
  5. 安全地儲存 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 整合

  1. 以管理員身分登入 Island 管理控制台 (完整管理員或系統管理員)。
  2. 依序前往「Modules」>「Platform Settings」>「System Settings」>「Integrations」>「SIEM」
  3. 按一下「Generic SIEM Integration」的「設定」
  4. 系統會顯示「Generic SIEM Integration Settings」(一般 SIEM 整合設定) 導覽匣。
  5. 在「Authentication Type」(驗證類型) 欄位中,選取「HTTPS」
  6. 在「伺服器網址」欄位中,貼上在上一個步驟中建構的完整 Webhook 網址 (Chronicle 端點網址,並附加 API 金鑰和密鑰做為查詢參數)。
  7. 按一下「檢查連線」,確認已連線至設定的端點。
  8. 按一下「建立整合」
  9. 如果整合成功,通用 SIEM 整合的「設定」按鈕下方會顯示「正常運作」狀態。

產生 SIEM API 金鑰 (替代方法)

如果通用 SIEM 整合功能需要 API 金鑰進行驗證,而非 HTTPS 網址參數,請按照下列步驟產生金鑰:

  1. 以管理員身分登入 Island 管理控制台
  2. 依序前往「Modules」>「Platform Settings」>「System Settings」>「Integrations」>「SIEM」
  3. 按一下「Generic SIEM Integration」的「設定」
  4. 按一下「產生 API 金鑰」,即可建立新金鑰。
  5. 系統會顯示「Create a New API Key Integration」(建立新的 API 金鑰整合) 抽屜,其中包含產生的 API 金鑰。
  6. 將 API 金鑰複製到剪貼簿,並妥善保存。
  7. 按一下 [關閉]

重要事項:API 金鑰只會在產生時顯示一次。請立即複製並儲存。

所需權限

用來設定 SIEM 整合的 Island 管理控制台帳戶必須具備下列其中一個角色:

角色 說明
完整管理員 具備 Island 管理控制台的完整管理權限
系統管理員 具備管理整合權限的系統層級管理存取權

驗證方法參考資料

Chronicle 網頁掛鉤動態消息支援多種驗證方法。選擇供應商支援的方法。

如果供應商支援自訂 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.ipprincipal.asset.ip
public_ip principal.ipprincipal.asset.ip
machine_name principal.hostnameprincipal.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.hostnameevent.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.hostnameevent.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.ipevent.idm.read_only_udm.principal.asset.ip
source_ip event.idm.read_only_udm.principal.ipevent.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.hostnameevent.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 專業人員尋求答案。