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

Step Function调用SAM内嵌Lambda函数时遇权限错误求助

解决Step Functions调用SAM部署Lambda的403权限错误

错误分析

你遇到的AccessDeniedException明确指出:状态机的IAM角色没有权限调用这个SAM部署的Lambda函数,尽管该角色能调用其他独立Lambda。核心问题大概率是权限范围不匹配或Lambda资源策略限制。

排查与解决步骤

1. 检查状态机IAM角色的权限覆盖范围

  • 登录IAM控制台,找到状态机关联的角色StepFunctions-MyStateMachine-vaf8oae6r-role-3fb3les3x
  • 查看该角色附加的权限策略,确认lambda:InvokeFunction动作对应的Resource是否包含目标Lambda的完整ARN:
    arn:aws:lambda:us-west-2:049597339122:function:aws-cloud9-USWestEnvironment-d2-HelloWorldFunction-Xi1bJn9QghrZ:$LATEST
    
  • 如果之前的权限仅指定了另外两个Lambda的ARN,需将这个SAM Lambda的ARN添加进去;生产环境建议指定具体ARN,测试阶段可临时用通配符*覆盖。

2. 检查Lambda的资源级权限策略

SAM部署的Lambda可能默认未开放给状态机的调用权限,需手动添加:

  • 打开Lambda控制台,找到目标函数aws-cloud9-USWestEnvironment-d2-HelloWorldFunction-Xi1bJn9QghrZ
  • 进入「配置」>「权限」>「资源-based策略」,添加以下策略(替换对应ARN):
    {
      "Version": "2012-10-17",
      "Id": "StepFunctionInvokeAccess",
      "Statement": [
        {
          "Sid": "AllowStateMachineInvoke",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::049597339122:role/StepFunctions-MyStateMachine-vaf8oae6r-role-3fb3les3x"
          },
          "Action": "lambda:InvokeFunction",
          "Resource": "arn:aws:lambda:us-west-2:049597339122:function:aws-cloud9-USWestEnvironment-d2-HelloWorldFunction-Xi1bJn9QghrZ:$LATEST"
        }
      ]
    }
    

3. 通过SAM模板固化权限(推荐)

如果后续还要重新部署SAM应用,建议在SAM模板中添加AWS::Lambda::Permission资源,自动配置状态机的调用权限:

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      # 你的Lambda配置(代码、运行时等)

  StateMachineInvokeLambdaPermission:
    Type: AWS::Lambda::Permission
    Properties:
      FunctionName: !Ref HelloWorldFunction
      Action: lambda:InvokeFunction
      Principal: states.us-west-2.amazonaws.com
      SourceArn: "arn:aws:states:us-west-2:049597339122:stateMachine:MyStateMachine" # 替换为你的状态机ARN

4. 确认Lambda版本/别名的权限匹配

报错中的资源包含:$LATEST版本后缀,如果状态机调用的是特定版本/别名,需确保权限策略中的Resource包含该版本标识,或用*覆盖所有版本(如arn:aws:lambda:us-west-2:049597339122:function:aws-cloud9-USWestEnvironment-d2-HelloWorldFunction-Xi1bJn9QghrZ:*)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 12:10:29