AWS:使用 cloudformation 模板将 WAF 附加到 api 网关

Posted

技术标签:

【中文标题】AWS:使用 cloudformation 模板将 WAF 附加到 api 网关【英文标题】:AWS: Attach WAF to api gateway using cloudformation template 【发布时间】:2019-12-03 10:44:07 【问题描述】:

我在我的 AWS 账户中创建了 WAF,我想将它与我的 API 网关休息端点集成。

我在下面找到了将 WAF 与 API 网关休息端点集成的命令,但我必须使用 Cloudformation 模板做同样的事情。

aws waf-regional associate-web-acl \
--web-acl-id 'aabc123a-fb4f-4fc6-becb-2b00831cadcf' \
--resource-arn 'arn:aws:apigateway:region::/restapis/4wk1k4onj3/stages/prod'

同样来自AWS documentation,我无法弄清楚如何将 WAF 与 API 网关端点连接。

以下是 WAF 配置在 AWS UI 中的外观:

【问题讨论】:

【参考方案1】:

以下是将 WAF 与 AWS 中任何 WAF 支持的资源集成的方法: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafregional-webaclassociation.html

"MyWebACLAssociation": 
  "Type": "AWS::WAFRegional::WebACLAssociation",
  "Properties": 
    "ResourceArn":  "Ref": "MyLoadBalancer" ,
    "WebACLId":  "Ref": "MyWebACL" 
  

编辑:较新的 WAFv2 的文档:https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-wafv2-webaclassociation.html

【讨论】:

不错!较新的 WAFv2 的文档在这里:docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/…

以上是关于AWS:使用 cloudformation 模板将 WAF 附加到 api 网关的主要内容,如果未能解决你的问题,请参考以下文章

AWS cloudformation:一个大模板文件还是许多小模板文件?

AWS::ElasticBeanstalk::ConfigurationTemplate 的 AWS CloudFormation 模板失败

如何使用 CloudFormation 模板更新现有 AWS API Gateway

如何将 AWS CloudWatch 仪表板转换为 CloudFormation 模板

将现有 AWS Lambda 和 API Gateway 导出到 Cloudformation 模板

AWS cloudformation 嵌套堆栈因模板 URL 失败