我尝试使用 App Sync 插件的文档来添加 AWS 托管规则,但无法添加规则,而是收到以下错误:
Error:
UPDATE_FAILED: GraphQlWaf (AWS::WAFv2::WebACL)
Resource handler returned message: "Error reason: A reference in your rule statement is not valid., field: RULE, parameter: Statement (Service: Wafv2, Status Code: 400, Request ID: 5ae443c0-da15-4ef8-8734-2bc8d2365822)" (RequestToken: 6e51723d-08dd-68da-f0e7-ecfc51c29a4e, HandlerErrorCode: InvalidRequest)
这是我的配置:
waf:
enabled: true
defaultAction: "Allow"
rules:
- name: "AWSManagedRulesCommonRuleSet"
priority: 20
overrideAction:
None: {}
statement:
ManagedRuleGroupStatement:
VendorName: "AWS"
Name: "AWSManagedRulesCommonRuleSet"
添加单个限制规则可以按预期工作:
- throttle: 1000
该示例是文档中的示例 yaml,但由于某种未知原因,我收到此错误。如果有人有一个有效的示例或可以告诉我导致此错误的原因,请告诉我。
不幸的是,这是我的问题,我检查了生成的云形成模板,我注意到在 JSON 文件中它从未真正添加
overrideAction
块,并且来自 AWS 的错误非常模糊。
我尝试添加
action
块作为测试,我注意到它已添加到 JSON,尽管它格式错误,所以我将插件升级到我的 package.json
中的最新版本,它现在似乎按预期工作。正确的块已添加到 JSON 模板中,并且规则已添加到我的 WAF 中。