收集自定义应用访问日志

解析器版本:1.0

支持:

本文档介绍了如何使用 Cloud Storage 或流式注入方法将自定义应用访问日志注入到 Google Security Operations 中。

自定义应用访问日志会捕获专有或自定义应用的身份验证事件、授权决策和访问模式。这些日志对于监控用户活动、检测未经授权的访问尝试以及确保遵守安全政策至关重要。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • JSON、CSV 或结构化文本格式的自定义应用访问日志
  • 有权访问以下任一内容:
    • Google Cloud Storage 存储桶(用于 GCS 注入)
    • Amazon S3 存储桶(用于 S3 提取)
    • Microsoft Azure Storage 账号(用于 Azure Blob 提取)
    • Webhook 端点功能(适用于基于推送的提取)
    • Amazon Kinesis Data Firehose(用于流式注入)

创建自定义日志类型

日志类型 CUSTOM_APPLICATION_ACCESS 在 Google SecOps 中不存在,无法作为预构建的解析器使用。您必须先创建自定义日志类型,然后才能提取日志。

  1. 前往 SIEM 设置 > 可用的日志类型。
  2. 点击请求日志类型。
  3. 在自行创建自定义日志类型下,输入以下详细信息:
    • 供应商/产品:输入 Custom Application Access Logs
    • 日志类型:输入 CUSTOM_APPLICATION_ACCESS
  4. 点击创建日志类型。

  5. 等待 10 分钟,确保新日志类型在所有组件中都可用,然后再创建 Feed。

选择注入方法

选择最适合您基础架构的提取方法:

  • Google Cloud Storage (GCS):如果您的应用将日志写入 GCS 存储桶,或者您可以将日志导出到 GCS,请使用此选项
  • Amazon S3:如果您的应用将日志写入 S3 存储桶,或者您可以将日志导出到 S3,请使用此选项
  • Azure Blob Storage:如果您的应用将日志写入 Azure Storage,或者您可以将日志导出到 Azure,请使用此选项
  • Webhook:如果您的应用可以向外部端点发送 HTTP POST 请求,请使用此选项
  • Amazon Kinesis Data Firehose:如果您的应用写入 CloudWatch Logs,或者您需要实时流式传输,请使用此选项

方法 1:从 Google Cloud Storage 提取

创建 Google Cloud Storage 存储桶

  1. 前往 Google Cloud 控制台。
  2. 选择您的项目或创建一个新项目。
  3. 在导航菜单中,前往 Cloud Storage > 存储桶。
  4. 点击创建存储分区。
  5. 提供以下配置详细信息:

    设置 值
    为存储桶命名 输入一个全局唯一的名称(例如 custom-app-access-logs)
    位置类型 根据您的需求进行选择(区域级、双区域级、多区域级)
    位置 选择位置(例如 us-central1)
    存储类别 标准(推荐用于频繁访问的日志)
    访问权限控制 统一(推荐)
    保护工具 可选:启用对象版本控制或保留政策
  6. 点击创建。

将应用配置为将日志写入 GCS

将自定义应用配置为将访问日志写入您创建的 GCS 存储桶。日志应采用以下格式之一:

  • JSON 格式(推荐):

    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45", "application": "custom-app", "resource": "/api/users"}
    
  • CSV 格式:

    timestamp,user,action,result,source_ip,application,resource
    2025-01-15T10:30:00Z,john.doe@example.com,login,success,203.0.113.45,custom-app,/api/users
    
  • 以换行符分隔的 JSON (NDJSON):

    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success"}
    {"timestamp": "2025-01-15T10:30:05Z", "user": "jane.smith@example.com", "action": "access", "result": "denied"}
    

检索 Google SecOps 服务账号

Google SecOps 使用唯一的服务账号从您的 GCS 存储桶中读取数据。您必须向此服务账号授予对存储桶的访问权限。

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Custom Application Access Logs - GCS)。
  5. 选择 Google Cloud Storage V2 作为来源类型。
  6. 选择 CUSTOM_APPLICATION_ACCESS_CUSTOM 作为日志类型。
  7. 点击获取服务账号。
  8. 系统会显示一个专属的服务账号邮箱,例如:

    chronicle-12345678@chronicle-gcp-prod.iam.gserviceaccount.com
    
  9. 复制此电子邮件地址,以便在下一步中使用。

