求助:无法删除关联已删除Firewall Manager策略的AWS WAF WebAcl
解决AWS WAF WebACL因已删除Firewall Manager策略无法删除的问题
问题背景
通过Firewall Manager创建的WAF WebACL,在对应的FMS策略被删除时未勾选「删除所有策略资源」,导致WebACL留存但无法直接删除,删除时触发错误:
Error You don't have permissions to delete the resource because it's managed by Firewall Manager.
原FMS策略已不存在,CloudTrail日志因超过90天无法查询到策略删除记录,CLI删除尝试失败,且不想通过付费支持渠道解决。
可行解决方法
方法1:创建新FMS策略关联目标WebACL后删除
这是最直接的免费解决方案:
- 登录AWS控制台,进入Firewall Manager服务页面
- 创建一个新的WAF WebACL策略,配置时确保目标遗留WebACL所在的资源(如特定S3桶、EC2实例或整个账号)被包含在策略的保护范围内
- 等待FMS完成策略同步,确认目标WebACL被标记为该新策略的管理资源
- 删除这个新创建的策略,必须勾选「删除所有策略资源」复选框
- FMS会自动清理该策略关联的所有资源,包括之前遗留的WebACL
方法2:通过FMS API强制解除资源关联
如果方法1无法生效,可通过AWS CLI调用FMS API手动清理关联:
- 首先确认当前账号的FMS管理员状态:
aws fms get-admin-account - 若当前是管理员账号,先解除管理员关联:
aws fms disassociate-admin-account - 等待10-15分钟后,重新关联管理员账号:
aws fms associate-admin-account --admin-account-id <你的账号ID> - 重新关联后,FMS会自动扫描并清理遗留的无主管理资源,之后即可尝试删除WebACL
AWS FMS DeletePolicy API 相关说明(翻译自官方文档)
DeletePolicy接口用于删除Firewall Manager策略,关键参数说明:
DeleteAllPolicyResources:布尔型参数,用于指定是否同时删除策略创建的所有资源- 设置为
true:删除策略的同时,FMS会自动清理所有由该策略管理的资源(如WAF WebACL、安全组、Shield保护等) - 设置为
false(默认值):仅删除策略本身,由策略创建的资源会保留,但仍会被标记为FMS管理资源,无法直接手动删除
- 设置为
内容的提问来源于stack exchange,提问作者Lucas Farias
相关产品推荐
相关产品推荐

