You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置权限仅允许用户通过删除CloudFormation栈删除对应AWS资源

可行方案说明

这个需求可以通过IAM的**全局条件键aws:CalledVia**实现,该条件专门用于限制用户只有通过指定AWS服务发起的操作才会被允许,用户直接操作资源时不匹配条件,权限不会生效。

具体配置步骤

  • 第一步:给该power user用户开放cloudformation:DeleteStack的允许权限,无需额外限制,确保用户可以正常发起CF栈删除请求
  • 第二步:给该用户配置所有关联资源的删除/修改权限,同时添加条件限制仅当操作由CloudFormation服务发起时才生效,策略示例如下:
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "lambda:DeleteFunction",
                "ec2:TerminateInstances",
                "s3:DeleteBucket",
                // 补充其他CF栈删除时需要用到的资源操作权限
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:CalledVia": "cloudformation.amazonaws.com"
                }
            }
        }
    ]
}

逻辑验证

  • 用户直接在Lambda、EC2等资源控制台发起删除/修改操作时,属于用户直接调用资源服务API,不满足aws:CalledVia的匹配条件,对应权限不生效,操作会被拒绝
  • 用户发起CF栈删除请求后,CloudFormation服务会代表用户调用对应资源的删除API,此时请求的aws:CalledVia参数会被AWS自动填充为cloudformation.amazonaws.com,匹配条件后权限生效,删栈流程可正常执行

补充说明

如果CF栈中存在需要先修改属性才能删除的资源,可把对应的修改操作也加到上述策略的Action列表中,同样受aws:CalledVia条件限制,不会开放给用户直接操作。整个方案不需要调整CloudFormation栈本身的配置,仅修改用户侧的IAM策略即可落地。

内容的提问来源于stack exchange,提问作者Fed.Ushel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 22:36:03