向 Google SecOps 服务账号授予 IAM 权限

Google SecOps 服务账号需要对您的 GCS 存储桶拥有 Storage Object Viewer 角色。

  1. 前往 Cloud Storage > 存储桶。
  2. 点击您的存储桶名称。
  3. 前往权限标签页。
  4. 点击授予访问权限。
  5. 提供以下配置详细信息:
    • 添加主账号:粘贴 Google SecOps 服务账号邮箱
    • 分配角色:选择 Storage Object Viewer
  6. 点击保存。

在 Google SecOps 中配置 Feed

  1. 返回 Feed 创建页面(或依次前往 SIEM 设置 > Feed > 添加新 Feed)。
  2. 点击下一步。
  3. 为以下输入参数指定值:

    • 存储桶网址:输入带有前缀路径的 GCS 存储桶 URI:

      gs://custom-app-access-logs/
      
    • 来源删除选项:根据您的偏好选择删除选项:

      • 永不:转移后永不删除任何文件(建议用于测试)。
      • 删除已转移的文件:在成功转移后删除文件。
      • 删除已转移的文件和空目录:成功转移后删除文件和空目录。
    • 文件存在时间上限:包含过去指定天数内修改过的文件(默认值为 180 天)。

    • 资产命名空间:资产命名空间。

    • 注入标签:要应用于此 Feed 中事件的标签(例如 custom_app_access)。

  4. 点击下一步。

  5. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

选项 2:从 Amazon S3 提取数据

创建 Amazon S3 存储桶

  1. 打开 Amazon S3 控制台。
  2. 点击创建存储桶。
  3. 提供以下配置详细信息:
    • 存储桶名称:为存储桶输入一个有意义的名称(例如 custom-app-access-logs)。
    • 区域:选择应用运行的区域(例如 us-east-1)。
  4. 点击创建。

创建具有 S3 访问权限的 IAM 用户

  1. 打开 IAM 控制台。
  2. 依次点击用户 > 添加用户。
  3. 输入用户名(例如 chronicle-s3-reader)。
  4. 选择以编程方式使用。
  5. 点击 Next: Permissions。
  6. 选择 Attach existing policies directly。
  7. 搜索并选择 AmazonS3FullAccess 政策。
  8. 点击 Next: Tags。
  9. 点击下一步:检查。
  10. 点击创建用户。
  11. 点击下载 .csv 文件,保存访问密钥和访问密钥密码,以供日后参考。
  12. 点击关闭。

将应用配置为向 S3 写入日志

将您的自定义应用配置为将访问日志写入您创建的 S3 存储桶。使用与 GCS 部分中所述相同的日志格式(JSON、CSV 或 NDJSON)。

在 Google SecOps 中配置 Feed,以从 S3 注入日志

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Custom Application Access Logs - S3)。
  5. 选择 Amazon S3 V2 作为来源类型。
  6. 选择 CUSTOM_APPLICATION_ACCESS_CUSTOM 作为日志类型。
  7. 点击下一步,然后点击提交。
  8. 为以下输入参数指定值:

    • S3 URI:以以下格式输入存储桶 URI:

      s3://custom-app-access-logs/
      
    • 源删除选项:根据您的偏好选择删除选项。

    • 文件存在时间上限:包含在过去指定天数内修改过的文件(默认值为 180 天)。

    • 访问密钥 ID:有权访问 S3 存储桶的用户访问密钥。

    • 私有访问密钥:具有 S3 存储桶访问权限的用户私有密钥。

    • 资产命名空间:资产命名空间。

    • 注入标签:要应用于此 Feed 中事件的标签(例如 custom_app_access)。

  9. 点击下一步,然后点击提交。

选项 3:从 Azure Blob Storage 中提取数据

