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

使用Terraform跨账号调用Lambda时遇403权限问题求助

Terraform跨账号调用Lambda遇AccessDeniedException(403)问题排查

问题描述

使用Terraform跨账号部署并调用AWS Lambda函数,已在provider.tf中配置Assume Role(ARN为arn:aws:iam::123456789101:role/AssumedRole),该角色已授予lambda:*权限。通过aws_lambda_invocation数据源调用Lambda时触发403 AccessDeniedException,但为角色添加管理员权限后可正常调用,推测缺少Lambda之外的关联权限。

配置代码

provider.tf

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "4.33.0"
    }
  }
}
provider "aws" {
  region                   = "us-east-1"
  assume_role {
    role_arn = "arn:aws:iam::123456789101:role/AssumedRole"
    session_name = "TF"
  }
}

Lambda调用数据源

data "aws_lambda_invocation" "start-execution" {
  function_name = aws_lambda_function.start-execution-lambda.function_name
  depends_on = [aws_lambda_function.start-execution-lambda]
  input         = <<JSON
{
  "key1": "value1",
  "key2": "value2"
}
JSON
}

错误信息

╷
│ Error: AccessDeniedException:
│   status code: 403, request id: 
│
│   with data.aws_lambda_invocation.start-execution,

排查与解决方案

1. 检查Lambda函数资源策略(跨账号场景核心)

若Lambda函数部署在其他账号,或同一账号下资源策略有严格限制,需确保Lambda的资源策略明确允许AssumedRole调用:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::123456789101:role/AssumedRole"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:us-east-1:123456789101:function:start-execution-lambda"
    }
  ]
}

2. 确认AssumedRole权限的资源范围

即使配置了lambda:*动作,需确保权限策略的Resource字段为*,或明确包含目标Lambda的ARN,避免资源范围限制导致的403:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "lambda:*",
      "Resource": "*"
    }
  ]
}

3. 检查KMS加密相关权限

如果Lambda的代码包、环境变量或执行角色使用了AWS KMS加密,AssumedRole需要额外的KMS权限:

  • 添加kms:Decrypt权限,资源指定对应KMS密钥的ARN

4. 升级AWS Provider版本

当前使用的4.33.0版本较旧,可能存在跨账号Lambda调用的兼容性问题,建议升级到最新稳定版本:

terraform {
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = ">= 5.0.0"
    }
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 10:35:18