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

跨AWS账号Lambda权限控制:仅允许Lambda B调用Lambda A

解决方案:限制跨账号Lambda调用权限至最小范围

你的问题核心在于Lambda B通过Assume Role直接获取了RoleA的完整权限,而RoleA本身包含S3、Secret Manager的访问权限,导致权限溢出。要解决这个问题,需遵循IAM最小权限原则,创建一个仅允许调用Lambda A的专用跨账号角色,替代直接让RoleB Assume RoleA。

步骤1:在AWS账号#111创建专用跨账号调用角色

创建名为CrossAccountLambdaInvokeRole的IAM角色,仅授予调用Lambda A的权限,且仅允许账号#222的RoleB扮演该角色。

1.1 设置信任策略(Trust Policy)

该策略指定仅账号#222的RoleB可Assume此角色:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::222:role/RoleB"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

1.2 设置权限策略(Permission Policy)

该策略仅授予调用Lambda A的权限,无其他资源访问权限:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:<区域>:111:function:<LambdaA的函数名>"
    }
  ]
}

步骤2:修改账号#222中RoleB的权限

更新RoleB的权限策略,移除原允许Assume RoleA的权限,替换为允许Assume上述新创建的专用角色:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "sts:AssumeRole",
      "Resource": "arn:aws:iam::111:role/CrossAccountLambdaInvokeRole"
    },
    // 保留RoleB原有的其他必要权限(若有)
    {
      "Effect": "Allow",
      "Action": "lambda:InvokeFunction",
      "Resource": "<RoleB自身需调用的其他Lambda资源(若有)>"
    }
  ]
}

步骤3:验证Lambda A的资源策略(可选)

若Lambda A之前设置了外部调用的资源策略,确保该策略允许CrossAccountLambdaInvokeRole调用它:

{
  "Version": "2012-10-17",
  "Id": "LambdaAPermission",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::111:role/CrossAccountLambdaInvokeRole"
      },
      "Action": "lambda:InvokeFunction",
      "Resource": "arn:aws:lambda:<区域>:111:function:<LambdaA的函数名>"
    }
  ]
}

方案说明

  • 专用角色CrossAccountLambdaInvokeRole仅拥有调用Lambda A的权限,从根源避免了S3、Secret Manager的权限溢出。
  • RoleB只能Assume该专用角色,无法获取RoleA的完整权限,严格遵循最小权限安全原则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 11:06:04