收集 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 Feed

创建 Feed

  1. 依次前往 SIEM 设置 > Feed
  2. 点击添加新 Feed
  3. 在下一页上,点击配置单个 Feed
  4. Feed 名称字段中,输入 Feed 的名称(例如 Falco Runtime Security)。
  5. 选择 Webhook 作为来源类型
  6. 选择 Falco IDS 作为日志类型
  7. 点击下一步
  8. 为以下输入参数指定值:
    • 拆分分隔符(可选):留空(Falcosidekick 会针对每个请求发送一个事件)
    • 资产命名空间资产命名空间
    • 注入标签:要应用于此 Feed 中事件的标签
  9. 点击下一步
  10. 最终确定界面中查看新的 Feed 配置,然后点击提交

生成并保存密钥

创建 Feed 后,您必须生成用于身份验证的密钥:

  1. 在 Feed 详情页面上,点击生成密钥
  2. 系统会显示一个对话框,其中包含密钥。
  3. 复制并妥善保存此密钥。

获取 Feed 端点网址

  1. 前往相应 Feed 的详细信息标签页。
  2. 端点信息部分,复制 Feed 端点网址
  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 Console 中创建受限 API 密钥。

创建 API 密钥

  1. 前往 Google Cloud 控制台的“凭据”页面
  2. 选择您的项目(与您的 Google SecOps 实例关联的项目)。
  3. 依次点击创建凭据> API 密钥。系统会创建一个 API 密钥,并在对话框中显示该密钥。
  4. 点击修改 API 密钥以限制密钥。

限制 API 密钥

  1. API 密钥设置页面中:
    • 名称:输入一个描述性名称(例如 Chronicle Webhook API Key
  2. API 限制下:
    1. 选择限制密钥
    2. 选择 API 列表中,搜索并选择 Google SecOps API(或 Chronicle API)。
  3. 点击保存
  4. 从页面顶部的 API 密钥字段复制 API 密钥值。
  5. 安全地保存 API 密钥。

部署 Falcosidekick

Falcosidekick 是 Falco 的官方代理转发器,可将提醒路由到多个目的地,包括网络钩子、云存储和 SIEM 平台。

如果您是首次安装 Falco,或者可以重新部署 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 网络钩子网址:

    <ENDPOINT_URL>?key=<API_KEY>
    

    示例

    https://malachiteingestion-pa.googleapis.com/v2/unstructuredlogentries:batchCreate?key=AIzaSyD...
    
  4. 安装启用了 Falcosidekick 的 Falco:

    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 Feed 端点网址
    • <API_KEY>:Google Cloud API 密钥
    • <SECRET_KEY>:从 Feed 创建中获取的 Google SecOps Secret 密钥
  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

  1. 添加 Falco Helm 代码库(如果尚未添加):

    helm repo add falcosecurity https://falcosecurity.github.io/charts
    helm repo update
    
  2. 使用身份验证信息构建 Google SecOps 网络钩子网址:

    <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 Feed 端点网址
    • <API_KEY>:Google Cloud API 密钥
    • <SECRET_KEY>:从 Feed 创建中获取的 Google SecOps Secret 密钥
  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 Feed 端点网址
    • <API_KEY>:Google Cloud API 密钥
    • <SECRET_KEY>:从 Feed 创建中获取的 Google SecOps Secret 密钥
  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 规则“容器中的终端 shell”。

  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 - 事件来源(系统调用、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 Feed 的来源类型配置为 Amazon S3 V2

GCP Cloud Storage 注入

对于 GCP 环境,请配置 Falcosidekick 以将事件写入 Google Cloud Storage。

  • 为 GCS 配置 Falcosidekick

    1. 在目标存储桶上创建具有 Storage Object Admin 角色的 GCP 服务账号。
    2. 下载服务账号 JSON 密钥文件。
    3. 对 JSON 密钥进行 Base64 编码:

      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 SecOps Feed 配置为以 Google Cloud Storage V2 作为来源类型。

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 Feed。

问题排查

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
    

网络钩子递送失败

  1. 检查 Falcosidekick 日志中是否存在 HTTP 错误:

    kubectl logs -n falco -l app.kubernetes.io/name=falcosidekick --tail=100 | grep -i error
    
  2. 常见错误:

    • 401 未经授权:API 密钥或 Secret 密钥不正确
    • 403 Forbidden:API 密钥未获授权使用 Google SecOps API
    • SSL 证书错误:将 checkcert: false 设置为用于测试(不建议用于生产)
  3. 手动测试网络钩子:

    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. 验证 Feed 是否处于有效状态:

    • 依次前往 SIEM 设置 > Feed
    • 检查 Feed 状态是否为有效
    • 检查上次注入时间是否为最近的时间。
  2. 检查是否存在提取错误:

    • 前往 Feed 详情页面。
    • 点击错误标签页。
    • 查看所有解析或验证错误。
  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;如果输出包含错误,则设置为 USER_RESOURCE_ACCESS,否则设置为 USER_UNCATEGORIZED;否则设置为 GENERIC_EVENT
kind metadata.product_event_type 直接复制值
auditID metadata.product_log_id 直接复制值
apiVersion、product_version metadata.product_version 如果 apiVersion 不为空,则为 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 不为空,则从 sourceIPs 中的每个 IP 合并,否则从 output_fields.falco.host.ip 合并
output_fields.falco.host.name principal.hostname 直接复制值
sourceIPs、output_fields.falco.host.ip principal.ip 如果 sourceIPs 不为空,则从 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 不为空,则返回 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 为空,则为 address.targetRef.name 中的值;否则,如果 objectRef.name 不为空且 resource_name 为空,则为 objectRef.name 中的值;否则,如果 output_fields.bl-ssr 不为空且 resource_name 为空,则为 output_fields.bl-ssr 中的值
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 专业人士的解答。