创建 Azure 存储账号

  1. 在 Azure 门户中,搜索存储账号。
  2. 点击 + 创建。
  3. 提供以下配置详细信息:

    设置 值
    订阅 选择您的 Azure 订阅
    资源组 选择现有组或创建新组
    存储账号名称 输入一个唯一名称(例如 customappaccesslogs)
    区域 选择区域(例如 East US)
    性能 标准(推荐)
    冗余 LRS(本地冗余存储)
  4. 点击 Review + create(检查 + 创建)。

  5. 查看账号概览,然后点击创建。

  6. 等待部署完成。

获取存储账号凭据

  1. 前往您刚刚创建的存储账号。
  2. 在左侧导航栏中,选择安全性 + 网络下的访问密钥。
  3. 点击显示密钥。
  4. 复制并保存以下内容以供日后使用:
    • Storage 账号名称:customappaccesslogs
    • 密钥 1 或密钥 2:共享访问密钥

创建 Blob 容器

  1. 在同一存储账号中,从左侧导航栏中选择容器。
  2. 点击 + 容器。
  3. 提供以下配置详细信息:
    • 名称:输入 access-logs
    • 公开访问权限级别:选择不公开(不允许匿名访问)
  4. 点击创建。

将应用配置为将日志写入 Azure Blob Storage

将自定义应用配置为将访问日志写入您创建的 Azure Blob Storage 容器。使用与 GCS 部分中所述相同的日志格式(JSON、CSV 或 NDJSON)。

在 Google SecOps 中配置 Feed 以注入 Azure 日志

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Custom Application Access Logs - Azure)。
  5. 选择 Microsoft Azure Blob Storage V2 作为来源类型。
  6. 选择 CUSTOM_APPLICATION_ACCESS_CUSTOM 作为日志类型。
  7. 点击下一步。
  8. 为以下输入参数指定值:

    • Azure URI:输入包含容器路径的 Blob 服务端点网址:

      https://customappaccesslogs.blob.core.windows.net/access-logs/
      
    • 来源删除选项:根据您的偏好选择删除选项

    • 文件存在时间上限:包含在过去指定天数内修改过的文件(默认值为 180 天)

    • 共享密钥:输入您从存储账号中获取的共享密钥值(访问密钥)

    • 资源命名空间:资源命名空间

    • 注入标签:要应用于此 Feed 中的事件的标签(例如 custom_app_access)

  9. 点击下一步。

  10. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

方法 4:使用 Webhook 提取数据

在 Google SecOps 中创建 webhook Feed

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Custom Application Access Logs - Webhook)。
  5. 选择 Webhook 作为来源类型。
  6. 选择 CUSTOM_APPLICATION_ACCESS_CUSTOM 作为日志类型。
  7. 点击下一步。
  8. 为以下输入参数指定值:
    • 拆分定界符:输入 \n 以拆分换行符分隔的事件(如果每个请求发送多个事件)。
    • 资源命名空间:资源命名空间。
    • 注入标签:要应用于此 Feed 中事件的标签(例如 custom_app_access)。
  9. 点击下一步。
  10. 在最终确定界面中查看新的新闻信息流配置,然后点击提交。

生成并保存密钥

  1. 在 Feed 详情页面上,点击生成密钥。
  2. 对话框会显示密钥。
  3. 复制并妥善保存密钥。

获取 Feed 端点网址

  1. 前往该 Feed 的详细信息标签页。
  2. 在端点信息部分,复制 Feed 端点网址。
  3. 网址格式为:

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import
    

    其中,{region} 是 Google SecOps 实例所在的区域(例如 us、europe 或 asia-southeast1),{parent} 是资源路径,格式为 projects/<PROJECT_ID>/locations/<LOCATION>/instances/<INSTANCE_ID>/logTypes/<LOG_TYPE>。

  4. 保存此网址以供后续步骤使用。

  5. 点击完成。

创建 Google Cloud API 密钥

