收集 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 動態饋給

建立動態饋給

  1. 依序前往「SIEM 設定」>「動態饋給」
  2. 按一下「新增動態消息」
  3. 在下一個頁面中,按一下「設定單一動態饋給」
  4. 在「動態饋給名稱」欄位中輸入動態饋給名稱 (例如 Falco Runtime Security)。
  5. 選取「Webhook」做為「來源類型」
  6. 選取「Falco IDS」做為「記錄類型」
  7. 點選「下一步」
  8. 指定下列輸入參數的值:
    • 分割分隔符 (選用):留空 (Falcosidekick 會為每個要求傳送一個事件)
    • 資產命名空間資產命名空間
    • 擷取標籤:要套用至這個動態饋給事件的標籤
  9. 點選「下一步」
  10. 在「Finalize」(完成) 畫面中檢查新的動態饋給設定,然後按一下「Submit」(提交)

產生並儲存密鑰

建立動態饋給後,您必須產生驗證用的密鑰:

  1. 在動態饋給詳細資料頁面中,按一下「產生密鑰」
  2. 對話方塊會顯示密鑰。
  3. 複製並妥善儲存密鑰。

取得動態消息端點網址

  1. 前往動態消息的「詳細資料」分頁。
  2. 在「端點資訊」部分,複製「動態消息端點網址」
  3. 網址格式為:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    

    https://<REGION>-malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate
    
  4. 請儲存這個網址,以供後續步驟使用。

  5. 按一下 [完成]

建立 Google Cloud API 金鑰

Google SecOps 需要 API 金鑰才能進行驗證。在 Google Cloud 控制台中建立受限制的 API 金鑰。

建立 API 金鑰

  1. 前往 Google Cloud 控制台的「憑證」頁面
  2. 選取專案 (與 Google SecOps 執行個體相關聯的專案)。
  3. 依序按一下「建立憑證」>「API 金鑰」。系統會建立 API 金鑰,並顯示在對話方塊中。
  4. 按一下「編輯 API 金鑰」即可限制金鑰。

限制 API 金鑰

  1. 在「API 金鑰」設定頁面中:
    • 名稱:輸入描述性名稱 (例如 Chronicle Webhook API Key)
  2. 在「API 限制」下方:
    1. 選取「Restrict key」(限制金鑰)
    2. 在「選取 API」清單中,搜尋並選取「Google SecOps API」 (或「Chronicle API」)。
  3. 按一下 [儲存]
  4. 從頁面頂端的「API key」(API 金鑰) 欄位複製 API 金鑰值。
  5. 安全地儲存 API 金鑰。

部署 Falcosidekick

Falcosidekick 是 Falco 的官方 Proxy 轉送器,可將快訊傳送至多個目的地,包括 Webhook、雲端儲存空間和 SIEM 平台。

如果您是首次安裝 Falco,或是可以重新部署,請使用這個方法同時部署 Falco 和 Falcosidekick:

  1. 新增 Falco Helm 存放區:

    helm repo add falcosecurity https://falcosecurity.github.io/charts
    helm repo update
    
  2. 為 Falco 建立命名空間:

    kubectl create namespace falco
    
  3. 使用驗證資訊建構 Google SecOps Webhook 網址:

    <ENDPOINT_URL>?key=<API_KEY>
    

    範例:

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...
    
  4. 安裝 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 密鑰
  5. 驗證部署作業:

    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

  1. 新增 Falco Helm 存放區 (如果尚未新增):

    helm repo add falcosecurity https://falcosecurity.github.io/charts
    helm repo update
    
  2. 使用驗證資訊建構 Google SecOps Webhook 網址:

    <ENDPOINT_URL>?key=<API_KEY>
    
  3. 安裝 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 密鑰
  4. 確認 Falcosidekick 正在執行:

    kubectl get pods -n falco -l app.kubernetes.io/name=falcosidekick
    

設定 Falco 將快訊傳送至 Falcosidekick

  1. 取得 Falcosidekick 服務名稱:

    kubectl get svc -n falco -l app.kubernetes.io/name=falcosidekick
    

    服務名稱通常是 falcosidekick

  2. 更新 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/"
    
  3. 重新啟動 Falco Pod,套用設定:

    kubectl rollout restart daemonset/falco -n falco
    

