配置信息中心过滤条件
本文档介绍了如何对数据源字段应用过滤条件,以优化适用图表中显示的数据。
添加过滤条件
如需添加过滤条件,请执行以下操作:
在修改信息中心 页面上,点击 过滤条件 以添加过滤条件。
在管理过滤条件 窗口中,点击 添加 以添加新的过滤条件。
在要过滤的字段 字段中,输入要用于过滤数据的字段。如需详细了解支持的数据源和字段, 请参阅支持的数据源。
在过滤条件名称 字段中,输入过滤条件的名称。
在应用于字段 中,选择应应用过滤条件的图表。
可选:为过滤条件设置默认值。
点击 Done (完成)以添加过滤条件并关闭管理过滤条件 窗口。
SOAR 数据源过滤条件限制
默认 SOC 工作流监控 SOAR 信息中心和底层 SOAR 数据源使用自己的 environment 字段,并且不会直接映射到 SIEM 数据源使用的 principal.namespace 字段。
因此,包含 SIEM 和 SOAR widget 的统一信息中心无法使用映射到 principal.namespace 的单个全局过滤条件按环境进行过滤。如果您对 principal.namespace 应用过滤条件,该过滤条件将不会应用于 SOAR widget。如需过滤这两个数据集,您可能需要定义单独的过滤条件,或者构建自定义信息中心,在其中为每个来源明确定义过滤逻辑。
高级过滤
Google Security Operations 在其内置信息中心平台中提供高级过滤功能。与绑定到特定字段的基本过滤条件不同,高级过滤条件作为查询变量(也称为令牌)运行。借助此功能,安全分析师可以在运行时将动态值、复杂的正则表达式或布尔逻辑直接注入到 YARA-L 查询中。
主要特性
- 灵活的过滤条件 :使用单个过滤条件输入(例如
$token$)同时根据信息中心内多个图表中的多个字段进行过滤。 - 动态下拉选项 :使用单独的 YARA-L 查询的结果动态填充过滤条件选项。这样可确保用户始终从最新数据中进行选择。
- 灵活的格式设置:定义自定义前缀、后缀和分隔符(例如,正则表达式使用
/,IN子句使用,),以便在将用户选择的值注入到查询之前对其进行格式设置。 - 默认值 :配置默认值,以确保信息中心立即加载数据,并支持在不发生用户互动的情况下自动执行的定时报告。
- 多选支持 :允许用户为单个令牌选择多个值,并使用用户定义的分隔符进行连接。
安全性和权限
高级过滤使用现有的基于角色的访问权限控制 (RBAC) 权限,无需新权限。以下 Identity and Access Management (IAM) 权限相关:
| IAM 权限 | 用途 |
|---|---|
nativeDashboards.update |
在信息中心内创建和配置高级过滤条件。 |
nativeDashboards.get |
查看信息中心并使用过滤条件输入控件。 |
dashboardQueries.execute |
执行替换了令牌的最终解析查询。 |
对于数据 RBAC 强制执行,用于填充动态下拉列表的查询是在查看用户的上下文中执行的。这样可确保用户只能看到他们有权访问的值(例如特定 IP)。
配置和使用高级过滤条件
以下部分详细介绍了在 Google SecOps 信息中心内设置和使用高级过滤条件的过程。
创建新的高级过滤条件
如需创建新的高级过滤条件,请按以下步骤操作:
- 在信息中心内打开管理过滤条件 对话框。
- 选择 ,然后选择 Filter Type(过滤条件类型)下的高级过滤条件。
- 输入过滤条件名称 (标签)和令牌变量 (例如
token)。- 令牌变量语法限制 :令牌变量名称仅允许使用字母数字字符和下划线 (
^[a-zA-Z0-9_]+$)。 - 唯一性 :令牌名称必须是唯一的。冲突会阻止保存过滤条件。
- 令牌变量语法限制 :令牌变量名称仅允许使用字母数字字符和下划线 (
- 选择 Generate from Query (根据查询生成,动态 YARA-L 结果)或 Manual Entry (手动输入,静态列表)。
- 选择 Generate from Query (根据查询生成)时:
- 输入查询并定义时间范围 。
- 点击运行搜索 。
- 从选择列 下拉菜单中选择一列。
- 从预览过滤条件下拉列表 下拉菜单中选择一个值。
- 选择 Manual entry (手动输入)时,在手动输入 字段中输入一个值,然后点击 Add (添加)。
- 选择 Generate from Query (根据查询生成)时:
- 选择 Prefix (前缀)和 Suffix (后缀)以封装特定逻辑(例如正则表达式)的值。
- 如果令牌在 YARA-L 查询中的正则表达式分隔符内使用(例如
principal.ip = /$token$/),通常不需要指定 Prefix (前缀)或 Suffix (后缀)。 - 如果令牌在不使用正则表达式分隔符的情况下使用,但旨在充当锚定正则表达式(例如
principal.ip = $token$),请将 Prefix (前缀)设置为/^,并将 Suffix (后缀)设置为$/。
- 如果令牌在 YARA-L 查询中的正则表达式分隔符内使用(例如
- 切换 Allow Selection of Multiple Options (允许选择多个选项)按钮以定义 Delimiter (分隔符)(例如,正则表达式
OR逻辑使用|)。 - 从下拉菜单中选择 Default Value (默认值)。
- 选中或取消选中 Apply Prefix/Suffix for Default Value(s) (为默认值应用前缀/后缀)复选框。
- 点击 Done (完成)。
在图表查询中使用令牌
信息中心创建者必须手动将令牌(封装在 $ 符号中)插入到图表的查询中。
示例 :
principal.hostname = $hostname$re.regex(target.ip, $ip_regex$)
对于令牌验证,如果查询使用未定义的令牌,系统会显示黄色警告横幅。在这种情况下,系统会将令牌视为字面量字符串。
加载时的默认行为
Google SecOps 信息中心内的高级过滤条件完全通过字符串替换运行。与标准过滤条件不同,系统不会为您解读逻辑,而是在编译查询之前对 $token$ 执行“查找和替换”操作,将其替换为所选值。查询充当模板,用户负责确保最终替换了令牌的查询在语法上正确无误。
默认值和查询有效性
由于系统不会在未提供任何输入的情况下自动忽略令牌,因此您必须定义默认值,以在初始加载和定时报告中保持有效的查询结构。
以下是有效的默认值 配置示例:
| 使用场景 | 查询时的情境 | 默认值配置 | 生成的逻辑 |
|---|---|---|---|
| 完全匹配 | principal.hostname = $host$ |
不正确 :留空会导致语法无效 (principal.hostname = )。正确 :使用占位符来保持有效的语法。 |
使用空默认值的示例 :失败,因为 principal.hostname = 是无效的 YARA-L。 |
| 完全匹配 | principal.hostname = "$host$" |
留空 | 成功 :评估为 principal.hostname = "",这不会返回任何结果,但在语法上有效。 |
| 通配符(显示全部) | principal.hostname = /.*$host$.*/ |
.* |
成功 :评估为 principal.hostname = /.*/,这是一个“捕获所有”正则表达式,会返回所有结果。 |
| 正则表达式(显示全部) | principal.hostname = $host$ |
/.*/ |
成功 :评估为 principal.hostname = /.*/,这与所有主机名都匹配。 |
| 正则表达式锚点 | metadata.product_name = /^$token$$/ |
.* |
成功 :加载时评估为 metadata.product_name = /^.*$/,与所有商品都匹配。 |
| 整数(显示全部) | principal.host = $token$ |
0 or 1=1 |
成功 :评估为 principal.host = 0 or 1=1,有效地返回所有结果。 |
| 整数(显示全部) | cast.as_string(principal.host) = $token$ |
/.*/ |
成功 :评估为 cast.as_string(principal.host) = /.*/,这与主机整数的所有字符串表示形式都匹配。 |
| 具有默认全部逻辑的单选令牌 | $log = metadata.log_type \n $log = if($log$ = "", metadata.log_type, $log$)\n match: $log |
留空(前缀:",后缀:") |
成功:使用空默认值时,$log 变为 ""。if 语句变为 $log = if("" = "", metadata.log_type, ""),简化为 $log = metadata.log_type。然后,查询会匹配所有日志类型。 |
| 单个特定默认值 | $et = metadata.event_type \n $et = $et2$ \n match: $et |
EMAIL_TRANSACTION(前缀:",后缀:") |
成功 :加载时评估为 $et = "EMAIL_TRANSACTION",将默认结果限制为特定事件类别。 |
| 多选正则表达式 | $log = metadata.log_type \n $log = $logs$ \n match: $log |
.*(前缀:/,后缀:/,分隔符:|) |
成功 :加载时评估为 $log = /.*/,与所有日志类型都匹配。选择多个值(例如 DNS、DHCP)会评估为 $log = /DNS|DHCP/。 |
| 始终为 true 的默认值(显示全部) | $et = metadata.event_type \n $et = $et4$ \n match: $et |
"USER_LOGIN" or 1=1(定界符:" or metadata.event_type = ",为默认值应用前缀/后缀:未选中) |
成功 :加载时评估为 $et = "USER_LOGIN" or 1=1,与所有事件都匹配。选择特定选项会将字符串替换为显式 OR 等式子句。 |
| 完整子句注入(多选) | $et$ \n $et = metadata.event_type \n match: $et |
留空(前缀:metadata.event_type = ",后缀:",定界符:" or metadata.event_type = ",为默认值应用前缀/后缀:未选中) |
成功 :令牌本身会注入整个目标字段谓词。选择 USER_LOGIN 和 NETWORK_DNS 会展开为 metadata.event_type = "USER_LOGIN" or metadata.event_type = "NETWORK_DNS"。 |
| 正则表达式默认捕获所有内容 | $pet = metadata.product_event_type \n $pet = $pet$ \n match: $pet |
/.*/(前缀:",后缀:",为默认值应用前缀/后缀:未选中) |
成功 :加载时评估为 $pet = /.*/,与所有产品事件类型都匹配。选择特定值会应用引号(例如 $pet = "USER_LOGIN")。 |
高级过滤条件的语法注意事项
系统不会对特殊字符(例如引号或斜杠)执行自动转义。请务必验证您配置的前缀、后缀和分隔符是否与您使用的查询语言 (YARA-L) 的语法一致。
API 规范
如需详细了解 API 规范,请参阅 AdvancedFilterConfig。
管理全局时间过滤条件
全局时间过滤条件适用于所有图表,无论图表's 数据源是什么。
如需选择可以应用全局时间过滤条件的图表,请执行以下操作:
在修改信息中心 页面上,点击 过滤条件 以添加过滤条件。
在管理过滤条件 窗口中,从过滤条件列表中选择 Global time filter (全局时间过滤条件)。
点击切换开关,确保全局时间过滤条件已启用。
在应用于 字段中,选择要应用全局时间过滤条件的图表。
在设置默认值 字段中,使用绝对值或相对值设置时间范围以查看数据。
点击 Done (完成)以启用过滤条件并关闭管理过滤条件 窗口。
应用信息中心过滤条件
如需应用过滤条件,请执行以下操作:
在修改信息中心 页面上,依次点击 Back (返回)> 过滤条件 以查看信息中心过滤条件。
在信息中心过滤条件 窗口中,选择您创建的过滤条件。
为所选字段输入值。
点击应用 。系统会使用新数据刷新适用过滤条件的图表。
更改全局时间过滤条件
打开信息中心时,系统会在适用图表上应用全局时间过滤条件,并使用默认时间范围。
如需更改全局时间过滤条件值,请执行以下操作:
点击 定时发布 。
在 Global Time Filter (全局时间过滤条件)对话框中,选择
past或between运算符。选择日期范围。
点击应用 。所选图表会根据全局时间过滤条件使用新数据进行更新。
了解 Past 运算符
past 运算符会根据您提供的值和单位计算开始时间。结束时间始终为当前时间。
开始时间的计算取决于单位:
- 秒、分钟、小时 :这些单位通过从当前时间戳中减去确切的秒数、分钟数或小时数来计算开始时间。
- 天、周、月、年 :这些单位会将开始时间对齐到当前或上一个周期的开始时间(例如,当前日或月的开始时间)。
下表显示了基于当前时间戳 2025 年 7 月 2 日 13:13 的示例:
| 值 | 单位 | 过滤条件开始时间 |
|---|---|---|
n |
秒 | 2025 年 7 月 2 日 13:13:00 减去 n 秒 |
n |
分钟 | 2025 年 7 月 2 日 13:13:00 减去 n 分钟 |
n |
小时 | 2025 年 7 月 2 日 13:13:00 减去 n 小时 |
1 |
天 | 2025 年 7 月 2 日 00:00:00(当前日的开始时间) |
2 |
天 | 2025 年 7 月 1 日 00:00:00(前一天的开始时间) |
1 |
周 | 当前周第一天的 00:00:00。一周的开始日期取决于系统的区域设置。 |
1 |
月 | 2025 年 7 月 1 日 00:00:00(当前月的开始时间) |
2 |
月 | 2025 年 6 月 1 日 00:00:00(前一个月的开始时间) |
1 |
年 | 2025 年 1 月 1 日 00:00:00(当前年的开始时间) |
2 |
年 | 2024 年 1 月 1 日 00:00:00(前一年的开始时间) |