Island Enterprise Browser のログを収集する
このドキュメントでは、Webhook を使用してログを Google Security Operations に push するように Island Enterprise Browser を構成する方法について説明します。
Island Enterprise Browser は、企業のセキュリティと IT ガバナンスを強化するために設計された、Chromium ベースの企業向けブラウザです。これにより、組織はユーザーがウェブ アプリケーションをどのように操作しているかを制御、モニタリングし、コピー、貼り付け、ダウンロード、アップロード、スクリーンショットのキャプチャなど、ブラウザ アクティビティのあらゆる側面をきめ細かくポリシーで制御できます。Island は、重要な SaaS アプリケーションと内部ウェブ アプリケーションの完全な可視性、ガバナンス、コンプライアンスを実現すると同時に、組み込みのセーフ ブラウジング、ウェブ フィルタリング、エクスプロイト防止、ゼロトラスト ネットワーク アクセスをサポートします。
始める前に
次の前提条件を満たしていることを確認します。
- Google SecOps インスタンス
- Island Enterprise Browser は、HTTPS 経由の Webhook ベースの SIEM ログ配信をサポートしています。
- Google Cloud コンソールへのアクセス(API キーの作成用)
- 管理者権限(フル管理者またはシステム管理者ロール)を持つ Island 管理コンソールへのアクセス
Google SecOps で Webhook フィードを作成する
フィードを作成する
- [設定] > [データ管理] > [フィード] に移動します。SIEM のみのプラットフォームを使用している場合は、[設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- 次のページで、[単一のフィードを構成する] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
Island Enterprise Browser Logs)。 - [Source type] として [Webhook] を選択します。
- [ログタイプ] として [Island Enterprise Browser] を選択します。
- [次へ] をクリックします。
- 次の入力パラメータの値を指定します。
- Split delimiter(省略可):
\nを入力して、NDJSON イベントを改行で分割します。 - Asset namespace: アセットの名前空間。
- Ingestion labels: このフィードのイベントに適用されるラベル。
- Split delimiter(省略可):
- [次へ] をクリックします。
- [Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
秘密鍵を生成して保存する
フィードを作成したら、認証用の秘密鍵を生成する必要があります。
- フィードの詳細ページで、[Generate Secret Key] をクリックします。
- ダイアログに秘密鍵が表示されます。
- 秘密鍵をコピーして安全に保存します。
重要: 秘密鍵は 1 回しか表示されず、後で取得することはできません。秘密鍵を紛失した場合は、新しい秘密鍵を生成する必要があります。
フィード エンドポイント URL を取得する
- フィードの [詳細] タブに移動します。
- [エンドポイント情報] セクションで、[フィードのエンドポイント URL] をコピーします。
URL の形式は次のとおりです。
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:importここで、
{region}は Google SecOps インスタンスのリージョン(us、europe、asia-southeast1など)、{parent}はprojects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>形式のリソースパスです。次の手順で使用するために、この URL を保存します。
[完了] をクリックします。
Google Cloud API キーを作成する
Chronicle では、認証に API キーが必要です。Google Cloud コンソールで制限付き API キーを作成します。
API キーを作成する
- Google Cloud コンソールの [認証情報] ページに移動します。
- プロジェクト(Chronicle インスタンスに関連付けられているプロジェクト)を選択します。
- [認証情報を作成] > [API キー] をクリックします。
- API キーが作成され、ダイアログに表示されます。
- [API キーを編集] をクリックしてキーを制限します。
API キーを制限する
- [API キー] の設定ページで、次の操作を行います。
- 名前: わかりやすい名前を入力します(例:
Chronicle Webhook API Key - Island)。
- 名前: わかりやすい名前を入力します(例:
- [API の制限] で次の操作を行います。
- [キーを制限] を選択します。
- [API を選択] プルダウンで、[Google SecOps API](または [Chronicle API])を検索して選択します。
- [保存] をクリックします。
- ページ上部の [API キー] フィールドから API キーの値をコピーします。
- API キーを安全に保存します。
Island Enterprise Browser の Webhook を構成する
Webhook URL を作成する
Chronicle エンドポイント URL と API キーを組み合わせます。
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...&secret=abcd1234...
Island 管理コンソールで SIEM 統合を作成する
- 管理者(フル管理者またはシステム管理者)として Island 管理コンソールにログインします。
- [Modules] > [Platform Settings] > [System Settings] > [Integrations] > [SIEM] に移動します。
- [Generic SIEM Integration] の [Setup] をクリックします。
- [Generic SIEM Integration Settings] ドロワーが表示されます。
- [Authentication Type] フィールドで、[HTTPS] を選択します。
- [Server URL] フィールドに、前の手順で作成した完全な Webhook URL(API キーと秘密鍵がクエリ パラメータとして追加された Chronicle エンドポイント URL)を貼り付けます。
- [Check Connection] をクリックして、構成されたエンドポイントへの接続を確認します。
- [統合を作成] をクリックします。
- 統合が成功すると、汎用 SIEM 統合の [設定] ボタンの下に [稼働中] ステータスが表示されます。
SIEM API キーを生成する(別の方法)
汎用 SIEM 統合で、HTTPS URL パラメータではなく認証に API キーが必要な場合は、次のように生成します。
- 管理者として Island 管理コンソールにログインします。
- [Modules] > [Platform Settings] > [System Settings] > [Integrations] > [SIEM] に移動します。
- [Generic SIEM Integration] の [Setup] をクリックします。
- [API キーを生成] をクリックして、新しいキーを作成します。
- [Create a New API Key Integration] ドロワーが表示され、生成された API キーが表示されます。
- API キーをクリップボードにコピーし、安全に保存します。
- [閉じる] をクリックします。
重要: API キーは生成時に 1 回だけ表示されます。すぐにコピーして保存してください。
必要な権限
SIEM 統合の構成に使用する Island Management Console アカウントには、次のいずれかのロールが必要です。
| ロール | 説明 |
|---|---|
| 完全な管理者 | Island 管理コンソールへの完全な管理者権限 |
| システム管理者 | 統合を管理する権限を持つシステムレベルの管理者権限 |
認証方法のリファレンス
Chronicle の Webhook フィードは、複数の認証方法をサポートしています。ベンダーがサポートしている方法を選択してください。
方法 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 キーとシークレットが URL に表示されない
- より安全(ヘッダーはウェブサーバーのアクセスログに記録されない)
- ベンダーが対応している場合に推奨される方法
方法 2: クエリ パラメータ
ベンダーがカスタム ヘッダーをサポートしていない場合は、URL に認証情報を追加します。
URL 形式:
<ENDPOINT_URL>?key=<API_KEY>&secret=<SECRET_KEY>例:
https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?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" }
デメリット:
- URL に表示される認証情報
- ウェブサーバーのアクセスログに記録される可能性がある
- ヘッダーよりも安全性が低い
方法 3: ハイブリッド(URL + ヘッダー)
一部の構成では、URL に 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 は、リージョンに応じて異なる管理コンソール URL を使用します。
| リージョン | 管理コンソールの URL | API ベース URL |
|---|---|---|
| US | https://management.island.io |
https://management.island.io/api/external/v1/ |
| EU | https://eu.management.island.io |
https://eu.management.island.io/api/external/v1/ |
Island Enterprise Browser テナント リージョンに対応する管理コンソールの URL を使用します。
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 のプロフェッショナルから回答を得ることができます。