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

使用带AWSLambdaFullAccess的HR角色创建Lambda失败,遇iam权限报错求助

解决AWS Lambda创建时的iam:CreateRole权限报错问题

我来帮你拆解这个问题——你遇到的报错其实是个典型的权限范围误解:AWSLambdaFullAccess策略默认并不包含创建IAM角色的权限,哪怕你用根账号配置了HR角色并附加了这个策略也没用。

问题根源

当你创建Lambda函数时,如果选择让AWS自动创建执行角色(这是默认选项),Lambda服务会在后台调用iam:CreateRole和iam:AttachRolePolicy操作来生成对应的执行角色。但AWSLambdaFullAccess策略的权限范围只覆盖Lambda自身的资源操作,不包含IAM角色创建这类跨服务的权限,所以会触发授权错误。

解决方案

下面是一步步的修复步骤:

  • 步骤1:检查HR角色的现有权限
    登录AWS控制台,进入IAM服务,找到你的HR角色,查看它附加的所有策略。你会发现AWSLambdaFullAccess里确实没有iam:CreateRole相关的权限条目。

  • 步骤2:添加自定义权限策略(推荐)
    为了最小化权限(遵循AWS最佳实践),创建一个仅包含必要IAM操作的自定义策略:

    1. 在IAM控制台的「策略」页面,点击「创建策略」
    2. 选择「JSON」标签,粘贴以下内容(替换YOUR_ACCOUNT_ID为你的AWS账号ID):
      {
          "Version": "2012-10-17",
          "Statement": [
              {
                  "Effect": "Allow",
                  "Action": [
                      "iam:CreateRole",
                      "iam:AttachRolePolicy",
                      "iam:PassRole"
                  ],
                  "Resource": "arn:aws:iam::YOUR_ACCOUNT_ID:role/*LambdaExecutionRole*"
              }
          ]
      }
      
    3. 给策略命名(比如LambdaExecutionRoleCreator),完成创建后,将它附加到你的HR角色上。
  • 步骤3:验证权限生效
    用该用户账号重新登录AWS控制台,再次尝试创建Lambda函数。如果选择自动创建执行角色,现在应该不会再报错了。

  • 额外排查点:权限边界
    如果还是报错,检查HR角色是否设置了权限边界。权限边界会限制角色能使用的最大权限,哪怕你附加了允许的策略,只要边界里没包含iam:CreateRole,还是会被拒绝。这种情况下需要调整权限边界的内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:02:51