Google SecOps 需要使用 API 密钥进行身份验证。在 Google Cloud Console 中创建受限 API 密钥。

  1. 前往 Google Cloud 控制台“凭据”页面。
  2. 选择您的项目(与您的 Chronicle 实例关联的项目)。
  3. 点击创建凭据 > API 密钥。
  4. 系统会创建 API 密钥,并在对话框中显示该密钥。
  5. 点击修改 API 密钥以限制密钥。
  6. 在 API 密钥设置页面中:
    • 名称:输入一个描述性名称(例如 Chronicle Webhook API Key)。
  7. 在 API 限制下:
    1. 选择限制密钥。
    2. 在选择 API 下拉菜单中,搜索并选择 Google SecOps API(或 Chronicle API)。
  8. 点击保存。
  9. 复制页面顶部 API 密钥字段中的 API 密钥值。
  10. 安全地保存 API 密钥。

配置应用以通过 Webhook 发送日志

将您的自定义应用配置为向 Chronicle 网络钩子端点发送 HTTP POST 请求。

  • 构建网络钩子网址:

    1. 将 API 密钥附加到 Feed 端点网址:

      https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=<API_KEY>
      
    2. 将 <API_KEY> 替换为您创建的 API 密钥。

  • HTTP POST 请求格式:

    POST https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45"}
    
  • 对于多个事件(以换行符分隔):

    POST https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=<API_KEY> HTTP/1.1
    Content-Type: application/json
    x-chronicle-auth: <SECRET_KEY>
    
    {"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success"}
    {"timestamp": "2025-01-15T10:30:05Z", "user": "jane.smith@example.com", "action": "access", "result": "denied"}
    
  • 使用 curl 的示例:

    curl -X POST \
      "https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -H "x-chronicle-auth: YOUR_SECRET_KEY" \
      -d '{"timestamp": "2025-01-15T10:30:00Z", "user": "john.doe@example.com", "action": "login", "result": "success", "source_ip": "203.0.113.45"}'
    

方法 5:使用 Amazon Kinesis Data Firehose 注入数据

在 Google SecOps 中创建 Feed

  1. 前往 SIEM 设置 > Feed。
  2. 点击添加新 Feed。
  3. 点击配置单个 Feed。
  4. 在 Feed 名称字段中,输入 Feed 的名称(例如 Custom Application Access Logs - Firehose)。
  5. 选择 Amazon Data Firehose 作为来源类型。
  6. 选择 CUSTOM_APPLICATION_ACCESS_CUSTOM 作为日志类型。
  7. 点击下一步。
  8. 为以下输入参数指定值:
    • 拆分定界符:输入 \n 以拆分换行符分隔的日志。
    • 资源命名空间:资源命名空间。
    • 注入标签:要应用于此 Feed 中事件的标签(例如 custom_app_access)。
  9. 点击下一步。
  10. 检查 Feed 配置,然后点击提交。
  11. 点击生成密钥,生成用于对此 Feed 进行身份验证的密钥。
  12. 复制并保存密钥,因为您无法再次查看此密钥。
  13. 点击详细信息标签页。
  14. 从端点信息字段中复制 Feed 端点网址。
  15. 点击完成。

为 Amazon Data Firehose Feed 创建 API 密钥

  1. 前往 Google Cloud 控制台 凭据页面,网址为 https://console.cloud.google.com/apis/credentials
  2. 点击创建凭据,然后选择 API 密钥。
  3. 点击修改 API 密钥以限制密钥。
  4. 在 API 限制下,选择限制密钥。
  5. 搜索并选择 Google SecOps API。
  6. 点击保存。
  7. 复制并保存 API 密钥。

构建端点网址

  1. 以以下格式将 API 密钥附加到 Feed 端点网址:

    <FEED_ENDPOINT_URL>?key=<API_KEY>
    
  2. 替换以下内容:

    • <FEED_ENDPOINT_URL>:上一步中的 Feed 端点网址
    • <API_KEY>:上一步中的 API 密钥

    示例:

    https://{region}-chronicle.googleapis.com/v1/{parent}/logs:import?key=AIzaSyD...
    
  3. 保存此完整网址,以便在下一步中使用。

