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

从Lambda调用另一个Lambda触发AccessDeniedException,求权限配置指导

解决Lambda调用另一个Lambda的AccessDenied问题

问题原因

你当前的Lambda执行角色(lambda-s3-full-access)缺少调用目标Lambda函数的权限,现有的AWSLambdaBasicExecutionRole仅包含Lambda日志相关权限,没有lambda:InvokeFunction权限。

配置步骤

1. 为执行角色添加自定义权限策略

给调用方Lambda的执行角色(也就是报错里的lambda-s3-full-access角色)添加一条包含lambda:InvokeFunction权限的策略,具体如下:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-west-1:nnnn:function:cache-s-s"
        }
    ]
}
  • 替换Resource里的ARN为你实际要调用的目标Lambda的ARN;若需允许调用同一账号同一区域下所有Lambda,可使用通配符arn:aws:lambda:us-west-1:nnnn:function:*,但生产环境不建议用通配符,严格遵循最小权限原则。

2. 验证目标Lambda的资源策略(可选)

若添加上述权限后仍报错,检查目标Lambda的资源策略是否允许调用方角色访问:

  • 进入目标Lambda配置页,找到「权限」标签下的「资源策略」
  • 添加允许调用方角色ARN访问的规则,示例:
{
    "Version": "2012-10-17",
    "Id": "default",
    "Statement": [
        {
            "Sid": "AllowInvokeFromCallingLambdaRole",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::nnnn:role/lambda-s3-full-access"
            },
            "Action": "lambda:InvokeFunction",
            "Resource": "arn:aws:lambda:us-west-1:nnnn:function:cache-s-s"
        }
    ]
}

3. 确认角色信任关系

确保调用方Lambda的执行角色信任关系允许Lambda服务扮演该角色,信任策略需包含:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "lambda.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

注意事项

  • 权限变更通常需要1-5分钟生效,若刚配置完仍报错,稍等片刻再测试。
  • 始终以最小权限原则配置权限,避免过度授权带来的安全风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 12:23:24