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

AWS CLI执行CloudFormation创建栈时遇S3 Access Denied错误

解决CloudFormation CreateStack时的S3 Access Denied错误

你遇到的这个问题虽然命令源自官方文档,但大概率是权限或资源访问配置层面的问题,我给你梳理几个实用的排查方向:

  • 先直接验证凭证对S3模板的访问权限
    先绕开CloudFormation,用AWS CLI直接测试能否获取目标模板文件:

    aws s3 cp s3://awsappsync/resources/lambda/LambdaCFTemplate.yam ./local-test.yam --region us-west-2
    

    如果这个命令也报Access Denied,那问题核心就是你的凭证没有访问该S3对象的权限;如果能成功下载,再去排查CloudFormation相关的配置细节。

  • 确认你的IAM实体(用户/角色)具备必要的S3权限
    不管你通过aws configure配置的是IAM用户,还是执行CLI时默认使用的角色,都必须拥有s3:GetObject权限来访问这个S3模板。你可以去IAM控制台检查对应实体的权限策略,确保包含类似这样的语句:

    {
        "Effect": "Allow",
        "Action": "s3:GetObject",
        "Resource": "arn:aws:s3:::awsappsync/resources/lambda/LambdaCFTemplate.yam"
    }
    

    也可以配置更宽泛的权限(比如针对整个awsappsync桶的GetObject权限)来测试。

  • 检查目标S3桶的桶策略是否限制了访问
    部分官方S3桶会设置桶策略,仅允许特定AWS服务或IP范围访问。你需要确认awsappsync桶的策略是否允许你的IAM实体,或者CloudFormation服务本身访问它。注意:桶策略的优先级高于IAM权限,如果桶策略明确拒绝了访问,哪怕IAM权限允许,也会触发Access Denied。

  • 确认区域配置完全匹配
    你指定了--region us-west-2,S3桶域名也对应us-west-2区域,但还是要确认模板文件确实存储在us-west-2的桶中,避免跨区域访问带来的权限限制问题。

  • 排查是否有上层权限限制
    如果你的AWS账号属于某个组织,可能存在SCP(服务控制策略)限制了S3访问;或者你的IAM用户/角色附加了权限边界,导致无法执行s3:GetObject操作。可以去IAM控制台查看权限边界,以及账号层面的SCP配置。

如果以上步骤排查后仍未解决,你可以把aws s3 cp命令的报错信息、IAM策略内容(敏感信息打码)贴出来,方便进一步定位问题。

内容的提问来源于stack exchange,提问作者honkskillet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:41:54