当规则设置为“仅预览”时,Cloud Armor 日志不是很清楚

问题描述

我正在使用 Cloud Armor 部署 WAF,我意识到可以在“仅限预览”模式下创建规则,并且 Cloud Logging 中有 Cloud Armor 条目。

问题是,当我创建“仅预览”规则并且该规则与某个请求匹配时,我无法在日志中区分匹配某个特定规则的请求和/或正常的普通请求。他们看起来都差不多。

在这些情况下,是否有任何日志属性仅在请求匹配特定规则时才存在(或具有特定值)?因为我发现明确检查某些请求匹配的规则的唯一方法是取消选中“仅预览”标志,并且在测试时不利于生产。

解决方法

当您将 Cloud Armor 中配置的规则设置为“预览”时,Cloud Logging 会记录规则在启用后会执行的操作。

此 Cloud Logging 过滤器将向您显示被 Cloud Armor 拒绝的条目:

resource.type="http_load_balancer"
jsonPayload.statusDetails="denied_by_security_policy"

此 Cloud Logging 过滤器将向您显示 Cloud Armor 会拒绝的条目:

resource.type="http_load_balancer"
jsonPayload.previewSecurityPolicy.outcome="DENY"

在 Cloud Logging 中,将 resource.type 设置为“http_load_balancer”并删除第二个过滤器行以查看所有条目。

展开其中一项:

查找“jsonPayload.enforcedSecurityPolicy”。这是 Cloud Armor 政策。

查找“jsonPayload.previewSecurityPolicy”。这提供了规则优先级的详细信息,如果规则不在预览中,它会告诉您规则和结果。

示例截图:

enter image description here

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...