收集 GitHub 稽核記錄
總覽
這個剖析器會處理 JSON 格式的 GitHub 稽核記錄。這項工具會移除多個欄位來清理輸入內容,並根據 process_type 欄位執行多項 Grok 和鍵/值作業,以便擷取相關資訊、將擷取的欄位對應至 UDM,以及為 Google SecOps 攝入作業建構輸出內容。它也會處理特定極端情況,並針對 GitHub 稽核記錄中的不同記錄子類型執行資料轉換作業。
事前準備
請確認您已完成下列事前準備:
- Google SecOps 執行個體。
- 可存取 GitHub 存放區的權限。
設定動態饋給
在 Google SecOps 平台中,有兩個不同的入口可用來設定動態消息:
- SIEM 設定 > 動態饋給
- 內容中心 > 內容包
依序前往「SIEM 設定」>「動態饋給」,設定動態饋給
如要設定動態饋給,請按照下列步驟操作:
- 依序前往「SIEM 設定」>「動態」。
- 按一下「新增動態消息」。
- 在下一頁中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給的名稱 (例如「GitHub 記錄」)。
- 將「來源類型」設為「Webhook」。
- 選取「記錄類型」為「GitHub」。
- 點選「下一步」。
- 選用:指定下列輸入參數的值:
- 分隔符號:用於分隔記錄行 (例如
\n
) 的分隔符號。
- 分隔符號:用於分隔記錄行 (例如
- 點選「下一步」。
- 在「Finalize」畫面中查看動態饋給設定,然後按一下「Submit」。
- 按一下「產生密鑰」,即可產生密鑰來驗證這項動態饋給。
- 複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
- 在「Details」分頁中,從「Endpoint Information」欄位複製動態饋給端點網址。您必須在用戶端應用程式中指定這個端點網址。
- 按一下 [完成]。
透過內容中心設定動態饋給
指定下列欄位的值:
- 分隔符號:用於分隔記錄行 (例如
\n
) 的分隔符號。
進階選項
- 動態饋給名稱:預先填入的值,用於識別動態饋給。
- 來源類型:用於收集記錄並匯入 Google SecOps 的方法。
- 素材資源命名空間:與動態饋給相關聯的命名空間。
攝入標籤:套用至這個動態饋給中所有事件的標籤。
按一下「產生密鑰」,即可產生密鑰來驗證這項動態饋給。
複製並儲存密鑰。您無法再次查看這個密鑰。如有需要,您可以重新產生新的密鑰,但這項操作會使先前的密鑰失效。
在「Details」分頁中,從「Endpoint Information」欄位複製動態饋給端點網址。您必須在用戶端應用程式中指定這個端點網址。
為 webhook 動態饋給建立 API 金鑰
依序前往 Google Cloud 主控台 >「憑證」。
按一下 [Create credentials] (建立憑證),然後選取 [API key] (API 金鑰)。
將 API 金鑰的存取權限制在 Google Security Operations API。
指定端點網址
- 在用戶端應用程式中,指定 webhook 動態饋給中提供的 HTTPS 端點網址。
請按照下列格式,將 API 金鑰和密鑰指定為自訂標頭的一部分,啟用驗證機制:
X-goog-api-key = API_KEY X-Webhook-Access-Key = SECRET
建議:請將 API 金鑰指定為標頭,而非在網址中指定。如果 webhook 用戶端不支援自訂標頭,您可以使用查詢參數指定 API 金鑰和密鑰,格式如下:
ENDPOINT_URL?key=API_KEY&secret=SECRET
更改下列內容:
ENDPOINT_URL
:動態饋給端點網址。API_KEY
:用於向 Google Security Operations 驗證的 API 金鑰。SECRET
:您用來驗證動態饋給而產生的密鑰。
在 GitHub 上建立 Webhook
本指南提供逐步操作說明,說明如何在 GitHub 上建立 webhook,以便將資料傳送至 Google SecOps。
- 前往 GitHub 存放區。
- 前往 [設定]。
- 按一下「Webhook」。
- 按一下 [Add Webhook]。
- 在「Payload URL」欄位中輸入 Google SecOps API 端點網址。
選取「Content type」為「application/json」。
選用:為了提高安全性,請設定密碼。這會為 webhook 酬載產生簽名,讓您在 Google SecOps 端驗證其真實性。如果您使用機密金鑰,請一併在 Google SecOps 動態饋給中設定。
選擇會觸發 webhook 的事件。如要取得完整的記錄資訊,請選取「讓我選取個別事件」,然後勾選相關事件 (例如「推送」、「拉取要求」、「問題」)。如果您不確定,請先從只使用
push
事件開始。確認已勾選「Active」核取方塊。
按一下「新增 Webhook」,儲存設定。
UDM 對應表
記錄欄位 | UDM 對應 | 邏輯 |
---|---|---|
_document_id |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
原始記錄檔中的 _document_id 會對應至 UDM 中 additional.fields 陣列中的鍵/值組合。 |
action |
read_only_udm.metadata.product_event_type 、read_only_udm.security_result.summary |
action 欄位會對應至中繼資料中的 product_event_type ,以及 security_result 中的 summary 。 |
actor |
read_only_udm.principal.user.userid |
代表執行動作的使用者的 actor 欄位會對應至 principal.user.userid 。 |
actor_id |
read_only_udm.principal.user.attribute.labels.[].key 、read_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_name 、read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
商家名稱會對應至 target.user.company_name ,並以鍵/值組合的形式儲存在 additional.fields 中。 |
business_id |
read_only_udm.target.resource.attribute.labels.[].key 、read_only_udm.target.resource.attribute.labels.[].value |
商家 ID 會對應至 target.resource.attribute.labels 陣列中的標籤。 |
config.url |
read_only_udm.target.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.[].key 、read_only_udm.security_result.about.labels.[].value |
資料欄位的事件會對應為 security_result.about.labels 陣列中的標籤。 |
data.events |
read_only_udm.security_result.about.labels.[].key 、read_only_udm.security_result.about.labels.[].value |
資料欄位的事件會在 security_result.about.labels 陣列中對應為標籤。 |
data.head_branch |
read_only_udm.security_result.about.labels.[].key 、read_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.[].key 、read_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.[].key 、read_only_udm.security_result.about.labels.[].value |
資料欄位的觸發 ID 會對應為 security_result.about.labels 陣列中的標籤。 |
data.workflow_id |
read_only_udm.security_result.about.labels.[].key 、read_only_udm.security_result.about.labels.[].value |
資料欄位中的工作流程 ID 會對應為 security_result.about.labels 陣列中的標籤。 |
data.workflow_run_id |
read_only_udm.security_result.about.labels.[].key 、read_only_udm.security_result.about.labels.[].value |
資料欄位中的工作流程執行 ID 會對應為 security_result.about.labels 陣列中的標籤。 |
enterprise.name |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
企業名稱會在 additional.fields 中對應為鍵/值組合。 |
external_identity_nameid |
read_only_udm.target.user.userid 、read_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 |
外部身分使用者名稱會對應至 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.[].key 、read_only_udm.additional.fields.[].value.string_value |
機構 ID 會在 additional.fields 中對應為鍵/值組合。 |
programmatic_access_type |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
程式輔助存取類型會在 additional.fields 中對應為鍵/值組合。 |
public_repo |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value 、read_only_udm.target.location.name |
public_repo 值會決定對應至 additional.fields 和 target.location.name 中鍵/值組合的值。「false」會對應至「PRIVATE」,其他值則會對應至「PUBLIC」。 |
query_string |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
查詢字串會在 additional.fields 中對應為鍵/值組合。 |
rate_limit_remaining |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
在 additional.fields 中,速率限制剩餘量會對應為鍵/值組合。 |
repo |
read_only_udm.target.resource.name |
存放區會對應至 target.resource.name 。 |
repo_id |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
在 additional.fields 中,存放區 ID 會對應為鍵/值組合。 |
repository_public |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
在 additional.fields 中,存放區公開標記會對應為鍵/值組合。 |
request_body |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
要求主體會在 additional.fields 中對應為鍵/值組合。 |
request_method |
read_only_udm.network.http.method |
要求方法會轉換為大寫並對應至 network.http.method 。 |
route |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
路線會在 additional.fields 中對應為鍵/值組合。 |
status_code |
read_only_udm.network.http.response_code |
系統會將狀態碼轉換為整數,並對應至 network.http.response_code 。 |
token_id |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
權杖 ID 會在 additional.fields 中對應為鍵/值組合。 |
token_scopes |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
符記範圍會在 additional.fields 中對應為鍵/值組合。 |
transport_protocol_name |
read_only_udm.network.application_protocol |
傳輸通訊協定名稱會轉換為大寫,並對應至 network.application_protocol 。 |
url_path |
read_only_udm.target.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_agent 、read_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.[].key 、read_only_udm.security_result.about.labels.[].value |
工作流程名稱會對應為 security_result.about.labels 陣列中的標籤。 |
workflow_run.event |
read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
工作流程執行事件會在 additional.fields 中對應為鍵/值組合。 |
workflow_run.head_branch |
read_only_udm.security_result.about.labels.[].key 、read_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.[].key 、read_only_udm.target.resource.attribute.labels.[].value |
工作流程執行 ID 會對應為 target.resource.attribute.labels 陣列中的標籤。 |
workflow_run.workflow_id |
read_only_udm.security_result.about.labels.[].key 、read_only_udm.security_result.about.labels.[].value |
工作流程執行工作流程 ID 會對應為 security_result.about.labels 陣列中的標籤。 |
(剖析器邏輯) | read_only_udm.metadata.event_type |
事件類型是由剖析器根據其他欄位的存在與值決定,例如 data.team 、action 和 actor 。如果未滿足其他特定條件,則預設為 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 |
如果 at 或 raw.at 欄位存在且等於「success」,安全性動作 (ALLOW/BLOCK) 會衍生自該欄位。 |
(剖析器邏輯) | read_only_udm.security_result.severity |
安全性嚴重程度會取自 level 或 SeverityText 欄位 (如有)。「INFO」會對應至「INFORMATIONAL」、「WARN」對應至「MEDIUM」,其他值則會直接對應。對於 git-daemon 記錄,「fatal」會對應至「CRITICAL」。 |
(剖析器邏輯) | read_only_udm.network.application_protocol |
應用程式通訊協定會從 protocol 、proto 、babeld_proto 、transport_protocol_name 或 raw.protocol 欄位衍生而來,並轉換為大寫,然後檢查「HTTP」、「HTTPS」和「SSH」。 |
(剖析器邏輯) | read_only_udm.network.application_protocol_version |
應用程式通訊協定版本會從 http_version 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.network.http.parsed_user_agent |
剖析的使用者代理程式會從 user_agent 、column5 、http_ua 或 content 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.network.received_bytes |
收到的位元組會衍生自 column3 、read_bytes 、fs_recv 或 uploaded_bytes 欄位 (如有),並轉換為無符號整數。 |
(剖析器邏輯) | read_only_udm.network.received_packets |
收到的封包會從 client_recv 欄位 (如有) 衍生,並轉換為整數。 |
(剖析器邏輯) | read_only_udm.network.response_code |
回應代碼會從 column2 、status 、status_code 或 http_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 |
目標檔案完整路徑會從 path 、git_dir 或 dir 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.target.file.sha1 |
目標檔案 SHA1 會從 sha 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.target.hostname |
目標主機名稱會從 client_hostname 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.target.ip |
目標 IP 會從 x_real_ip 、remote_address 、client_ip 或 remote_addr 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.target.location.name |
目標位置名稱會衍生自 datacenter 或 public_repo 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.target.port |
目標通訊埠會從 client_port 、dstp 或 remote_port 欄位 (如有) 衍生而來,並轉換為整數。 |
(剖析器邏輯) | read_only_udm.target.process.command_line |
目標處理程序指令列會衍生自 command 、ssh_cmd 、cmdline 或 cmd 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.target.process.parent_process.pid |
目標程序父項程序 ID 會從 ppid 欄位 (如有) 衍生而來,並轉換為字串。 |
(剖析器邏輯) | read_only_udm.target.process.pid |
目標程序 ID 會從 pid 欄位 (如有的話) 擷取,並轉換為字串。 |
(剖析器邏輯) | read_only_udm.target.url |
目標網址會取自 url 、http_url 、request_url 、http_request 、dest_url 、config.url 或 url_path 欄位 (如有)。也可以從 path_info 和 query_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 會取自 userid 、external_identity_nameid 、current_user 、member 、user_id 、actor_id 或 raw.user_id 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.target.user.user_display_name |
目標使用者顯示名稱會取自 login 、user 、external_identity_username 、user_login 或 raw.login 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.principal.asset.asset_id |
主素材資源 ID 取自 guid 欄位,開頭加上「GUID:」。 |
(剖析器邏輯) | read_only_udm.principal.hostname |
主要主機名稱會從 hostname 、request_host 、host 或 principal_hostname 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.principal.ip |
主要 IP 會從 column6 、ip 、x_real_ip 、remote_address 、raw.ip 、actor_ip 或 log: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 |
主網址會從 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 |
中繼資料說明會取自 content 、at 或 raw.message 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.metadata.product_event_type |
產品事件類型會衍生自 process_type 或 action 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.metadata.product_log_id |
產品記錄 ID 會取自 github_request_id 、id 、request_id 或 raw.request_id 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.metadata.product_version |
產品版本會取自 version 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.security_result.about.labels.[].key 、read_only_udm.security_result.about.labels.[].value |
系統會根據 data.events 、data.workflow_id 、workflow.name 、data.head_branch 、data.trigger_id 、data.workflow_run_id 和 data.event 等欄位的存在與值,在 security_result.about.labels 陣列中新增各種標籤。 |
(剖析器邏輯) | read_only_udm.security_result.description |
安全性結果說明會取自 auth_status 、data_msg 、msg 、Body 、desc 或 content 欄位 (如有)。 |
(剖析器邏輯) | read_only_udm.security_result.severity_details |
安全性結果嚴重程度詳細資料會從 userid 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.security_result.summary |
安全性結果摘要會從 creason 、action 或 reason 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.network.http.referral_url |
HTTP 推薦網址會從 column4 或 referer 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.network.http.user_agent |
HTTP 使用者代理程式會從 column5 、http_ua 或 user_agent 欄位 (如有) 衍生而來。 |
(剖析器邏輯) | read_only_udm.network.sent_bytes |
網路傳送的位元組會從 client_sent 或 fs_sent 欄位 (如有) 衍生而來,並轉換為無符號整數。 |
(剖析器邏輯) | read_only_udm.additional.fields.[].key 、read_only_udm.additional.fields.[].value.string_value |
許多欄位會根據條件在 additional.fields 陣列中對應為鍵/值組,包括 auth_fingerprint 、controller 、oauth_access_id 、oauth_application_id 、oauth_scopes 、route 、worker_request_count 、repo 、repo_visibility 、auth 、content_length 、elapsed 、catalog_service 、action 、method 、failure_type 、failure_reason 、hashed_token 、token_type 、gitauth_version 、enterprise.name 、programmatic_access_type 、token_id 、token_scopes 、integration 、query_string 、rate_limit_remaining 、request_body 、org_id 、repo_id 、repository_public 、raw.method 、raw.failure_type 、raw.failure_reason 、raw.from 、raw.raw_login 、device_cookie 、operation 、operation_type 、category_type 、business 、note 、read 、pre_perform_allocation_count 、backend 、queue 、class 、success 、env 、job_id 和 job 。剖析器程式碼會詳細說明每個欄位的具體邏輯。 |
(剖析器邏輯) | read_only_udm.security_result.detection_fields.[].key 、read_only_udm.security_result.detection_fields.[].value |
controller_action 、two_factor 、delay_time 、queued_time 、delivery_build 、delivery_send 和 stages 欄位會依條件對應至 security_result.detection_fields 陣列。 |
(剖析器邏輯) | read_only_udm.target.resource.attribute.labels.[].key 、read_only_udm.target.resource.attribute.labels.[].value |
hook_id 、job_name 、job_workflow_ref 、runner_group_id 、runner_group_name 、runner_name 、runner_id 、workflow_run_id 和 business_id 欄位會根據條件在 target.resource.attribute.labels 陣列中對應為標籤。 |
(剖析器邏輯) | read_only_udm.metadata.event_timestamp |
如果時間戳記無法以支援的格式直接提供,剖析器會嘗試從各種欄位中擷取並轉換時間戳記,包括 ts 、now 、created_at 、Timestamp 、time 和 raw.now 。 |
(剖析器邏輯) | read_only_udm.network.http.method |
HTTP 方法會從 method 、column1 、request_method 、http_method 或 raw.method 欄位取得,並轉換為大寫。 |
(剖析器邏輯) | read_only_udm.target.application |
目標應用程式會衍生自 process 、program 或 app 欄位 (如有)。 |
異動
2023-12-18
- 修正錯誤:
- 如果「process_type」是「github_production」,請新增 Grok 模式來擷取「kv_data」。
- 如果「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」。
還有其他問題嗎?向社群成員和 Google SecOps 專家尋求解答。