GitHub 監査ログを収集する

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

概要

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

始める前に

  • Google SecOps インスタンスがあることを確認します。
  • GitHub リポジトリへの特権アクセス権があることを確認します。

GitHub ログを取り込むように Google SecOps でフィードを構成する

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

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. [Payload URL] フィールドに、Google SecOps API エンドポイントの URL を入力します。
  6. [Content type] に [application/json] を選択します。

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

  7. Webhook をトリガーするイベントを選択します。包括的なロギングを行うには、[Let me select individual events] を選択し、関連するイベント(PushPull RequestIssue など)をオンにします。不明な場合は、push イベントのみから始めます。

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

  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 ログの場合、「致命的」は「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 配列内のキー値ペアとして条件付きでマッピングされます。各フィールドの具体的なロジックは、パーサー コードで詳しく説明されています。
(パーサー ロジック) 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_method、または raw.method フィールドから取得され、大文字に変換されます。
(パーサー ロジック) read_only_udm.target.application ターゲット アプリケーションは、processprogramapp フィールド(存在する場合)から派生します。

変更点

2023-12-18

  • バグの修正:
  • 「process_type」が「github_production」の場合に、「kv_data」を抽出する Grok パターンを追加しました。
  • 「process_type」が「github_production」の場合、「user」を「target.user.user_display_name」にマッピングしました。
  • 「process_type」が「github_production」の場合、「user_id」を「target.user.userid」にマッピングしました。
  • 「referrer」を「network.http.referral_url」にマッピングしました。
  • 「user_session_id」を「network.session_id」にマッピングしました。
  • 「ip」を「principal.ip」にマッピングしました。
  • 「from」を「additional.fields」にマッピングしました。
  • 「request_category」を「additional.fields」にマッピングしました。
  • 「device_cookie」を「additional.fields」にマッピングしました。
  • 「operation_type」を「additional.fields」にマッピングしました。
  • 「category_type」を「additional.fields」にマッピングしました。
  • 「note」を「additional.fields」にマッピングしました。
  • 「read」を「additional.fields」にマッピングしました。
  • 「pre_perform_allocation_count」を「additional.fields」にマッピングしました。
  • 「backend」を「additional.fields」にマッピングしました。
  • 「queue」を「additional.fields」にマッピングしました。
  • 「class」を「additional.fields」にマッピングしました。
  • 「success」を「additional.fields」にマッピングしました。
  • 「controller_action」を「security_result.detection_fields」にマッピングしました。
  • 「two_factor」を「security_result.detection_fields」にマッピングしました。

2023-10-25

  • 「public_repo」が「false」の場合は「target.location.name」を「PRIVATE」に設定し、それ以外の場合は「PUBLIC」に設定します。

2023-10-11

  • 「user_agent」を「network.http.user_agent」と「network.http.parsed_user_agent」にマッピングしました。
  • 「request_method」を「network.http.method」にマッピングしました。
  • 「application_name」を「target.application」にマッピングしました。
  • 「status_code」を「network.http.response_code」にマッピングしました。
  • 「url_path」を「target.url」にマッピングしました。
  • 「user_id」を「target.userid」にマッピングしました。
  • 「transport_protocol_name」を「network.application_protocol」にマッピングしました。
  • 「raw.now」を「metadata.event_timestamp」にマッピングしました。
  • 「raw.ip」を「principal.ip」にマッピングしました。
  • 「raw.request_id」を「metadata.product_log_id」にマッピングしました。
  • 「raw.repo」を「target.url」にマッピングしました。
  • 「raw.action」を「security_result.summary」にマッピングしました。
  • 「raw.protocol」を「network.application_protocol」にマッピングしました。
  • 「raw.message」を「metadata.description」にマッピングしました。
  • 「raw.at」を「security_result.action」にマッピングしました。
  • 「raw.login」を「target.user_display_name」にマッピングしました。
  • 「raw.user_id」を「target.userid」にマッピングしました。
  • 「raw.failure_reason」、「raw.failure_type」、「raw.raw_login」、「raw.from」を「additional.fields」にマッピングしました。
  • 「programmatic_access_type」、「actor_id」、「token_id」、「token_scopes」、「integration」、「query_string」、「rate_limit_remaining」、「request_body」、「route」、「business」、「org_id」、「repo_id」、「public_repo」、「_document_id」、「operation_type」、「repository_public」を「additional.fields」にマッピングしました。

2023-07-31

  • バグの修正:
  • Grok パターンに「on_error」を追加しました。
  • 「workflow_run.id」を「target.resource.attribute.labels」にマッピングしました。
  • 「workflow_run.event」を「additional.fields」にマッピングしました。
  • 「workflow_run.actor.login」を「principal.user.userid」にマッピングしました。
  • 「workflow_run.head_branch」を「security_result.about.labels」にマッピングしました。
  • 「workflow_run.head_sha」を「target.file.sha256」にマッピングしました。
  • 「enterprise.name」を「additional.fields」にマッピングしました。
  • 「workflow.name」を「security_result.about.labels」にマッピングしました。
  • 「workflow_run.workflow_id」を「security_result.about.labels」にマッピングしました。

2023-06-22

  • 「github_auth」、「haproxy」、「github_access」、「github_unicorn」、「github_production」、「hookshot-go」、「babeld」、「github_gitauth」、「babeld2hydro」、「authzd」、「gitrpcd」、「agent」、「git-daemon」、「github_resqued」、「sudo」、「systemd」、「github_audit」の syslog ログ形式のサポートを追加しました。

2023-06-09

  • Enhancement-
  • メール形式の場合、「external_identity_nameid」を「target.user.email_addresses」にマッピングしました。
  • 「external_identity_nameid」からユーザー名を取得し、「target.user.userid」にマッピングします。

2023-01-13

  • Enhancement-
  • 「actor_ip」を「principal.ip」にマッピングしました。
  • 「hashed_token」を「network.session_id」にマッピングしました。
  • 「external_identity_nameid」を「target.user.userid」にマッピングしました。
  • 「external_identity_username」を「target.user.user_display_name」にマッピングしました。

2022-11-28

  • 拡張機能 - 「config.url」を「target.url」にマッピングしました。

2022-07-07

  • 拡張機能 - アクション「git.clone」、「git.push」、「workflows.prepared_workflow_job」を持つ新しく取り込まれた JSON 形式のログが処理され、解析されました。
  • 「job_name」を「target.resource.attribute.labels」にマッピングしました。
  • 「job_workflow_ref」を「target.resource.attribute.labels」にマッピングしました。
  • 「runner_group_id」を「target.resource.attribute.labels」にマッピングしました。
  • 「runner_group_name」を「target.resource.attribute.labels」にマッピングしました。
  • 「runner_name」を「target.resource.attribute.labels」にマッピングしました。
  • 「runner_id」を「target.resource.attribute.labels」にマッピングしました。
  • 「workflow_run_id」を「target.resource.attribute.labels」にマッピングしました。
  • 「actor_location.country_code」を「principal.location.country_or_region」にマッピングしました。