收集 Falco IDS 記錄
剖析器版本:1.0
本文說明如何設定 Falco,透過 Falcosidekick 使用 Webhook 將執行階段安全快訊推送至 Google Security Operations。
Falco 是一項開放原始碼的執行階段安全工具,可偵測非預期的應用程式行為,並在執行階段發出威脅警示。根據可自訂的安全規則,透過系統呼叫監控功能,偵測容器、Kubernetes 和 Linux 主機中的異常活動。
事前準備
請確認您已完成下列事前準備事項:
- Google SecOps 執行個體
- 在 Kubernetes (透過 Helm) 或 Linux 主機上安裝 Falco
- 具備修改 Falco 設定檔或 Helm 值的權限
- 部署 Falcosidekick 的特殊存取權 (如果尚未部署)
在 Google SecOps 中建立 Webhook 動態饋給
建立動態饋給
- 依序前往「SIEM 設定」>「動態饋給」。
- 按一下「新增動態消息」。
- 在下一個頁面中,按一下「設定單一動態饋給」。
- 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如
Falco Runtime Security)。 - 選取「Webhook」做為「來源類型」。
- 選取「Falco IDS」做為「記錄類型」。
- 點選「下一步」。
- 指定下列輸入參數的值:
- 分割分隔符 (選用):留空 (Falcosidekick 會為每個要求傳送一個事件)
- 資產命名空間:資產命名空間
- 擷取標籤:要套用至這個動態饋給事件的標籤
- 點選「下一步」。
- 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)。
產生並儲存密鑰
建立動態饋給後,您必須產生驗證用的密鑰:
- 在動態饋給詳細資料頁面中,按一下「產生密鑰」。
- 對話方塊會顯示密鑰。
- 複製並妥善儲存密鑰。
取得動態消息端點網址
- 前往動態消息的「詳細資料」分頁。
- 在「端點資訊」部分,複製「動態消息端點網址」。
網址格式為:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate或
https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate請儲存這個網址,以供後續步驟使用。
按一下 [完成]。
建立 Google Cloud API 金鑰
Google SecOps 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。
建立 API 金鑰
- 前往 Google Cloud 控制台的「憑證」頁面。
- 選取專案 (與 Google SecOps 執行個體相關聯的專案)。
- 依序按一下「建立憑證」>「API 金鑰」。系統會建立 API 金鑰,並顯示在對話方塊中。
- 按一下「編輯 API 金鑰」即可限制金鑰。
限制 API 金鑰
- 在「API 金鑰」設定頁面中:
- 名稱:輸入描述性名稱 (例如
Chronicle Webhook API Key)
- 名稱:輸入描述性名稱 (例如
- 在「API 限制」下方:
- 選取「Restrict key」(限制金鑰)。
- 在「選取 API」清單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
- 按一下 [儲存]。
- 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值。
- 安全地儲存 API 金鑰。
部署 Falcosidekick
Falcosidekick 是 Falco 的官方 Proxy 轉送器,可將快訊傳送至多個目的地,包括 Webhook、雲端儲存空間和 SIEM 平台。
選項 A:使用 Helm 部署 Falco (建議)
如果您是首次安裝 Falco,或是可以重新部署,請使用這個方法同時部署 Falco 和 Falcosidekick:
新增 Falco Helm 存放區:
helm repo add falcosecurity https://falcosecurity.github.io/charts helm repo update為 Falco 建立命名空間:
kubectl create namespace falco使用驗證資訊建構 Google SecOps Webhook 網址:
<ENDPOINT_URL>?key=<API_KEY>範例:
https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...安裝 Falco,並啟用 Falcosidekick:
helm install falco falcosecurity/falco \ --namespace falco \ --set falcosidekick.enabled=true \ --set falcosidekick.config.webhook.address="<ENDPOINT_URL>?key=<API_KEY>" \ --set falcosidekick.config.webhook.customHeaders="X-Webhook-Access-Key:<SECRET_KEY>" \ --set falcosidekick.config.webhook.minimumpriority="warning" \ --set tty=true更改項目:
<ENDPOINT_URL>:Google SecOps 動態饋給端點網址<API_KEY>:Google Cloud API 金鑰<SECRET_KEY>:建立動態饋給時產生的 Google SecOps 密鑰
驗證部署作業:
kubectl get pods -n falco預期輸出內容會顯示 Falco 和 Falcosidekick Pod 正在執行中:
NAME READY STATUS RESTARTS AGE falco-xxxxx 2/2 Running 0 2m falco-falcosidekick-xxxxx 1/1 Running 0 2m
選項 B:獨立部署 Falcosidekick
如果已部署 Falco,可以另外部署 Falcosidekick,並將 Falco 設定為將快訊傳送至 Falcosidekick。
部署 Falcosidekick
新增 Falco Helm 存放區 (如果尚未新增):
helm repo add falcosecurity https://falcosecurity.github.io/charts helm repo update使用驗證資訊建構 Google SecOps Webhook 網址:
<ENDPOINT_URL>?key=<API_KEY>安裝 Falcosidekick:
helm install falcosidekick falcosecurity/falcosidekick \ --namespace falco \ --set config.webhook.address="<ENDPOINT_URL>?key=<API_KEY>" \ --set config.webhook.customHeaders="X-Webhook-Access-Key:<SECRET_KEY>" \ --set config.webhook.minimumpriority="warning"更改項目:
<ENDPOINT_URL>:Google SecOps 動態饋給端點網址<API_KEY>:Google Cloud API 金鑰<SECRET_KEY>:建立動態饋給時產生的 Google SecOps 密鑰
確認 Falcosidekick 正在執行:
kubectl get pods -n falco -l app.kubernetes.io/name=falcosidekick
設定 Falco 將快訊傳送至 Falcosidekick
取得 Falcosidekick 服務名稱:
kubectl get svc -n falco -l app.kubernetes.io/name=falcosidekick服務名稱通常是
falcosidekick。更新 Falco 設定,啟用 HTTP 輸出:
如果使用 Helm,請升級 Falco 版本:
helm upgrade falco falcosecurity/falco \ --namespace falco \ --reuse-values \ --set falco.json_output=true \ --set falco.json_include_output_property=true \ --set falco.http_output.enabled=true \ --set falco.http_output.url="http://falcosidekick:2801/"如要手動管理 Falco 設定,請編輯
/etc/falco/falco.yaml:json_output: true json_include_output_property: true http_output: enabled: true url: "http://falcosidekick:2801/"重新啟動 Falco Pod,套用設定:
kubectl rollout restart daemonset/falco -n falco
在 Linux 主機上設定 Falcosidekick
如果是在 Linux 主機 (而非 Kubernetes) 上執行 Falco,請將 Falcosidekick 部署為 systemd 服務。
安裝 Falcosidekick 二進位檔
下載最新版 Falcosidekick:
FALCOSIDEKICK_VERSION="2.29.0" wget https://github.com/falcosecurity/falcosidekick/releases/download/${FALCOSIDEKICK_VERSION}/falcosidekick_${FALCOSIDEKICK_VERSION}_linux_amd64.tar.gz解壓縮並安裝二進位檔:
sudo tar -C /usr/local/bin/ -xzf falcosidekick_${FALCOSIDEKICK_VERSION}_linux_amd64.tar.gz sudo chmod +x /usr/local/bin/falcosidekick建立設定目錄:
sudo mkdir -p /etc/falcosidekick
設定 Falcosidekick
建立設定檔
/etc/falcosidekick/config.yaml:listenaddress: "0.0.0.0" listenport: 2801 debug: false webhook: address: "<ENDPOINT_URL>?key=<API_KEY>" method: "POST" customHeaders: "X-Webhook-Access-Key:<SECRET_KEY>" minimumpriority: "warning" checkcert: true更改項目:
<ENDPOINT_URL>:Google SecOps 動態饋給端點網址<API_KEY>:Google Cloud API 金鑰<SECRET_KEY>:建立動態饋給時產生的 Google SecOps 密鑰
建立 systemd 服務檔案
/etc/systemd/system/falcosidekick.service:[Unit] Description=Falcosidekick After=network.target [Service] Type=simple User=root ExecStart=/usr/local/bin/falcosidekick --config-file=/etc/falcosidekick/config.yaml Restart=on-failure RestartSec=5s [Install] WantedBy=multi-user.target啟用並啟動 Falcosidekick:
sudo systemctl daemon-reload sudo systemctl enable falcosidekick sudo systemctl start falcosidekick確認 Falcosidekick 正在執行:
sudo systemctl status falcosidekick
設定 Falco 將快訊傳送至 Falcosidekick
編輯 Falco 設定檔
/etc/falco/falco.yaml:json_output: true json_include_output_property: true http_output: enabled: true url: "http://localhost:2801/"重新啟動 Falco:
sudo systemctl restart falco
驗證整合
觸發測試警報
在容器中執行 Shell,觸發 Falco 規則 (如果使用 Kubernetes):
kubectl run test-pod --image=nginx --restart=Never kubectl exec -it test-pod -- /bin/bash這會觸發 Falco 規則「容器中的終端機殼層」。
如果是 Linux 主機,請讀取機密檔案來觸發規則:
cat /etc/shadow這會觸發 Falco 規則「Read sensitive file untrusted」。
檢查 Falcosidekick 記錄
如果是 Kubernetes 部署作業:
kubectl logs -n falco -l app.kubernetes.io/name=falcosidekick --tail=50尋找記錄項目,確認 Webhook 是否成功傳送:
2025-01-15T10:30:00Z [INFO] : Webhook - Post OKLinux 主機:
sudo journalctl -u falcosidekick -n 50
在 Google SecOps 中驗證事件
- 依序前往 Google SecOps >「搜尋」。
執行搜尋查詢:
metadata.log_type = "FALCO_IDS"確認搜尋結果中顯示 Falco 事件。
確認事件包含預期欄位,例如:
rule- Falco 規則名稱priority- 警示優先順序 (緊急、警示、重大、錯誤、警告、注意、資訊、偵錯)output- 清楚易懂的警示訊息source- 事件來源 (syscall、k8s_audit)hostname- 發生事件的主機container_id- 容器 ID (如適用)
優先順序篩選
Falcosidekick 支援依優先順序篩選事件,減少干擾並專注於重大警示。לֹ
優先等級
Falco 使用下列優先順序 (由高至低):
| 優先順序 | 說明 | 用途 |
|---|---|---|
| 緊急撥號 | 系統無法使用 | 重大安全事件 |
| 快訊 | 表示必須立即採取行動。 | 進行中的攻擊、提權 |
| 重大 | 重大情況 | 未經授權存取、執行惡意軟體 |
| 錯誤 | 錯誤狀況 | 違反政策、可疑活動 |
| 警告 | 警告條件 | 異常行為、潛在威脅 |
| 通知 | 正常但顯著 | 設定變更、稽核事件 |
| 資訊式 | 資訊型訊息 | 一般活動記錄 |
| 偵錯 | 偵錯層級訊息 | 疑難排解、開發 |
設定最低優先順序
如要只將高優先順序快訊傳送至 Google SecOps,請設定 minimumpriority 參數:
採用 Helm 部署的資料夾結構:
helm upgrade falco falcosecurity/falco \ --namespace falco \ --reuse-values \ --set falcosidekick.config.webhook.minimumpriority="error"如果是 Linux 主機,請編輯
/etc/falcosidekick/config.yaml:webhook: minimumpriority: "error"
這項設定只會將優先順序為 error 以上 (錯誤、重大、警示、緊急) 的事件傳送至 Google SecOps。
自訂欄位
您可以使用 Falcosidekick 為所有事件新增自訂欄位,以便在 Google SecOps 中取得更完善的背景資訊並進行篩選。
新增自訂欄位
採用 Helm 部署的資料夾結構:
helm upgrade falco falcosecurity/falco \ --namespace falco \ --reuse-values \ --set falcosidekick.config.customfields.environment="production" \ --set falcosidekick.config.customfields.region="us-east-1" \ --set falcosidekick.config.customfields.cluster="prod-cluster-01"如果是 Linux 主機,請編輯
/etc/falcosidekick/config.yaml:customfields: environment: "production" region: "us-east-1" datacenter: "dc1"
這些自訂欄位會新增至傳送至 Google SecOps 的每個 Falco 事件,方便您跨多個環境進行篩選和關聯。
其他擷取路徑
雖然建議使用 Webhook,但 Falcosidekick 支援特定用途的替代擷取路徑。
AWS S3 擷取
對於高用量環境或法規遵循需求,您可以將 Falcosidekick 設定為將事件寫入 AWS S3,然後從 S3 擷取至 Google SecOps。
為 S3 設定 Falcosidekick:
helm upgrade falco falcosecurity/falco \ --namespace falco \ --reuse-values \ --set falcosidekick.config.aws.accesskeyid="<AWS_ACCESS_KEY>" \ --set falcosidekick.config.aws.secretaccesskey="<AWS_SECRET_KEY>" \ --set falcosidekick.config.aws.region="us-east-1" \ --set falcosidekick.config.aws.s3.bucket="falco-events" \ --set falcosidekick.config.aws.s3.prefix="runtime-security/"Falcosidekick 會以 JSON 格式將事件寫入 S3,路徑結構如下:
s3://falco-events/runtime-security/YYYY-MM-DD/YYYY-MM-DDTHH:mm:ss.s+01:00.json然後將 Google SecOps 動態饋給的來源類型設為 Amazon S3 V2。
GCP Cloud Storage 擷取
如果是 GCP 環境,請設定 Falcosidekick,將事件寫入 Google Cloud Storage。
為 GCS 設定 Falcosidekick:
- 在目標 bucket 中,建立具有「Storage Object Admin」(儲存空間物件管理員) 角色的 GCP 服務帳戶。
- 下載服務帳戶 JSON 金鑰檔案。
以 Base64 編碼 JSON 金鑰:
cat service-account-key.json | base64 -w 0設定 Falcosidekick:
helm upgrade falco falcosecurity/falco \ --namespace falco \ --reuse-values \ --set falcosidekick.config.gcp.credentials="<BASE64_ENCODED_KEY>" \ --set falcosidekick.config.gcp.storage.bucket="falco-events" \ --set falcosidekick.config.gcp.storage.prefix="runtime-security/"Falcosidekick 會將事件寫入 GCS,路徑結構如下:
gs://falco-events/runtime-security/YYYY-MM-DD/YYYY-MM-DDTHH:mm:ss.s+01:00.json
然後將 Google Cloud Storage V2 設為來源類型,設定 Google SecOps 動態饋給。
AWS Kinesis Firehose 擷取
如要即時串流擷取,請設定 Falcosidekick 將事件傳送至 AWS Kinesis Firehose。
為 Kinesis 設定 Falcosidekick:
helm upgrade falco falcosecurity/falco \ --namespace falco \ --reuse-values \ --set falcosidekick.config.aws.accesskeyid="<AWS_ACCESS_KEY>" \ --set falcosidekick.config.aws.secretaccesskey="<AWS_SECRET_KEY>" \ --set falcosidekick.config.aws.region="us-east-1" \ --set falcosidekick.config.aws.kinesis.streamname="falco-events-stream"然後將 Amazon Kinesis Firehose 設為來源類型,設定 Google SecOps 動態饋給。
疑難排解
Falcosidekick 未收到事件
確認 Falco 是否將事件傳送至 Falcosidekick:
kubectl logs -n falco -l app.kubernetes.io/name=falco --tail=50 | grep http_output確認 Falco 設定包含 HTTP 輸出:
kubectl get configmap -n falco falco -o yaml | grep -A 5 http_output檢查 Falcosidekick 是否正在接聽通訊埠 2801:
kubectl get svc -n falco falcosidekick
Webhook 傳送失敗
檢查 Falcosidekick 記錄是否有 HTTP 錯誤:
kubectl logs -n falco -l app.kubernetes.io/name=falcosidekick --tail=100 | grep -i error常見錯誤:
- 401 Unauthorized:API 金鑰或密鑰不正確
- 403 Forbidden:API 金鑰未獲授權使用 Google SecOps API
- SSL 憑證錯誤:設定
checkcert: false進行測試 (不建議用於正式環境)
手動測試 Webhook:
curl -X POST \ -H "Content-Type: application/json" \ -H "X-Webhook-Access-Key: <SECRET_KEY>" \ -d '{"test": "event"}' \ "<ENDPOINT_URL>?key=<API_KEY>"
Google SecOps 未顯示事件
確認動態消息是否有效:
- 依序前往「SIEM 設定」>「動態饋給」。
- 確認動態消息狀態為「有效」。
- 確認「上次擷取時間」是最近的時間。
檢查擷取錯誤:
- 前往動態消息詳細資料頁面。
- 按一下「錯誤」分頁標籤。
- 檢查是否有任何剖析或驗證錯誤。
驗證記錄類型對應:
- 搜尋原始記錄:
metadata.log_type = "FALCO_IDS"。 - 如果系統顯示事件,但未剖析欄位,請檢查 UDM 對應。
- 搜尋原始記錄:
UDM 對應表
| 記錄欄位 | UDM 對應 | 邏輯 |
|---|---|---|
| output_fields.k8s.ns.name、output_fields.k8s.pod.name | additional.fields | 從 k8_ns_name 和 k8s_pod_name 物件合併 |
| stageTimestamp | metadata.collected_timestamp | 以 ISO8601 格式轉換 |
| 階段、說明、輸出 | metadata.description | 如果階段值不為空值,則為階段值;否則為說明;否則為輸出內容 |
| verb、user.uid、uid、output | metadata.event_type | 如果動詞為 GET LIST WATCH,請設為 USER_RESOURCE_ACCESS;如果為 CREATE 且 (user.uid 或 uid 不為空白),請設為 USER_RESOURCE_CREATION;如果為 (PATCH 或 UPDATE) 且 user.uid 不為空白,請設為 USER_RESOURCE_UPDATE_CONTENT;如果為 DELETE,請設為 USER_RESOURCE_DELETION;如果輸出內容包含 Error,請設為 USER_RESOURCE_ACCESS,否則請設為 USER_UNCATEGORIZED;否則請設為 GENERIC_EVENT |
| kind | metadata.product_event_type | 直接複製值 |
| auditID | metadata.product_log_id | 直接複製值 |
| apiVersion、product_version | metadata.product_version | 如果 apiVersion 不為空值,則為該值,否則為 product_version (移除引號後) |
| portdetails.name | network.application_protocol | 大寫,如果位於 HTTP HTTPS DNS 中,則設為值,否則為 UNKNOWN_APPLICATION_PROTOCOL |
| 動詞 | network.http.method | 值會直接複製並轉換為大寫 |
| responseStatus.code | network.http.response_code | 轉換為整數並直接複製 |
| userAgent | network.http.user_agent | 直接複製值 |
| portdetails.protocol | network.ip_protocol | 直接複製值 |
| output_fields.cloud-project-id | observer.cloud.project.id | 直接複製值 |
| output_fields.pod-name、output_fields.falco.pod.name | observer.hostname | 如果 output_fields.pod-name 不為空白,則為該值,否則為 output_fields.falco.pod.name |
| output_fields.pod-ip、output_fields.falco.pod.ip | observer.ip | 如果 output_fields.pod-ip 不為空白,則為該值,否則為 output_fields.falco.pod.ip |
| output_fields.falco.host.name | principal.asset.hostname | 直接複製值 |
| sourceIPs、output_fields.falco.host.ip | principal.asset.ip | 如果不是空白,則從 sourceIPs 中的每個 IP 合併,否則從 output_fields.falco.host.ip 合併 |
| output_fields.falco.host.name | principal.hostname | 直接複製值 |
| sourceIPs、output_fields.falco.host.ip | principal.ip | 如果不是空白,則從 sourceIPs 中的每個 IP 合併,否則從 output_fields.falco.host.ip 合併 |
| output_fields.falco.contact | principal.user.email_addresses | 直接複製值 |
| user.groups | principal.user.group_identifiers | 從陣列 user.groups 合併 |
| user.username、output_fields.user.name | principal.user.user_display_name | 如果使用者名稱不為空白,則為 user.username 中的值,否則為 output_fields.user.name |
| user.uid、uid | principal.user.userid | 如果不是空白,則為 user.uid 中的值,否則為 uid (移除引號後) |
| annotations.authorization.k8s.io/decision | security_result.action | 如要允許,請設為 ALLOW |
| annotations.authorization.k8s.io/reason | security_result.description | 直接複製值,並移除引號 |
| 規則 | security_result.rule_name | 直接複製值 |
| 優先順序 | security_result.severity_details | 直接複製值 |
| containerid.containerID、output_fields.container.id | target.asset.asset_id | 如果 containerid.containerID 不為空,則為該值;否則為「container_id:」+ output_fields.container.id |
| target.asset.deployment_status | 如果正在執行或等待,請設為 ACTIVE;如果已終止,請設為 DECOMISSIONED;否則請設為 DEPLOYMENT_STATUS_UNSPECIFIED | |
| address.nodeName、output_fields.host-name、tar_host | target.asset.hostname | 如果 address.nodeName 不為空白,則為該值;否則為 output_fields.host-name;否則為輸出內容中 grok 的 tar_host |
| address.ip、podip.ip、requestObject.status.podIP、requestObject.status.hostIP、output_fields.host-ip、tar_ip | target.asset.ip | 從 responseObject.subsets.addresses 中的 address.ip、requestObject.status.podIPs 中的 podip.ip、requestObject.status.podIP、requestObject.status.hostIP、output_fields.host-ip 或 grok 輸出內容中的 tar_ip 合併 |
| output_fields.email | target.email | 如果符合電子郵件規則運算式,系統會直接複製值 |
| containerStatuse.imageID、containerStatuse.image、output_fields.container.image.repository | target.file.full_path | 如果 containerStatuse.imageID 不為空白且 file.full_path 為空白,則為 containerStatuse.imageID;如果 containerStatuse.image 不為空白且 file.full_path 為空白,則為 containerStatuse.image;否則為 output_fields.container.image.repository |
| address.nodeName、output_fields.host-name、tar_host | target.hostname | 如果 address.nodeName 不為空白,則為該值;否則為 output_fields.host-name;否則為輸出內容中 grok 的 tar_host |
| address.ip、podip.ip、requestObject.status.podIP、requestObject.status.hostIP、output_fields.host-ip、tar_ip | target.ip | 從 responseObject.subsets.addresses 中的 address.ip、requestObject.status.podIPs 中的 podip.ip、requestObject.status.podIP、requestObject.status.hostIP、output_fields.host-ip 或 grok 輸出內容中的 tar_ip 合併 |
| targetnamespace | target.namespace | 直接複製值 |
| portdetails.port | target.port | 轉換為整數,並直接複製到第一個連接埠 |
| output_fields.cloud-provider | target.resource.attribute.cloud.environment | 如果是 GCP,請設為 GOOGLE_CLOUD_PLATFORM;如果是 Azure,請設為 MICROSOFT_AZURE |
| requestObject.status.containerStatuses.0.state.waiting.reason、output_fields.evt.arg.fd、output_fields.evt.arg.filename、output_fields.evt.arg.mode、output_fields.fd.name、output_fields.ol-env、output_fields.tags、output_fields.proc.cmdline、output_fields.ebpf_enabled | target.resource.attribute.labels | 從各種標籤物件合併 |
| address.targetRef.uid | target.resource.id | 如果 address.targetRef.uid 不為空白,且 resource_id 為空白,則為該值 |
| address.targetRef.name、objectRef.name、output_fields.bl-ssr | target.resource.name | 如果 address.targetRef.name 不為空白且 resource_name 為空白,則為該值;如果 objectRef.name 不為空白且 resource_name 為空白,則為該值;如果 output_fields.bl-ssr 不為空白且 resource_name 為空白,則為該值 |
| output_fields.falco.ssrid | target.resource.product_object_id | 直接複製值 |
| address.targetRef.kind、objectRef.resource | target.resource.resource_subtype | 如果 address.targetRef.kind 不為空白且 target_resource_subtype 為空白,則為 address.targetRef.kind;如果 objectRef.resource 不為空白且 target_resource_subtype 為空白,則為 objectRef.resource |
| resource_type | target.resource.resource_type | 如果為空白,則設為 CLUSTER,否則直接複製 |
| requestURI | target.url | 直接複製值 |
| responseObject.spec.group | target.user.group_identifiers | 從陣列 responseObject.spec.group 合併 |
| responseObject.spec.user | target.user.user_display_name | 直接複製值 |
| responseObject.metadata.uid、responseObject.spec.uid、objectRef.uid、requestObject.metadata.uid、output_fields.user.loginuid | target.user.userid | 如果 responseObject.metadata.uid 不為空值,則為該值;否則為 responseObject.spec.uid;否則為 objectRef.uid;否則為 requestObject.metadata.uid;否則為 output_fields.user.loginuid (轉換為字串) |
| metadata.product_name | 設為「FALCO_IDS」 | |
| metadata.vendor_name | 設為「FALCO_IDS」 | |
priority |
security_result.priority |
從變更記錄對應 |
time |
date |
從變更記錄對應 |
output_fields.tags |
target.labels |
從變更記錄對應 |
變更記錄
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求答案。