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

AWS Lambda用SAM部署时cloudformation:CreateChangeSet访问被拒绝报错

报错根因定位

你遇到的explicit deny in an identity-based policy报错是IAM权限评估逻辑中优先级最高的拦截规则,哪怕已配置AWSCloudFormationFullAccess这类全量允许权限,只要存在显式拒绝规则就会直接拦截操作,常见触发原因如下:

  • 你绑定的Force_MFA策略是最可能的诱因:这类策略默认会对未经过MFA校验的身份,显式拒绝除MFA验证外的所有云服务操作,你当前本地使用的应该是没有经过MFA授权的永久AK/SK凭证
  • 该IAM用户/所属用户组绑定的其他身份策略中,存在单独限制cloudformation:CreateChangeSet操作、或限制aws-sam-cli-managed-default栈资源访问的显式拒绝规则
解决方案

1. 优先处理MFA校验问题

如果你已经为该IAM用户配置了MFA设备,需要先获取MFA临时会话凭证再执行部署:
执行以下命令生成临时凭证,替换命令中对应参数为你的实际账号、MFA设备名、实时验证码:

aws sts get-session-token --serial-number arn:aws:iam::xxxx:mfa/你的MFA设备名称 --token-code 6位MFA验证码

将返回的临时AccessKeyId、SecretAccessKey、SessionToken配置到本地AWS凭证文件(~/.aws/credentials)对应的profile中,再重新执行sam deploy --guided即可。

2. 排查显式拒绝策略

如果配置MFA临时凭证后仍报错,按以下步骤排查策略:

  • 进入IAM控制台,找到test.person用户,查看所有直接绑定的、以及所属用户组绑定的权限策略
  • 搜索所有包含"Effect": "Deny"的策略语句,确认是否存在拒绝cloudformation:CreateChangeSet操作、或限制对应CloudFormation栈资源的规则
  • 修改对应策略,放行cloudformation:CreateChangeSet操作,或添加arn:aws:cloudformation:ap-south-1:xxxx:stack/aws-sam-cli-managed-default/*到策略允许的资源列表中

3. 快速验证方案

如果需要快速确认问题根因,可以临时为该用户绑定AdministratorAccess权限后重试部署,如果仍然报错即可100%确认是显式拒绝策略导致,排查完成后记得及时删除临时绑定的管理员权限避免风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 07:54:08