CrowdStrike Falcon Event Streams のログを収集する
このドキュメントでは、Google Cloud Storage V2 を使用して CrowdStrike Falcon Event Streams ログを Google Security Operations に取り込む方法について説明します。CrowdStrike Falcon Event Streams は、検出イベント、監査イベント、認証アクティビティ、インシデントの更新など、Falcon プラットフォームからセキュリティ イベント データを配信するリアルタイム ストリーミング API を提供します。Event Streams API は、/sensors/entities/datafeed/v2 エンドポイントとの永続的な HTTP 接続を使用して、準リアルタイムでイベントを push します。また、信頼性の高い配信のためにオフセットベースの再開をサポートしています。
始める前に
次の前提条件を満たしていることを確認してください。
- Google SecOps インスタンス。
- Cloud Storage API が有効になっている GCP プロジェクト。
- GCS バケットを作成、管理する権限。
- GCS バケットの IAM ポリシーを管理する権限。
- Cloud Run サービス、Pub/Sub トピック、Cloud Scheduler ジョブを作成する権限。
- API クライアントを作成する権限を持つ CrowdStrike Falcon Console への特権アクセス。
Google Cloud Storage バケットを作成する
- Google Cloud コンソールに移動します。
- プロジェクトを選択するか、新しいプロジェクトを作成します。
- ナビゲーション メニューで、[Cloud Storage > バケット] に移動します。
- [バケットを作成] をクリックします。
次の構成情報を提供してください。
設定 値 バケットに名前を付ける グローバルに一意の名前を入力します(例: cs-stream-logs)。ロケーション タイプ ニーズに応じて選択します(リージョン、デュアルリージョン、マルチリージョン)。 ロケーション 場所を選択します(例: us-central1)。ストレージ クラス Standard(頻繁にアクセスされるログにおすすめ) アクセス制御 均一(推奨) 保護ツール 省略可: オブジェクトのバージョニングまたは保持ポリシーを有効にする [作成] をクリックします。
CrowdStrike Falcon API アクセスを構成する
API クライアントを作成する
- CrowdStrike Falcon Console にログインします。
- ナビゲーション メニューで、[サポートとリソース> リソースとツール> API クライアントとキー] に移動します。
- [API クライアントを作成] をクリックします。
- 次の構成の詳細を入力します。
- クライアント名: わかりやすい名前を入力します(例:
Google SecOps Event Streams Integration)。 - 説明(省略可): 説明を入力します(例:
API client for streaming events to GCS)。
- クライアント名: わかりやすい名前を入力します(例:
- [API スコープ] セクションで、次の権限を選択します。
- イベント ストリーム: [読み取り] を選択します(ストリーミング API を使用するために必要)。
- [作成] をクリックします。
API 認証情報を記録する
API クライアントを作成すると、次の認証情報が届きます。
- クライアント ID: 32 文字の小文字の 16 進文字列。
- クライアント シークレット: 40 文字の英数字文字列。
- Base URL: CrowdStrike API の完全修飾ドメイン名(
api.crowdstrike.comやapi.us-2.crowdstrike.comなど)。
重要: クライアント シークレットをコピーしてすぐに保存します。この値は一度しか表示されず、後で取得することはできません。
リージョン エンドポイント
CrowdStrike は、異なる API エンドポイントを持つ複数のリージョンで動作します。
| 地域 | ベース URL |
|---|---|
| US-1 | api.crowdstrike.com |
| US-2 | api.us-2.crowdstrike.com |
| EU-1 | api.eu-1.crowdstrike.com |
| US-GOV-1 | api.laggar.gcw.crowdstrike.com |
重要: CrowdStrike Falcon Console のログイン リージョンに対応するベース URL を使用します。
権限を確認する
API クライアントに必要な権限があることを確認するには:
- CrowdStrike Falcon Console にログインします。
- [サポートとリソース] > [リソースとツール] > [API クライアントとキー] に移動します。
- 作成した API クライアントを見つけて、イベント ストリーム スコープに読み取りアクセス権が表示されていることを確認します。
テスト API へのアクセス
統合に進む前に、認証情報をテストします。
CLIENT_ID="<your-client-id>" CLIENT_SECRET="<your-client-secret>" BASE_URL="https://api.crowdstrike.com" # Get OAuth2 token TOKEN=$(curl -s -X POST "${BASE_URL}/oauth2/token" \ -H "Content-Type: application/x-www-form-urlencoded" \ -d "client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}" | python3 -c "import sys,json; print(json.load(sys.stdin)['access_token'])") # Test Event Streams API access (discover available data feeds) curl -s -H "Authorization: Bearer ${TOKEN}" \ "${BASE_URL}/sensors/entities/datafeed/v2?appId=secops-test&format=flatjson"
成功したレスポンスは、使用可能なストリーム パーティションごとに dataFeedURL フィールドと sessionToken フィールドを含む resources を含む JSON オブジェクトを返します。
Cloud Run functions のサービス アカウントを作成する
Cloud Run 関数には、GCS バケットに書き込み、Pub/Sub によって呼び出される権限を持つサービス アカウントが必要です。
サービス アカウントの作成
- GCP Console で、[IAM と管理>サービス アカウント] に移動します。
- [サービス アカウントを作成] をクリックします。
- 次の構成の詳細を入力します。
- サービス アカウント名: 「
cs-stream-collector-sa」と入力します。 - サービス アカウントの説明:
Service account for Cloud Run function to collect CrowdStrike Event Streams logsと入力します。
- サービス アカウント名: 「
- [作成して続行] をクリックします。
- [このサービス アカウントにプロジェクトへのアクセスを許可する] セクションで、次のロールを追加します。
- [ロールを選択] をクリックします。
- [ストレージ オブジェクト管理者] を検索して選択します。
- [+ 別のロールを追加] をクリックします。
- [Cloud Run 起動元] を検索して選択します。
- [+ 別のロールを追加] をクリックします。
- [Cloud Functions 起動元] を検索して選択します。
- [続行] をクリックします。
- [完了] をクリックします。
これらのロールは、次の操作に必要です。
- Storage オブジェクト管理者: ログを GCS バケットに書き込み、状態ファイルを管理する
- Cloud Run 起動元: Pub/Sub が関数を呼び出すことを許可します
- Cloud Functions 起動元: 関数の呼び出しを許可する
GCS バケットに対する IAM 権限を付与する
GCS バケットに対する書き込み権限をサービス アカウントに付与します。
- [Cloud Storage] > [バケット] に移動します。
- バケット名(例:
cs-stream-logs)をクリックします。 - [権限] タブに移動します。
- [アクセス権を付与] をクリックします。
- 次の構成の詳細を入力します。
- プリンシパルを追加: サービス アカウントのメールアドレス(例:
cs-stream-collector-sa@PROJECT_ID.iam.gserviceaccount.com)を入力します。 - ロールを割り当てる: [ストレージ オブジェクト管理者] を選択します。
- プリンシパルを追加: サービス アカウントのメールアドレス(例:
- [保存] をクリックします。
Pub/Sub トピックの作成
Cloud Scheduler がパブリッシュし、Cloud Run functions の関数がサブスクライブする Pub/Sub トピックを作成します。
- GCP Console で、[Pub/Sub> トピック] に移動します。
- [トピックを作成] をクリックします。
- 次の構成の詳細を入力します。
- トピック ID: 「
cs-stream-trigger」と入力します。 - その他の設定はデフォルトのままにします。
- トピック ID: 「
- [作成] をクリックします。
ログを収集する Cloud Run 関数を作成する
Cloud Run functions は、Cloud Scheduler からの Pub/Sub メッセージによってトリガーされ、CrowdStrike Event Streams API に接続してイベントを使用し、GCS に書き込みます。
- GCP Console で、[Cloud Run] に移動します。
- [サービスを作成] をクリックします。
- [関数] を選択します(インライン エディタを使用して関数を作成します)。
[構成] セクションで、次の構成の詳細を指定します。
設定 値 サービス名 cs-stream-collectorリージョン GCS バケットと一致するリージョンを選択します(例: us-central1)。ランタイム [Python 3.12] 以降を選択します。 [トリガー(省略可)] セクションで、次の操作を行います。
- [+ トリガーを追加] をクリックします。
- [Cloud Pub/Sub] を選択します。
- [Cloud Pub/Sub トピックを選択してください] で、[
cs-stream-trigger] を選択します。 - [保存] をクリックします。
[認証] セクションで次の操作を行います。
- [認証が必要] を選択します。
- Identity and Access Management(IAM)を確認します。
下にスクロールして、[コンテナ、ネットワーキング、セキュリティ] を開きます。
[セキュリティ] タブに移動します。
- サービス アカウント:
cs-stream-collector-saを選択します。
- サービス アカウント:
[コンテナ] タブに移動します。
- [変数とシークレット] をクリックします。
- 環境変数ごとに [+ 変数を追加] をクリックします。
変数名 値の例 説明 GCS_BUCKETcs-stream-logsGCS バケット名 GCS_PREFIXcrowdstrike/streamログファイルの接頭辞 STATE_KEYcrowdstrike/stream/state.json状態ファイルのパス CS_BASE_URLhttps://api.crowdstrike.comCrowdStrike API のベース URL CS_CLIENT_IDyour-client-idAPI クライアント ID CS_CLIENT_SECRETyour-client-secretAPI クライアント シークレット CS_APP_IDsecops-stream-collectorEvent Streams の一意のアプリ ID(最大 32 文字の英数字) STREAM_TIMEOUT300ストリーム読み取りタイムアウト(秒) MAX_RECORDS10000実行あたりの最大レコード数 [変数とシークレット] セクションで、[リクエスト] まで下にスクロールします。
- リクエストのタイムアウト:
600秒(10 分)を入力します。
- リクエストのタイムアウト:
[設定] タブに移動します。
- [リソース] セクションで次の操作を行います。
- メモリ: 512 MiB 以上を選択します。
- CPU: 1 を選択します。
- [リソース] セクションで次の操作を行います。
[リビジョン スケーリング] セクションで、次の操作を行います。
- [インスタンスの最小数]: 「
0」と入力します。 - インスタンスの最大数:
1と入力します(一度に実行できるストリーム コンシューマーは 1 つのみ)。
- [インスタンスの最小数]: 「
[作成] をクリックします。
サービスが作成されるまで待ちます(1 ~ 2 分)。
サービスが作成されると、インライン コードエディタが自動的に開きます。
関数コードを追加する
- [エントリ ポイント] フィールドに「main」と入力します。
インライン コードエディタで、次の 2 つのファイルを作成します。
main.py:
import functions_framework from google.cloud import storage import json import os import urllib3 from datetime import datetime, timezone # Initialize HTTP client with timeouts http = urllib3.PoolManager( timeout=urllib3.Timeout(connect=5.0, read=30.0), retries=False, ) # Initialize Storage client storage_client = storage.Client() # Environment variables GCS_BUCKET = os.environ.get('GCS_BUCKET') GCS_PREFIX = os.environ.get('GCS_PREFIX', 'crowdstrike/stream') STATE_KEY = os.environ.get('STATE_KEY', 'crowdstrike/stream/state.json') CS_BASE_URL = os.environ.get('CS_BASE_URL', 'https://api.crowdstrike.com') CS_CLIENT_ID = os.environ.get('CS_CLIENT_ID') CS_CLIENT_SECRET = os.environ.get('CS_CLIENT_SECRET') CS_APP_ID = os.environ.get('CS_APP_ID', 'secops-stream-collector') STREAM_TIMEOUT = int(os.environ.get('STREAM_TIMEOUT', '300')) MAX_RECORDS = int(os.environ.get('MAX_RECORDS', '10000')) def get_oauth_token(base_url: str, client_id: str, client_secret: str) -> str: """Get CrowdStrike OAuth2 access token.""" token_url = f"{base_url}/oauth2/token" body = f"client_id={client_id}&client_secret={client_secret}" response = http.request( 'POST', token_url, body=body.encode('utf-8'), headers={'Content-Type': 'application/x-www-form-urlencoded'} ) if response.status != 200: raise Exception(f"OAuth token request failed: {response.status}") data = json.loads(response.data.decode('utf-8')) return data['access_token'] def refresh_stream_session(base_url: str, token: str, app_id: str, partition: int = 0): """Refresh an active stream session to keep it alive.""" refresh_url = ( f"{base_url}/sensors/entities/datafeed-actions/v1/{partition}" f"?appId={app_id}&action_name=refresh_active_stream_session" ) response = http.request( 'POST', refresh_url, headers={ 'Authorization': f'Bearer {token}', 'Content-Type': 'application/json', } ) if response.status == 200: print("Stream session refreshed successfully") else: print(f"Warning: Stream session refresh returned {response.status}") @functions_framework.cloud_event def main(cloud_event): """ Cloud Run function triggered by Pub/Sub to fetch CrowdStrike Event Streams data and write to GCS. """ if not all([GCS_BUCKET, CS_BASE_URL, CS_CLIENT_ID, CS_CLIENT_SECRET]): print('Error: Missing required environment variables') return try: bucket = storage_client.bucket(GCS_BUCKET) # Load state state = load_state(bucket, STATE_KEY) # Get OAuth token token = get_oauth_token(CS_BASE_URL, CS_CLIENT_ID, CS_CLIENT_SECRET) headers = { 'Authorization': f'Bearer {token}', 'Accept': 'application/json', } # Discover available data feeds discover_url = ( f"{CS_BASE_URL}/sensors/entities/datafeed/v2" f"?appId={CS_APP_ID}&format=flatjson" ) response = http.request('GET', discover_url, headers=headers) if response.status != 200: print(f"Failed to discover data feed: {response.status}") print(f"Response: {response.data.decode('utf-8')}") return feed_data = json.loads(response.data.decode('utf-8')) resources = feed_data.get('resources', []) if not resources: print("No data feed resources available") return feed_url = resources[0].get('dataFeedURL', '') session_token = resources[0].get( 'sessionToken', {} ).get('token', '') if not feed_url or not session_token: print("Missing feed URL or session token") return # Build stream URL with offset if available stream_url = feed_url offset = state.get('offset') if offset: stream_url = f"{feed_url}&offset={offset}" # Connect to Event Stream stream_headers = { 'Authorization': f'Token {session_token}', 'Accept': 'application/json', 'Connection': 'keep-alive', } stream_http = urllib3.PoolManager( timeout=urllib3.Timeout( connect=10.0, read=float(STREAM_TIMEOUT) ), retries=False, ) print(f"Connecting to Event Stream...") resp = stream_http.request( 'GET', stream_url, headers=stream_headers, preload_content=False ) if resp.status != 200: print(f"Stream connection failed: {resp.status}") return records = [] latest_offset = offset now = datetime.now(timezone.utc) for line in resp.stream(4096): decoded = line.decode('utf-8').strip() if not decoded: continue try: event = json.loads(decoded) records.append(event) event_offset = event.get( 'metadata', {} ).get('offset') if event_offset is not None: latest_offset = event_offset if len(records) >= MAX_RECORDS: print( f"Reached max records limit ({MAX_RECORDS})" ) break except json.JSONDecodeError: continue resp.release_conn() if not records: print("No new events found in stream.") # Refresh stream session to keep it alive refresh_stream_session( CS_BASE_URL, token, CS_APP_ID ) return # Write to GCS as NDJSON timestamp = now.strftime('%Y%m%d_%H%M%S') object_key = f"{GCS_PREFIX}/logs_{timestamp}.ndjson" blob = bucket.blob(object_key) ndjson = '\n'.join( [json.dumps(r, ensure_ascii=False) for r in records] ) + '\n' blob.upload_from_string( ndjson, content_type='application/x-ndjson' ) print( f"Wrote {len(records)} records to " f"gs://{GCS_BUCKET}/{object_key}" ) # Save state with latest offset new_state = { 'offset': latest_offset, 'last_run': now.isoformat() } save_state(bucket, STATE_KEY, new_state) # Refresh stream session to keep it alive refresh_stream_session( CS_BASE_URL, token, CS_APP_ID ) print(f"Successfully processed {len(records)} events") except Exception as e: print(f'Error processing logs: {str(e)}') raise def load_state(bucket, key): """Load state from GCS.""" try: blob = bucket.blob(key) if blob.exists(): state_data = blob.download_as_text() return json.loads(state_data) except Exception as e: print(f"Warning: Could not load state: {e}") return {} def save_state(bucket, key, state: dict): """Save state to GCS.""" try: blob = bucket.blob(key) blob.upload_from_string( json.dumps(state, indent=2), content_type='application/json' ) print(f"Saved state: {state}") except Exception as e: print(f"Warning: Could not save state: {e}")
requirements.txt:
```none functions-framework==3.* google-cloud-storage==2.* urllib3>=2.0.0 ```[デプロイ] をクリックして、関数を保存してデプロイします。
デプロイが完了するまで待ちます(2 ~ 3 分)。
Cloud Scheduler ジョブの作成
Cloud Scheduler は、定期的に Pub/Sub トピックにメッセージをパブリッシュし、Cloud Run functions の関数をトリガーします。
- GCP Console で、[Cloud Scheduler] に移動します。
- [ジョブを作成] をクリックします。
次の構成情報を提供してください。
設定 値 名前 cs-stream-collector-scheduledリージョン Cloud Run functions と同じリージョンを選択する 周波数 */15 * * * *(15 分ごと)タイムゾーン タイムゾーンを選択します(UTC を推奨) ターゲット タイプ Pub/Sub トピック cs-stream-triggerを選択メッセージ本文 {}(空の JSON オブジェクト)[作成] をクリックします。
統合をテストする
- Cloud Scheduler コンソールで、ジョブを見つけます。
- [強制実行] をクリックして、ジョブを手動でトリガーします。
- 数秒待ちます。
- Cloud Run > サービスに移動します。
cs-stream-collectorをクリックします。- [ログ] タブをクリックします。
関数が正常に実行されたことを確認します。以下のものを探します。
Connecting to Event Stream... Wrote X records to gs://cs-stream-logs/crowdstrike/stream/logs_YYYYMMDD_HHMMSS.ndjson Stream session refreshed successfully Successfully processed X events[Cloud Storage] > [バケット] に移動します。
cs-stream-logsをクリックします。crowdstrike/stream/フォルダに移動します。現在のタイムスタンプで新しい
.ndjsonファイルが作成されたことを確認します。
ログにエラーが表示された場合:
- HTTP 401: 環境変数の API 認証情報を確認する
- HTTP 403: API クライアントにイベント ストリーム: 読み取りスコープがあることを確認する
- HTTP 429: レート制限 - スケジューラ頻度を調整するか、
STREAM_TIMEOUTを増やす - 環境変数が不足している: 必要な変数がすべて設定されていることを確認します
- 利用可能なデータフィード リソースがない:
CS_APP_IDが一意であり、英数字 32 文字を超えていないことを確認します。
Google SecOps サービス アカウントを取得する
Google SecOps は、一意のサービス アカウントを使用して GCS バケットからデータを読み取ります。このサービス アカウントにバケットへのアクセス権を付与する必要があります。
サービス アカウントのメールアドレスを取得する
- [SIEM 設定] > [フィード] に移動します。
- [Add New Feed] をクリックします。
- [単一フィードを設定] をクリックします。
- [フィード名] フィールドに、フィードの名前を入力します(例:
CrowdStrike Event Streams logs)。 - [ソースタイプ] として [Google Cloud Storage V2] を選択します。
- [ログタイプ] として [CrowdStrike Falcon Streaming] を選択します。
- [サービス アカウントを取得する] をクリックします。
一意のサービス アカウントのメールアドレスが表示されます(例:)。
chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.comこのメールアドレスをコピーして、次のステップで使用します。
[次へ] をクリックします。
次の入力パラメータの値を指定します。
ストレージ バケットの URL: 接頭辞パスを含む GCS バケット URI を入力します。
gs://cs-stream-logs/crowdstrike/stream/
Source deletion option: 必要に応じて削除オプションを選択します。
- なし: 転送後にファイルを削除しません(テストにおすすめ)。
- 転送されたファイルを削除する: 転送が完了した後にファイルを削除します。
転送されたファイルと空のディレクトリを削除する: 転送が完了した後にファイルと空のディレクトリを削除します。
ファイルの最大経過日数: 指定した日数以内に変更されたファイルを含めます(デフォルトは 180 日)。
アセットの名前空間: アセットの名前空間
Ingestion labels: このフィードのイベントに適用されるラベル
[次へ] をクリックします。
[Finalize] 画面で新しいフィードの設定を確認し、[送信] をクリックします。
Google SecOps サービス アカウントに IAM 権限を付与する
Google SecOps サービス アカウントには、GCS バケットに対する Storage オブジェクト閲覧者ロールが必要です。
- [Cloud Storage] > [バケット] に移動します。
cs-stream-logsをクリックします。- [権限] タブに移動します。
- [アクセス権を付与] をクリックします。
- 次の構成の詳細を入力します。
- プリンシパルを追加: Google SecOps サービス アカウントのメールアドレスを貼り付けます。
- ロールを割り当てる: [Storage オブジェクト閲覧者] を選択します。
[保存] をクリックします。
さらにサポートが必要な場合
Google Security Operations フィードの詳細については、Google Security Operations フィードのドキュメントをご覧ください。各フィードタイプの要件については、タイプ別のフィード構成をご覧ください。
リファレンスについては、CrowdStrike Falcon Event Streams パーサーのドキュメントをご覧ください。
UDM マッピング テーブル
| ログフィールド | UDM マッピング | 論理 |
|---|---|---|
event_data.AssociatedFile |
about.file.full_path |
直接マッピングされます。 |
event_data.IOCValue |
about.file.sha256 |
直接マッピングされます。 |
ActivityId_label |
additional.fields |
統合済み |
ActivityOperatingSystem_label |
additional.fields |
統合済み |
ModelAnomalyIndicators_label |
additional.fields |
統合済み |
SourceEndpointIpReputation_label |
additional.fields |
統合済み |
SourceIpIspClassification_label |
additional.fields |
統合済み |
SourceIpIspDomain_label |
additional.fields |
統合済み |
additional_deviceCustomDate1 |
additional.fields |
統合済み |
additional_domainname |
additional.fields |
統合済み |
commands_label |
additional.fields |
統合済み |
data_domains_label |
additional.fields |
統合済み |
dns_request_domain_name_label |
additional.fields |
統合済み |
dns_request_type_label |
additional.fields |
統合済み |
dnsrequest_interface_index_label |
additional.fields |
統合済み |
dnsrequest_load_time_label |
additional.fields |
統合済み |
eventType |
additional.fields |
マッピングされた値(合計 8 個、例: "EppDetectionSummaryEvent","IdpDetectionSummaryEvent" → `file... |
event_data_ContextTimeStamp_id_label |
additional.fields |
統合済み |
event_data_MobileDetectionId_id_label |
additional.fields |
統合済み |
field1 |
additional.fields |
統合済み |
fileaccessed_full_path_label |
additional.fields |
統合済み |
fileaccessed_timestamp_label |
additional.fields |
統合済み |
filewritten_full_path_label |
additional.fields |
統合済み |
filewritten_timestamp_label |
additional.fields |
統合済み |
reputation_label_list_values |
additional.fields |
統合済み |
sourceipasncode_label |
additional.fields |
統合済み |
sourceipasnorg_label |
additional.fields |
統合済み |
eventType |
extensions.auth.mechanism |
マッピング: "saml2Assert", "twoFactorAuthenticate" → mechanism |
mechanism |
extensions.auth.mechanism |
統合済み |
eventType |
extensions.auth.type |
マッピング: "assert", "userAuthenticate" → AUTHTYPE_UNSPECIFIED |
description |
metadata.description |
直接マッピングされます。 |
event_data.Description |
metadata.description |
直接マッピングされます。 |
incidentDescription |
metadata.description |
直接マッピングされます。 |
msg |
metadata.description |
直接マッピングされます。 |
name |
metadata.description |
直接マッピングされます。 |
serviceName |
metadata.description |
直接マッピングされます。 |
devTime |
metadata.event_timestamp |
yyyy-MM-dd HH:mm:ss として解析 |
deviceCustomDate1 |
metadata.event_timestamp |
MMM dd yyyy HH:mm:ss として解析 |
event_data.UTCTimestamp |
metadata.event_timestamp |
UNIX_MS として解析 |
meta.eventCreationTime |
metadata.event_timestamp |
UNIX_MS として解析 |
meta.event_dataCreationTime |
metadata.event_timestamp |
UNIX_MS として解析 |
timestamp |
metadata.event_timestamp |
UNIX_MS として解析 |
eventType |
metadata.event_type |
マッピングされた値(合計 6 個、例: "saml2Assert", "twoFactorAuthenticate" → USER_LOGIN、` "r... |
has_principal |
metadata.event_type |
マッピング: true → STATUS_UPDATE、true → SCAN_FILE |
has_user |
metadata.event_type |
マッピング: false → GENERIC_EVENT |
cid |
metadata.product_deployment_id |
直接マッピングされます。 |
eventType |
metadata.product_event_type |
直接マッピングされます。 |
event_data_simpleName |
metadata.product_event_type |
直接マッピングされます。 |
event_data.AgentId |
metadata.product_log_id |
直接マッピングされます。 |
id |
metadata.product_log_id |
直接マッピングされます。 |
product |
metadata.product_name |
直接マッピングされます。 |
meta.version |
metadata.product_version |
直接マッピングされます。 |
version |
metadata.product_version |
直接マッピングされます。 |
cs6 |
metadata.url_back_to_product |
直接マッピングされます。 |
url |
metadata.url_back_to_product |
直接マッピングされます。 |
vendor |
metadata.vendor_name |
直接マッピングされます。 |
connectionDirection |
network.direction |
マッピング: 0 → OUTBOUND、1 → INBOUND |
event_data.Attributes.request_method |
network.http.method |
直接マッピングされます。 |
event_data.FalconHostLink |
network.http.referral_url |
直接マッピングされます。 |
request |
network.http.referral_url |
直接マッピングされます。 |
event_data.Attributes.status_code |
network.http.response_code |
直接マッピングされます。 |
event_data.Attributes.user_agent |
network.http.user_agent |
直接マッピングされます。 |
protocol |
network.ip_protocol |
マッピング: 6 → TCP、17 → UDP、58 → ICMP |
event_data.Attributes.trace_id |
network.session_id |
直接マッピングされます。 |
event_data.SessionId |
network.session_id |
直接マッピングされます。 |
value_issuer |
network.tls.server.certificate.issuer |
直接マッピングされます。 |
domain |
principal.administrative_domain |
直接マッピングされます。 |
event_data.DataDomains |
principal.administrative_domain |
直接マッピングされます。 |
event_data.SourceAccountDomain |
principal.administrative_domain |
直接マッピングされます。 |
event_data_ActivityBrowser |
principal.application |
直接マッピングされます。 |
aid |
principal.asset.asset_id |
直接マッピングされます。 |
event_data.AgentIdString |
principal.asset.asset_id |
直接マッピングされます。 |
event_data_SensorId |
principal.asset.asset_id |
直接マッピングされます。 |
ComputerName |
principal.asset.hostname |
直接マッピングされます。 |
endpointName |
principal.asset.hostname |
直接マッピングされます。 |
event_data.EndpointName |
principal.asset.hostname |
直接マッピングされます。 |
event_data.Hostname |
principal.asset.hostname |
直接マッピングされます。 |
event_data.HostnameField |
principal.asset.hostname |
直接マッピングされます。 |
event_data.SourceEndpointHostName |
principal.asset.hostname |
直接マッピングされます。 |
event_data_ComputerName |
principal.asset.hostname |
直接マッピングされます。 |
hostName |
principal.asset.hostname |
直接マッピングされます。 |
ClientIP |
principal.asset.ip |
統合済み |
LocalAddressIP4 |
principal.asset.ip |
統合済み |
aip |
principal.asset.ip |
統合済み |
event_data.EndpointIp |
principal.asset.ip |
統合済み |
event_data.LocalIP |
principal.asset.ip |
統合済み |
event_data.LocalIPv6 |
principal.asset.ip |
統合済み |
event_data.SourceEndpointIpAddress |
principal.asset.ip |
統合済み |
event_data.UserIp |
principal.asset.ip |
統合済み |
ip |
principal.asset.ip |
統合済み |
localAddress |
principal.asset.ip |
統合済み |
remoteAddress |
principal.asset.ip |
統合済み |
src |
principal.asset.ip |
統合済み |
event_data.MACAddress |
principal.asset.mac |
統合済み |
event_data_SensorId |
principal.asset_id |
直接マッピングされます。 |
ComputerName |
principal.hostname |
直接マッピングされます。 |
endpointName |
principal.hostname |
直接マッピングされます。 |
event_data.EndpointName |
principal.hostname |
直接マッピングされます。 |
event_data.Hostname |
principal.hostname |
直接マッピングされます。 |
event_data.HostnameField |
principal.hostname |
直接マッピングされます。 |
event_data.SourceEndpointHostName |
principal.hostname |
直接マッピングされます。 |
event_data_ComputerName |
principal.hostname |
直接マッピングされます。 |
hostName |
principal.hostname |
直接マッピングされます。 |
ClientIP |
principal.ip |
統合済み |
LocalAddressIP4 |
principal.ip |
統合済み |
aip |
principal.ip |
統合済み |
event_data.EndpointIp |
principal.ip |
統合済み |
event_data.LocalIP |
principal.ip |
統合済み |
event_data.LocalIPv6 |
principal.ip |
統合済み |
event_data.SourceEndpointIpAddress |
principal.ip |
統合済み |
event_data.UserIp |
principal.ip |
統合済み |
ip |
principal.ip |
統合済み |
localAddress |
principal.ip |
統合済み |
remoteAddress |
principal.ip |
統合済み |
src |
principal.ip |
統合済み |
event_data_LocationCountryCode |
principal.location.country_or_region |
直接マッピングされます。 |
event_data.MACAddress |
principal.mac |
統合済み |
srcMAC |
principal.mac |
統合済み |
event_data_platformName |
principal.platform |
マッピング: (?i)Linux → LINUX、(?i)Windows → WINDOWS、(?i)mac/ios → MAC |
localPort |
principal.port |
直接マッピングされます。 |
exeWrittenFilePath |
principal.process.file.full_path |
直接マッピングされます。 |
event_data.ParentCommandLine |
principal.process.parent_process.command_line |
直接マッピングされます。 |
event_data.ParentImageFilePath |
principal.process.parent_process.file.full_path |
直接マッピングされます。 |
eventType |
principal.process.parent_process.file.names |
マッピング: "EppDetectionSummaryEvent","IdpDetectionSummaryEvent" → `event_data.ParentImageFil... |
event_data.ParentImageFileName |
principal.process.parent_process.file.names |
統合済み |
event_data.ParentProcessId |
principal.process.parent_process.pid |
直接マッピングされます。 |
event_data.ProcessId |
principal.process.pid |
直接マッピングされます。 |
event_data.Attributes.assign_to_user_id |
principal.user.email_addresses |
統合済み |
event_data.SourceAccountUpn |
principal.user.email_addresses |
統合済み |
userName |
principal.user.email_addresses |
マッピング: ^.+@.+$ → userName |
user_email |
principal.user.email_addresses |
統合済み |
eventType |
principal.user.group_identifiers |
マッピング: "EppDetectionSummaryEvent","IdpDetectionSummaryEvent" → event_data.LogonDomain |
event_data.LogonDomain |
principal.user.group_identifiers |
統合済み |
event_data.Attributes.assign_to_name |
principal.user.user_display_name |
直接マッピングされます。 |
event_data.UserName |
principal.user.user_display_name |
直接マッピングされます。 |
event_data.SourceAccountName |
principal.user.userid |
直接マッピングされます。 |
event_data.UserId |
principal.user.userid |
直接マッピングされます。 |
userName |
principal.user.userid |
直接マッピングされます。 |
usrName |
principal.user.userid |
直接マッピングされます。 |
event_data.SourceAccountObjectSid |
principal.user.windows_sid |
直接マッピングされます。 |
_security_result |
security_result |
統合済み |
applicationName |
target.application |
直接マッピングされます。 |
event_data.Source |
target.application |
直接マッピングされます。 |
event_data_SsoApplicationIdentifier |
target.application |
直接マッピングされます。 |
serviceName |
target.application |
直接マッピングされます。 |
event_data.CompositeId |
target.asset.asset_id |
直接マッピングされます。 |
dhost |
target.asset.hostname |
直接マッピングされます。 |
event_data.TargetEndpointHostName |
target.asset.hostname |
直接マッピングされます。 |
IP |
target.asset.ip |
統合済み |
dst |
target.asset.ip |
統合済み |
event_data.IOCValue |
target.asset.ip |
統合済み |
event_data.TargetEndpointIpAddress |
target.asset.ip |
統合済み |
TargetFileName |
target.file.full_path |
直接マッピングされます。 |
event_data.FilePath |
target.file.full_path |
直接マッピングされます。 |
event_data.MD5String |
target.file.md5 |
直接マッピングされます。 |
eventType |
target.file.names |
マッピング: "EppDetectionSummaryEvent","IdpDetectionSummaryEvent" → fileaccessed.FileName、`... |
event_data.FileName |
target.file.names |
統合済み |
exeWrittenFileName |
target.file.names |
統合済み |
fileName |
target.file.names |
統合済み |
fileaccessed.FileName |
target.file.names |
統合済み |
filewritten.FileName |
target.file.names |
統合済み |
event_data.SHA1String |
target.file.sha1 |
直接マッピングされます。 |
event_data.SHA256String |
target.file.sha256 |
直接マッピングされます。 |
sha256 |
target.file.sha256 |
直接マッピングされます。 |
Size |
target.file.size |
直接マッピングされます。 |
dhost |
target.hostname |
直接マッピングされます。 |
event_data.TargetEndpointHostName |
target.hostname |
直接マッピングされます。 |
IP |
target.ip |
統合済み |
dst |
target.ip |
統合済み |
event_data.IOCValue |
target.ip |
統合済み |
event_data.TargetEndpointIpAddress |
target.ip |
統合済み |
dpt |
target.port |
名前変更/マッピング済み |
remotePort |
target.port |
名前変更/マッピング済み |
cmdLine |
target.process.command_line |
直接マッピングされます。 |
commandLine |
target.process.command_line |
直接マッピングされます。 |
event_data.CommandLine |
target.process.command_line |
直接マッピングされます。 |
filePath |
target.process.file.full_path |
直接マッピングされます。 |
md5 |
target.process.file.md5 |
直接マッピングされます。 |
event_data_itempostedtimestamp_label |
target.resource.attribute.labels |
統合済み |
event_data_itemtype_label |
target.resource.attribute.labels |
統合済み |
resource |
target.resource.name |
直接マッピングされます。 |
event_data_itemid |
target.resource.product_object_id |
直接マッピングされます。 |
eventType |
target.resource.type |
マッピング: "remove_group", "update_group" → GROUP、delete_group → GROUP |
event_data.Attributes.request_path |
target.url |
直接マッピングされます。 |
eventType |
target.user.email_addresses |
マッピング: "saml2Assert", "twoFactorAuthenticate", "assert", "userAuthenticate" → user_email |
user_email |
target.user.email_addresses |
統合済み |
usrName |
target.user.userid |
直接マッピングされます。 |
event_data.TargetEndpointAccountObjectSid |
target.user.windows_sid |
直接マッピングされます。 |
| なし | extensions.auth.type |
定数: AUTHTYPE_UNSPECIFIED |
| なし | metadata.event_type |
定数: GENERIC_EVENT |
| なし | metadata.product_name |
定数: FalconHost |
| なし | metadata.vendor_name |
定数: CrowdStrike |
| なし | network.direction |
定数: OUTBOUND |
| なし | network.ip_protocol |
定数: TCP |
| なし | principal.platform |
定数: LINUX |
| なし | target.resource.type |
定数: GROUP |
さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。