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

AWS CDK配置API网关需API Key遇403错误,如何解决?

解决AWS CDK中API Gateway API Key验证返回403的问题

你的问题核心是使用计划未关联API的部署阶段,导致API Key验证逻辑无法生效,最终返回403错误。以下是具体修复步骤:

1. 关联使用计划与API阶段

AWS API Gateway的使用计划必须绑定到具体的API部署阶段,才能让API Key在该阶段生效。RestApi默认会创建一个prod阶段,你需要显式将其关联到使用计划。

方式一:创建使用计划后关联阶段

在现有代码中添加阶段关联逻辑:

// 获取API的默认部署阶段(prod)
const defaultStage = api.deploymentStage;

// 将阶段添加到使用计划
usagePlan.addApiStage({
  stage: defaultStage,
});

方式二:创建使用计划时直接关联

也可以在定义使用计划时直接指定关联的阶段:

const usagePlan = api.addUsagePlan('UsagePlan', {
  name: 'UsagePlan',
  throttle: {
    rateLimit: 100,
    burstLimit: 200,
  },
  // 直接关联默认prod阶段
  apiStages: [{
    stage: api.deploymentStage,
  }],
});

2. 验证修复效果

部署更新后的CDK堆栈后,回到API Gateway控制台检查:

  • 使用计划页面会显示已关联的阶段
  • 再次调用API,携带正确的x-api-key请求头或api-key查询参数,即可正常通过验证

额外检查项

  • 确认API Key的enabled属性设为true(你的代码已配置)
  • 端点的apiKeyRequired已设为true,且请求参数规则正确(你的代码已配置)
  • 若使用自定义阶段而非默认prod,需替换为对应的stage对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:17:20