为 Firehose 创建 IAM 政策

  1. 在 AWS 控制台中,依次前往 IAM > 政策 > 创建政策 > JSON 标签页。
  2. 粘贴以下 JSON 格式的政策:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "firehose:PutRecord",
                    "firehose:PutRecordBatch"
                ],
                "Resource": "arn:aws:firehose:us-east-1:123456789012:deliverystream/CustomAppAccessToChronicle"
            }
        ]
    }
    
  3. 替换以下内容:

    • us-east-1:您的 AWS 区域
    • 123456789012:您的 AWS 账号 ID(12 位数字)
    • CustomAppAccessToChronicle:您的 Firehose 传送流名称(您将在下一步中创建此名称)
  4. 将政策命名为 CustomAppAccessFirehoseWritePolicy。

  5. 点击创建政策。

为 CloudWatch Logs 创建 IAM 角色

  1. 依次前往 IAM > 角色 > 创建角色。
  2. 选择自定义信任政策,然后粘贴以下内容:

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": "logs.us-east-1.amazonaws.com"
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  3. 将 us-east-1 替换为您的 AWS 区域。

  4. 点击下一步。

  5. 搜索并选择您在上一步中创建的政策 CustomAppAccessFirehoseWritePolicy。

  6. 点击下一步。

  7. 将角色命名为 CloudWatchLogsToFirehoseRole。

  8. 点击 Create role。

创建 Kinesis Data Firehose 传送数据流

  1. 在 AWS 控制台中,依次前往 Kinesis > Data Firehose > Create delivery stream(创建传送流)。
  2. 提供以下配置详细信息:

    • 来源和目标:

      • 来源:选择直接 PUT 或其他来源
      • 目标:选择 HTTP 端点
    • 交付数据流名称:

      • 交付数据流名称:输入 CustomAppAccessToChronicle
    • HTTP 端点目标:

      • HTTP 端点网址:输入您之前构建的完整端点网址(Feed 端点 + API 密钥)
      • 内容编码:选择 GZIP(推荐,可节省带宽)
    • 自定义 HTTP 标头:

      • 点击添加自定义 HTTP 标头
      • 标头名称:输入 X-Goog-Chronicle-Auth
      • 标头值:输入您在前面步骤中保存的密钥
    • 备份设置:

      • Amazon S3 中的源记录备份:选择仅失败的数据(推荐)
      • S3 存储桶:选择现有存储桶或创建新存储桶来存储失败的记录
    • 缓冲区提示:

      • 缓冲区空间:输入 1 MiB(HTTP 端点的最小值)
      • 缓冲间隔:输入 60 秒
    • 重试时长:

      • 重试时长:输入 300 秒(5 分钟)
  3. 点击创建传送流。

  4. 等待传送流状态变为有效(1-2 分钟)。

将应用配置为写入 CloudWatch Logs

将自定义应用配置为将访问日志写入 CloudWatch 日志组。然后,创建订阅过滤条件,以将日志流式传输到 Firehose。

  1. 在 AWS 控制台中,依次前往 CloudWatch > 日志 > 日志组。
  2. 创建新的日志组或选择现有日志组(您的应用会将日志写入其中)。
  3. 点击订阅过滤条件标签页。
  4. 点击创建 > 创建 Amazon Kinesis Data Firehose 订阅过滤器。
  5. 提供以下配置详细信息:

    • 目标:选择交付数据流 CustomAppAccessToChronicle。
    • 授予权限:选择 CloudWatchLogsToFirehoseRole 角色。
    • 订阅过滤条件名称:输入 CustomAppAccessToChronicle。
    • 日志格式:选择其他(Google SecOps 会处理解析)。
    • 订阅过滤条件模式:留空可发送所有事件。
  6. 点击开始直播。

  7. 日志通过 Firehose 实时流式传输到 Google SecOps。

创建自定义解析器

