GitHub の監査ログを収集する

以下でサポートされています。

概要

このパーサーは、JSON 形式の GitHub 監査ログを処理します。多数のフィールドを削除して入力をクリーンアップし、process_type フィールドに基づいて複数の grok オペレーションと Key-Value オペレーションを実行して関連情報を抽出し、抽出したフィールドを UDM にマッピングして、Google SecOps の取り込み用に構造化します。また、特定の例外的なケースを処理し、GitHub 監査ログ内のさまざまなログ サブタイプに対してデータ変換を実行します。

始める前に

次の前提条件を満たしていることを確認します。

  • Google SecOps インスタンス。
  • GitHub リポジトリへの特権アクセス。

フィードを設定する

Google SecOps プラットフォームでフィードを設定するには、次の 2 つのエントリ ポイントがあります。

  • [SIEM 設定] > [フィード]
  • [Content Hub] > [Content Packs]

[SIEM 設定] > [フィード] でフィードを設定する

フィードを構成する手順は次のとおりです。

  1. [SIEM Settings] > [Feeds] に移動します。
  2. [Add New Feed] をクリックします。
  3. 次のページで [単一のフィードを設定] をクリックします。
  4. [フィード名] フィールドに、フィードの名前を入力します(例: GitHub Logs)。
  5. [Source type] として [Webhook] を選択します。
  6. [ログタイプ] として [GitHub] を選択します。
  7. [次へ] をクリックします。
  8. 省略可: 次の入力パラメータの値を指定します。
    • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。
  9. [次へ] をクリックします。
  10. [Finalize] 画面でフィードの設定を確認し、[Submit] をクリックします。
  11. [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。
  12. 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。
  13. [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。
  14. [完了] をクリックします。

コンテンツ ハブからフィードを設定する

次のフィールドに値を指定します。

  • Split delimiter: ログ行を区切るために使用される区切り文字(\n など)。

詳細オプション

  • フィード名: フィードを識別する事前入力された値。
  • ソースタイプ: Google SecOps にログを収集するために使用される方法。
  • アセットの名前空間: フィードに関連付けられた名前空間。
  • Ingestion Labels: このフィードのすべてのイベントに適用されるラベル。

  • [秘密鍵を生成する] をクリックして、このフィードを認証するためのシークレット キーを生成します。

  • 秘密鍵をコピーして保存します。この秘密鍵を再び表示することはできません。必要に応じて、新しい秘密鍵を再生成できますが、この操作により以前の秘密鍵は無効になります。

  • [詳細] タブで、[エンドポイント情報] フィールドから、フィードのエンドポイント URL をコピーします。このエンドポイント URL をクライアント アプリケーション内で指定する必要があります。

Webhook フィード用の API キーを作成する

  1. Google Cloud コンソール > [認証情報] に移動します。

    [認証情報] に移動

  2. [認証情報を作成] をクリックして [API キー] を選択します。

  3. API キーのアクセスを Google Security Operations API に制限します。

エンドポイント URL を指定する

  1. クライアント アプリケーション内で、Webhook フィードで提供される HTTPS エンドポイント URL を指定します。
  2. 次の形式でカスタム ヘッダーの一部として API キーと秘密鍵を指定して、認証を有効にします。

    X-goog-api-key = API_KEY
    X-Webhook-Access-Key = SECRET
    

    推奨事項: API キーは URL 内ではなくヘッダーとして指定してください。Webhook クライアントがカスタム ヘッダーをサポートしていない場合は、次の形式のクエリ パラメータを使用して API キーと秘密鍵を指定できます。

    ENDPOINT_URL?key=API_KEY&secret=SECRET
    

以下を置き換えます。

  • ENDPOINT_URL: フィード エンドポイントの URL。
  • API_KEY: Google Security Operations に対する認証に使用する API キー。
  • SECRET: フィードの認証用に生成した秘密鍵。

GitHub で Webhook を作成する

このガイドでは、GitHub で Webhook を作成して Google SecOps にデータを送信する手順について説明します。

  1. GitHub リポジトリに移動します。
  2. [設定] に移動します。
  3. [Webhooks] をクリックします。
  4. [Add webhook] をクリックします。
  5. [ペイロード URL] フィールドに、Google SecOps API エンドポイントの URL を入力します。
  6. [コンテンツタイプ] として [application/json] を選択します。

    省略可: セキュリティを強化するには、シークレットを設定します。これにより、Webhook ペイロードの署名が生成され、Google SecOps 側で信頼性を検証できます。シークレットを使用する場合は、Google SecOps フィードでも構成します。

  7. Webhook をトリガーするイベントを選択します。包括的なロギングを行うには、[個別のイベントを選択] を選択し、関連するイベント([プッシュ[、[pull リクエスト]、[発行] など)をオンにします。不明な場合は、[push イベントのみ] から始めます。

  8. [Active] チェックボックスがオンになっていることを確認します。

  9. [Webhook を追加] をクリックして、構成を保存します。

UDM マッピング テーブル

ログフィールド UDM マッピング 論理
_document_id read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value 未加工ログの _document_id は、UDM 内の additional.fields 配列の Key-Value ペアにマッピングされます。
action read_only_udm.metadata.product_event_typeread_only_udm.security_result.summary action フィールドは、メタデータの product_event_typesecurity_resultsummary にマッピングされます。
actor read_only_udm.principal.user.userid アクションを実行するユーザーを表す actor フィールドは principal.user.userid にマッピングされます。
actor_id read_only_udm.principal.user.attribute.labels.[].keyread_only_udm.principal.user.attribute.labels.[].value actor_id は、principal.user.attribute.labels 配列内のラベルとしてマッピングされます。
actor_ip read_only_udm.principal.ip アクターの IP アドレスは principal.ip にマッピングされます。
actor_location.country_code read_only_udm.principal.location.country_or_region アクターの国コードは principal.location.country_or_region にマッピングされます。
application_name read_only_udm.target.application アプリケーション名は target.application にマッピングされます。
business read_only_udm.target.user.company_nameread_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value ビジネス名は target.user.company_name にマッピングされ、additional.fields の Key-Value ペアとしてマッピングされます。
business_id read_only_udm.target.resource.attribute.labels.[].keyread_only_udm.target.resource.attribute.labels.[].value ビジネス ID は target.resource.attribute.labels 配列内のラベルとしてマッピングされます。
config.url read_only_udm.target.url 構成 URL は target.url にマッピングされます。
created_at read_only_udm.metadata.event_timestamp created_at タイムスタンプは適切な形式に変換され、metadata.event_timestamp にマッピングされます。
data.cancelled_at read_only_udm.extensions.vulns.vulnerabilities.scan_end_time data.cancelled_at タイムスタンプが変換され、extensions.vulns.vulnerabilities.scan_end_time にマッピングされます。
data.email read_only_udm.target.email データ フィールドのメールアドレスは target.email にマッピングされます。
data.event read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value データ フィールドのイベントは、security_result.about.labels 配列内のラベルとしてマッピングされます。
data.events read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value データ フィールドのイベントは、security_result.about.labels 配列内のラベルとしてマッピングされます。
data.head_branch read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value データ フィールドのヘッドブランチは、security_result.about.labels 配列内のラベルとしてマッピングされます。
data.head_sha read_only_udm.target.file.sha256 データ フィールドのヘッド SHA は target.file.sha256 にマッピングされます。
data.hook_id read_only_udm.target.resource.attribute.labels.[].keyread_only_udm.target.resource.attribute.labels.[].value データ フィールドのフック ID は、target.resource.attribute.labels 配列内のラベルとしてマッピングされます。
data.started_at read_only_udm.extensions.vulns.vulnerabilities.scan_start_time data.started_at タイムスタンプが変換され、extensions.vulns.vulnerabilities.scan_start_time にマッピングされます。
data.team read_only_udm.target.user.group_identifiers データ フィールドのチームは target.user.group_identifiers にマッピングされます。
data.trigger_id read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value データ フィールドのトリガー ID は、security_result.about.labels 配列内のラベルとしてマッピングされます。
data.workflow_id read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value データ フィールドのワークフロー ID は、security_result.about.labels 配列内のラベルとしてマッピングされます。
data.workflow_run_id read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value データ フィールドのワークフロー実行 ID は、security_result.about.labels 配列内のラベルとしてマッピングされます。
enterprise.name read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value 企業名は、additional.fields の Key-Value ペアとしてマッピングされます。
external_identity_nameid read_only_udm.target.user.useridread_only_udm.target.user.email_addresses external_identity_nameid がメールアドレスの場合、ユーザー名部分が抽出されて target.user.userid にマッピングされ、完全なメールアドレスが target.user.email_addresses に追加されます。それ以外の場合、値全体が target.user.userid にマッピングされます。
external_identity_username read_only_udm.target.user.user_display_name 外部 ID のユーザー名は target.user.user_display_name にマッピングされます。
hashed_token read_only_udm.network.session_id ハッシュ化されたトークンは network.session_id にマッピングされます。
org read_only_udm.target.administrative_domain 組織は target.administrative_domain にマッピングされます。
org_id read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value 組織 ID は、additional.fields の Key-Value ペアとしてマッピングされます。
programmatic_access_type read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value プログラムによるアクセスの種類は、additional.fields の Key-Value ペアとしてマッピングされます。
public_repo read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_valueread_only_udm.target.location.name public_repo の値によって、additional.fieldstarget.location.name の Key-Value ペアにマッピングされる値が決まります。「false」は「PRIVATE」にマッピングされ、その他の値は「PUBLIC」にマッピングされます。
query_string read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value クエリ文字列は、additional.fields の Key-Value ペアとしてマッピングされます。
rate_limit_remaining read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value 残りのレート制限は、additional.fields の Key-Value ペアとしてマッピングされます。
repo read_only_udm.target.resource.name リポジトリは target.resource.name にマッピングされます。
repo_id read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value リポジトリ ID は、additional.fields の Key-Value ペアとしてマッピングされます。
repository_public read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value リポジトリの公開フラグは、additional.fields の Key-Value ペアとしてマッピングされます。
request_body read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value リクエスト本文は、additional.fields の Key-Value ペアとしてマッピングされます。
request_method read_only_udm.network.http.method リクエスト メソッドは大文字に変換され、network.http.method にマッピングされます。
route read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value ルートは、additional.fields の Key-Value ペアとしてマッピングされます。
status_code read_only_udm.network.http.response_code ステータス コードは整数に変換され、network.http.response_code にマッピングされます。
token_id read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value トークン ID は、additional.fields の Key-Value ペアとしてマッピングされます。
token_scopes read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value トークン スコープは、additional.fields の Key-Value ペアとしてマッピングされます。
transport_protocol_name read_only_udm.network.application_protocol トランスポート プロトコル名は大文字に変換され、network.application_protocol にマッピングされます。
url_path read_only_udm.target.url URL パスは target.url にマッピングされます。
user read_only_udm.target.user.user_display_name ユーザーは target.user.user_display_name にマッピングされます。
user_agent read_only_udm.network.http.user_agentread_only_udm.network.http.parsed_user_agent ユーザー エージェントは network.http.user_agent にマッピングされ、解析されたバージョンは network.http.parsed_user_agent にマッピングされます。
user_id read_only_udm.target.user.userid ユーザー ID は target.user.userid にマッピングされます。
workflow.name read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value ワークフロー名は、security_result.about.labels 配列内のラベルとしてマッピングされます。
workflow_run.event read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value ワークフローの実行イベントは、additional.fields の Key-Value ペアとしてマッピングされます。
workflow_run.head_branch read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value ワークフローの実行ヘッド ブランチは、security_result.about.labels 配列内のラベルとしてマッピングされます。
workflow_run.head_sha read_only_udm.target.file.sha256 ワークフローの実行ヘッド SHA は target.file.sha256 にマッピングされます。
workflow_run.id read_only_udm.target.resource.attribute.labels.[].keyread_only_udm.target.resource.attribute.labels.[].value ワークフロー実行 ID は、target.resource.attribute.labels 配列内のラベルとしてマッピングされます。
workflow_run.workflow_id read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value ワークフロー実行ワークフロー ID は、security_result.about.labels 配列内のラベルとしてマッピングされます。
(パーサー ロジック) read_only_udm.metadata.event_type イベントタイプは、data.teamactionactor などの他のフィールドの有無と値に基づいて、パーサーによって決定されます。他の特定の条件が満たされていない場合、デフォルトは USER_RESOURCE_ACCESS です。
(パーサー ロジック) read_only_udm.metadata.log_type ログタイプは「GITHUB」にハードコードされています。
(パーサー ロジック) read_only_udm.metadata.product_name 商品名は「GITHUB」にハードコードされています。
(パーサー ロジック) read_only_udm.metadata.vendor_name ベンダー名は「GITHUB」にハードコードされています。
(パーサー ロジック) read_only_udm.target.resource.resource_type repo フィールドが存在する場合、リソースタイプは STORAGE_OBJECT に設定されます。
(パーサー ロジック) read_only_udm.target.resource.type リソースタイプは action フィールドから取得されます。
(パーサー ロジック) read_only_udm.security_result.action セキュリティ アクション(ALLOW/BLOCK)は、at フィールドまたは raw.at フィールドから、これらが存在し、「success」と等しいかどうかによって取得されます。
(パーサー ロジック) read_only_udm.security_result.severity セキュリティの重大度は、存在する場合は level フィールドまたは SeverityText フィールドから取得されます。「INFO」は「INFORMATIONAL」に、「WARN」は「MEDIUM」にマッピングされ、その他の値は直接マッピングされます。git-daemon ログの場合、「fatal」は「CRITICAL」にマッピングされます。
(パーサー ロジック) read_only_udm.network.application_protocol アプリケーション プロトコルは、protocolprotobabeld_prototransport_protocol_nameraw.protocol フィールドから取得され、大文字に変換され、「HTTP」、「HTTPS」、「SSH」に対してチェックされます。
(パーサー ロジック) read_only_udm.network.application_protocol_version アプリケーション プロトコルのバージョンは、存在する場合は http_version フィールドから取得されます。
(パーサー ロジック) read_only_udm.network.http.parsed_user_agent 解析されたユーザー エージェントは、存在する場合は user_agentcolumn5http_uacontent フィールドから取得されます。
(パーサー ロジック) read_only_udm.network.received_bytes 受信バイトは、存在する場合は column3read_bytesfs_recvuploaded_bytes フィールドから取得され、符号なし整数に変換されます。
(パーサー ロジック) read_only_udm.network.received_packets 受信したパケットは、存在する場合は client_recv フィールドから取得され、整数に変換されます。
(パーサー ロジック) read_only_udm.network.response_code レスポンス コードは、存在する場合は column2statusstatus_codehttp_status フィールドから取得され、整数に変換されます。
(パーサー ロジック) read_only_udm.network.sent_bytes 送信バイトは、存在する場合は client_sent フィールドから取得され、符号なし整数に変換されます。
(パーサー ロジック) read_only_udm.network.sent_packets 送信されたパケットは、存在する場合は fs_sent フィールドから取得され、整数に変換されます。
(パーサー ロジック) read_only_udm.network.session_duration.seconds セッションの継続時間(秒)は、存在する場合は time_duration フィールドから取得され、整数に変換されます。
(パーサー ロジック) read_only_udm.target.file.full_path ターゲット ファイルのフルパスは、存在する場合は pathgit_dirdir フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.file.sha1 ターゲット ファイルの SHA1 は、存在する場合は sha フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.hostname ターゲット ホスト名は、存在する場合は client_hostname フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.ip ターゲット IP は、存在する場合は x_real_ipremote_addressclient_ipremote_addr フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.location.name ターゲット ロケーション名は、存在する場合は datacenter フィールドまたは public_repo フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.port 宛先ポートは、存在する場合は client_portdstpremote_port フィールドから取得され、整数に変換されます。
(パーサー ロジック) read_only_udm.target.process.command_line ターゲット プロセスのコマンドラインは、存在する場合は commandssh_cmdcmdlinecmd フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.process.parent_process.pid ターゲット プロセスの親プロセス ID は、存在する場合は ppid フィールドから取得され、文字列に変換されます。
(パーサー ロジック) read_only_udm.target.process.pid ターゲット プロセス ID は、存在する場合は pid フィールドから取得され、文字列に変換されます。
(パーサー ロジック) read_only_udm.target.url ターゲット URL は、存在する場合は urlhttp_urlrequest_urlhttp_requestdest_urlconfig.urlurl_path フィールドから取得されます。path_infoquery_string から構築することもできます。
(パーサー ロジック) read_only_udm.target.user.attribute.roles.[].name ターゲット ユーザーのロールは、存在する場合は actor_type フィールドまたは user_type フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.user.email_addresses ターゲット ユーザーのメールアドレスは、メールアドレスである場合は external_identity_nameid フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.user.group_identifiers ターゲット ユーザー グループの ID は、存在する場合は data.team フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.user.userid ターゲット ユーザー ID は、存在する場合は useridexternal_identity_nameidcurrent_usermemberuser_idactor_idraw.user_id フィールドから取得されます。
(パーサー ロジック) read_only_udm.target.user.user_display_name ターゲット ユーザーの表示名は、存在する場合は loginuserexternal_identity_usernameuser_loginraw.login フィールドから取得されます。
(パーサー ロジック) read_only_udm.principal.asset.asset_id プリンシパル アセット ID は guid フィールドから取得され、「GUID: 」という接頭辞が付いています。
(パーサー ロジック) read_only_udm.principal.hostname プリンシパルのホスト名は、存在する場合は hostnamerequest_hosthostprincipal_hostname フィールドから取得されます。
(パーサー ロジック) read_only_udm.principal.ip プリンシパル IP は、存在する場合は column6ipx_real_ipremote_addressraw.ipactor_iplog:source:ip フィールドから取得されます。
(パーサー ロジック) read_only_udm.principal.location.country_or_region 主なロケーションの国または地域は、存在する場合は actor_location.country_code フィールドから取得されます。
(パーサー ロジック) read_only_udm.principal.port プリンシパル ポートは、存在する場合は srcp フィールドまたは log:source:port フィールドから取得され、整数に変換されます。
(パーサー ロジック) read_only_udm.principal.resource.name プリンシパル リソース名は、存在する場合は service.name フィールドから派生します。
(パーサー ロジック) read_only_udm.principal.resource.product_object_id プリンシパル リソース プロダクト オブジェクト ID は、存在する場合は service.instance.id フィールドまたは subject_id フィールドから取得されます。
(パーサー ロジック) read_only_udm.principal.url プリンシパルの URL は、存在する場合は repo フィールドから取得されます。
(パーサー ロジック) read_only_udm.principal.user.userid プリンシパル ユーザー ID は、存在する場合は repository_owner_id フィールドから取得され、文字列に変換されます。
(パーサー ロジック) read_only_udm.principal.user.user_display_name プリンシパル ユーザーの表示名は、存在する場合は repo_name フィールドから取得されます。
(パーサー ロジック) read_only_udm.intermediary.hostname 中間ホスト名は、存在する場合は hostname フィールドから取得されます。
(パーサー ロジック) read_only_udm.intermediary.ip 中間 IP は、存在する場合は x_forwarded_for フィールドまたは xff_ip フィールドから取得されます。
(パーサー ロジック) read_only_udm.metadata.description メタデータの説明は、存在する場合は contentatraw.message フィールドから取得されます。
(パーサー ロジック) read_only_udm.metadata.product_event_type プロダクト イベントのタイプは、存在する場合は process_type フィールドまたは action フィールドから取得されます。
(パーサー ロジック) read_only_udm.metadata.product_log_id 商品ログ ID は、存在する場合は github_request_ididrequest_idraw.request_id フィールドから取得されます。
(パーサー ロジック) read_only_udm.metadata.product_version 商品のバージョンは、存在する場合は version フィールドから取得されます。
(パーサー ロジック) read_only_udm.security_result.about.labels.[].keyread_only_udm.security_result.about.labels.[].value data.eventsdata.workflow_idworkflow.namedata.head_branchdata.trigger_iddata.workflow_run_iddata.event などのフィールドの有無と値に基づいて、さまざまなラベルが security_result.about.labels 配列に追加されます。
(パーサー ロジック) read_only_udm.security_result.description セキュリティ結果の説明は、存在する場合は auth_statusdata_msgmsgBodydesccontent フィールドから取得されます。
(パーサー ロジック) read_only_udm.security_result.severity_details セキュリティ結果の重大度の詳細は、存在する場合は userid フィールドから取得されます。
(パーサー ロジック) read_only_udm.security_result.summary セキュリティ結果の概要は、存在する場合は creasonactionreason フィールドから取得されます。
(パーサー ロジック) read_only_udm.network.http.referral_url HTTP 参照 URL は、存在する場合は column4 フィールドまたは referer フィールドから取得されます。
(パーサー ロジック) read_only_udm.network.http.user_agent HTTP ユーザー エージェントは、存在する場合は column5http_uauser_agent フィールドから取得されます。
(パーサー ロジック) read_only_udm.network.sent_bytes ネットワークで送信されたバイト数は、存在する場合は client_sent フィールドまたは fs_sent フィールドから取得され、符号なし整数に変換されます。
(パーサー ロジック) read_only_udm.additional.fields.[].keyread_only_udm.additional.fields.[].value.string_value 多くのフィールドは、auth_fingerprintcontrolleroauth_access_idoauth_application_idoauth_scopesrouteworker_request_countreporepo_visibilityauthcontent_lengthelapsedcatalog_serviceactionmethodfailure_typefailure_reasonhashed_tokentoken_typegitauth_versionenterprise.nameprogrammatic_access_typetoken_idtoken_scopesintegrationquery_stringrate_limit_remainingrequest_bodyorg_idrepo_idrepository_publicraw.methodraw.failure_typeraw.failure_reasonraw.fromraw.raw_logindevice_cookieoperationoperation_typecategory_typebusinessnotereadpre_perform_allocation_countbackendqueueclasssuccessenvjob_idjob など、additional.fields 配列内の Key-Value ペアとして条件付きでマッピングされます。各フィールドの具体的なロジックは、パーサーコードで詳しく説明します。
(パーサー ロジック) read_only_udm.security_result.detection_fields.[].keyread_only_udm.security_result.detection_fields.[].value フィールド controller_actiontwo_factordelay_timequeued_timedelivery_builddelivery_sendstages は、条件付きで security_result.detection_fields 配列にマッピングされます。
(パーサー ロジック) read_only_udm.target.resource.attribute.labels.[].keyread_only_udm.target.resource.attribute.labels.[].value フィールド hook_idjob_namejob_workflow_refrunner_group_idrunner_group_namerunner_namerunner_idworkflow_run_idbusiness_id は、target.resource.attribute.labels 配列内のラベルとして条件付きでマッピングされます。
(パーサー ロジック) read_only_udm.metadata.event_timestamp タイムスタンプがサポートされている形式で直接使用できない場合、パーサーは tsnowcreated_atTimestamptimeraw.now などのさまざまなフィールドからタイムスタンプを抽出して変換しようとします。
(パーサー ロジック) read_only_udm.network.http.method HTTP メソッドは、methodcolumn1request_methodhttp_methodraw.method フィールドから取得され、大文字に変換されます。
(パーサー ロジック) read_only_udm.target.application ターゲット アプリケーションは、存在する場合は processprogramapp フィールドから取得されます。

さらにサポートが必要な場合 コミュニティ メンバーや Google SecOps のプロフェッショナルから回答を得ることができます。