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

使用AWS CDK创建Lambda函数时遭遇403权限错误求助

解决CDK部署Lambda时的403权限错误

问题根源

你手动创建了CloudFormation角色,但CDK部署时默认使用自动生成的cdk-hnb659fds-cfn-exec-role角色,这个默认角色没有lambda:CreateFunction权限,导致部署失败。你创建的example-iam-role因为没被指定为CDK的执行角色,所以未生效。另外你的代码还存在IAM模块未导入的问题,会导致编译报错。

解决方案

方案1:给CDK默认执行角色添加权限

  1. 登录AWS IAM控制台,搜索错误信息里的角色名:cdk-hnb659fds-cfn-exec-role-xxxx-ap-south-1
  2. 进入该角色的权限页面,点击「添加权限」→「附加策略」
  3. 搜索并附加AWSLambda_FullAccess管理策略(若需最小权限,可自定义策略仅包含lambda:CreateFunction、lambda:GetFunction、lambda:TagResource等必要动作)
  4. 重新运行 cdk deploy --profile myprofile

方案2:指定CDK使用自定义角色部署

先修复代码的IAM导入问题,再指定执行角色:

  1. 修改lib/api_lamda-stack.ts的导入部分,补全IAM模块:
import * as cdk from 'aws-cdk-lib';
import { Construct } from 'constructs';
import { Code, Function as LamdaFunction, Runtime } from 'aws-cdk-lib/aws-lambda';
import { join } from 'path';
import * as iam from 'aws-cdk-lib/aws-iam'; // 补全IAM模块导入
  1. 调整代码结构,将自定义角色传入Stack构造参数:
export class ApiLamdaStack extends cdk.Stack {
  constructor(scope: Construct, id: string, props?: cdk.StackProps) {
    // 先创建自定义CloudFormation执行角色
    const cfnExecRole = new iam.Role(this, 'example-iam-role', {
      assumedBy: new iam.ServicePrincipal('cloudformation.amazonaws.com'),
      managedPolicies: [
        iam.ManagedPolicy.fromAwsManagedPolicyName(
          'AWSLambda_FullAccess',
        ),
      ],
    });

    // 调用父类构造时指定执行角色
    super(scope, id, {
      ...props,
      cloudFormationExecutionRole: cfnExecRole,
    });

    const helloLamda = new LamdaFunction(this, 'helloLamda', {
      runtime: Runtime.NODEJS_16_X,
      code: Code.fromAsset(join(__dirname, '..', 'services', 'hello')), 
      handler: 'hello.main'
    });
  }
}
  1. 重新运行 cdk synth 和 cdk deploy --profile myprofile

额外提示

  • 若仅需创建简单Lambda,CDK会自动为Lambda生成运行所需的执行角色,无需手动创建,除非有特殊权限需求。
  • 尽量遵循最小权限原则,避免直接使用AWSLambda_FullAccess,可根据实际需求创建自定义IAM策略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:01:36