如何编写GCP日志查询以覆盖所有版本的防火墙规则操作?
GCP防火墙规则篡改日志的通用查询方案
针对你需要覆盖所有API版本(alpha/beta/v1/v2等)的防火墙操作日志需求,直接用GCP日志查询的字符串匹配函数即可实现,无需逐个枚举API版本:
方案一:精准匹配操作后缀
使用ENDS_WITH函数匹配方法名的固定后缀,确保命中所有版本的对应操作:
resource.type=gce_firewall_rule AND (ENDS_WITH(protoPayload.methodName, ".compute.firewalls.patch") OR ENDS_WITH(protoPayload.methodName, ".compute.firewalls.insert") OR ENDS_WITH(protoPayload.methodName, ".compute.firewalls.update"))
方案二:简化的包含匹配
用CONTAINS_SUBSTR匹配核心路径,再过滤操作类型,写法更简洁:
resource.type=gce_firewall_rule AND CONTAINS_SUBSTR(protoPayload.methodName, "compute.firewalls.") AND (protoPayload.methodName:patch OR protoPayload.methodName:insert OR protoPayload.methodName:update)
这两种写法都能自动覆盖所有历史及未来的API版本,完全满足事件响应和SCC审计的日志收集需求。
内容的提问来源于stack exchange,提问作者user19959899
相关产品推荐
相关产品推荐