提取日志后,您必须创建自定义解析器,将数据标准化为 UDM 格式。

  1. 前往 SIEM 设置 > 解析器。
  2. 点击创建解析器。
  3. 选择 CUSTOM_APPLICATION_ACCESS_CUSTOM 作为日志类型。
  4. 使用解析器编辑器创建 Grok 模式或解析器扩展程序,将日志字段映射到 UDM 字段。

    解析器映射示例:

    自定义日志字段 UDM 字段
    timestamp metadata.event_timestamp
    user principal.user.email_addresses
    action security_result.action
    result security_result.summary
    source_ip principal.ip
    application target.application
    resource target.resource.name
  5. 使用示例日志测试解析器。

  6. 点击保存以激活解析器。

如需了解详细的解析器创建说明,请参阅自助式解析器选项。

验证注入

配置 Feed 和解析器后,请验证日志是否正在注入:

  1. 依次前往搜索 > UDM 搜索。
  2. 请运行以下查询:

    metadata.log_type = "CUSTOM_APPLICATION_ACCESS_CUSTOM"
    
  3. 验证事件是否显示在搜索结果中。

  4. 检查 UDM 字段是否根据解析器配置正确填充。

UDM 映射表

日志字段 UDM 映射 逻辑
其他 已与通过以下各项创建的标签合并:service、env、msg.attachment.fileName、msg.attachment.digest、msg.attachment.key、msg.attachment.authorizeId、msg.attachment.contentType、dest.type、type、msg.sortID、msg.refID、state.reported.applications_installed、state.reported.applications_status、state.reported.ota_queue、state.reported.VICMB_Deg_Battery_LimpHome、state.reported.VICMB_Inhibit_Propulsion、state.reported.VICMB_FA_LostComm_BPCM、state.reported.VICMB_FA_LostComm_SFAM1、state.reported.VICMB_Inhibit_HV、state.reported.VICMB_FA_LostComm_RIDM、state.reported.VICMB_FA_LostComm_RWAM1、state.reported.uname、meta.reported.battery_charging_rate_kw.timestamp、state.reported.battery_charging_rate_kw、meta.reported.cell.connected.timestamp、meta.reported.cell.packet_loss.timestamp、meta.reported.cell.average_ping_ms.timestamp、meta.reported.cell.bitrate.timestamp、meta.reported.cell.download_speed_bytes_per_sec.timestamp、meta.reported.cell.signal_strength.timestamp、meta.reported.cell.signal.timestamp、state.reported.cell.connected、state.reported.cell.packet_loss、state.reported.cell.average_ping_ms、state.reported.cell.bitrate、state.reported.cell.download_speed_bytes_per_sec、state.reported.cell.signal_strength、state.reported.cell.signal
request_time metadata.collected_timestamp 使用 ISO8601 格式从 request_time 解析
msg_1, msg.body metadata.description msg_1 中的值(如果不为空),否则为 msg.body
user_id, src_email, otadata.1687965118.initiator metadata.event_type 如果存在 user_id、src_email、otadata.1687965118.initiator 中的任何一个,则设置为“USER_UNCATEGORIZED”,否则设置为“GENERIC_EVENT”
otadata.1687965118.deployment_id metadata.product_deployment_id 直接复制的值
版本 metadata.product_version 直接复制的值
response.status network.http.response_code 已转换为整数
request_id principal.resource.product_object_id 直接复制值
msg.attachment.url, otadata.1687965118.download_url principal.url 如果 msg.attachment.url 不为空,则取其值;否则取 otadata.1687965118.download_url 的值
src_email, otadata.1687965118.initiator principal.user.email_addresses 如果与电子邮件正则表达式匹配,则为 src_email 中的值;否则为 otadata.1687965118.initiator 中的值
user_id principal.user.userid 直接复制的值
level security_result.severity 如果级别为“INFO”,则设置为“INFORMATIONAL”
metadata.product_name 设为“自定义应用访问权限”
metadata.vendor_name 设置为“自定义应用访问权限”
timestamp metadata.event_timestamp 从更新日志映射
level additional.fields 从更新日志映射
service additional.fields 从更新日志映射
env additional.fields 从更新日志映射

更新日志

查看此解析器的更新日志

需要更多帮助?获得社区成员和 Google SecOps 专业人士的解答。