在 Linux 主機上設定 Falcosidekick

如果是在 Linux 主機 (而非 Kubernetes) 上執行 Falco,請將 Falcosidekick 部署為 systemd 服務。

安裝 Falcosidekick 二進位檔

  1. 下載最新版 Falcosidekick:

    FALCOSIDEKICK_VERSION="2.29.0"
    wget https://github.com/falcosecurity/falcosidekick/releases/download/${FALCOSIDEKICK_VERSION}/falcosidekick_${FALCOSIDEKICK_VERSION}_linux_amd64.tar.gz
    
  2. 解壓縮並安裝二進位檔:

    sudo tar -C /usr/local/bin/ -xzf falcosidekick_${FALCOSIDEKICK_VERSION}_linux_amd64.tar.gz
    sudo chmod +x /usr/local/bin/falcosidekick
    
  3. 建立設定目錄:

    sudo mkdir -p /etc/falcosidekick
    

設定 Falcosidekick

  1. 建立設定檔 /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 密鑰
  2. 建立 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
    
  3. 啟用並啟動 Falcosidekick:

    sudo systemctl daemon-reload
    sudo systemctl enable falcosidekick
    sudo systemctl start falcosidekick
    
  4. 確認 Falcosidekick 正在執行:

    sudo systemctl status falcosidekick
    

設定 Falco 將快訊傳送至 Falcosidekick

  1. 編輯 Falco 設定檔 /etc/falco/falco.yaml

    json_output: true
    json_include_output_property: true
    
    http_output:
        enabled: true
        url: "http://localhost:2801/"
    
  2. 重新啟動 Falco:

    sudo systemctl restart falco
    

驗證整合

觸發測試警報

  1. 在容器中執行 Shell,觸發 Falco 規則 (如果使用 Kubernetes):

    kubectl run test-pod --image=nginx --restart=Never
    kubectl exec -it test-pod -- /bin/bash
    

    這會觸發 Falco 規則「容器中的終端機殼層」。

  2. 如果是 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 OK
    
  • Linux 主機:

    sudo journalctl -u falcosidekick -n 50
    

在 Google SecOps 中驗證事件

  1. 依序前往 Google SecOps >「搜尋」
  2. 執行搜尋查詢:

    metadata.log_type = "FALCO_IDS"
    
  3. 確認搜尋結果中顯示 Falco 事件。

  4. 確認事件包含預期欄位,例如:

    • 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:

    1. 在目標 bucket 中,建立具有「Storage Object Admin」(儲存空間物件管理員) 角色的 GCP 服務帳戶。
    2. 下載服務帳戶 JSON 金鑰檔案。
    3. 以 Base64 編碼 JSON 金鑰:

      cat service-account-key.json | base64 -w 0
      
    4. 設定 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 未收到事件

  1. 確認 Falco 是否將事件傳送至 Falcosidekick:

    kubectl logs -n falco -l app.kubernetes.io/name=falco --tail=50 | grep http_output
    
  2. 確認 Falco 設定包含 HTTP 輸出:

    kubectl get configmap -n falco falco -o yaml | grep -A 5 http_output
    
  3. 檢查 Falcosidekick 是否正在接聽通訊埠 2801:

    kubectl get svc -n falco falcosidekick
    

Webhook 傳送失敗

  1. 檢查 Falcosidekick 記錄是否有 HTTP 錯誤:

    kubectl logs -n falco -l app.kubernetes.io/name=falcosidekick --tail=100 | grep -i error
    
  2. 常見錯誤:

    • 401 Unauthorized:API 金鑰或密鑰不正確
    • 403 Forbidden:API 金鑰未獲授權使用 Google SecOps API
    • SSL 憑證錯誤:設定 checkcert: false 進行測試 (不建議用於正式環境)
  3. 手動測試 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 未顯示事件

  1. 確認動態消息是否有效:

    • 依序前往「SIEM 設定」>「動態饋給」
    • 確認動態消息狀態為「有效」
    • 確認「上次擷取時間」是最近的時間。
  2. 檢查擷取錯誤:

    • 前往動態消息詳細資料頁面。
    • 按一下「錯誤」分頁標籤。
    • 檢查是否有任何剖析或驗證錯誤。
  3. 驗證記錄類型對應:

    • 搜尋原始記錄: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 專業人員尋求答案。