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

如何通过yml为部分函数启用API Key鉴权 无需AWS手动配置

通过yml配置为指定Lambda函数启用API Key校验

全程无需登录AWS控制台手动操作,仅修改yml配置即可实现仅部分接口强制校验API Key的需求,可直接落地的配置方案如下:

第一步:添加全局API Key与使用计划配置

在yml的provider配置块下添加API Key、使用计划的全局声明(API Gateway要求API Key必须绑定使用计划才能生效,该部分全局配置仅需写一次):

provider:
  name: aws
  runtime: # 替换为你实际使用的Lambda运行时,例如nodejs18.x、python3.9等
  # API Key相关全局配置
  apiKeys:
    - name: service-access-key # 可自定义API Key的标识名
      description: 受保护接口的访问凭证
  usagePlan:
    - name: protected-api-plan
      description: 绑定所有需要API Key校验的接口
      quota:
        limit: 10000 # 可根据业务需求调整请求配额,示例为每月10000次请求
        period: MONTH
      throttle:
        burstLimit: 100 # 突发请求限流阈值
        rateLimit: 50 # 每秒稳定请求限流阈值

第二步:修改目标函数的HTTP触发配置

针对你需要开启校验的GET接口,在对应的http事件配置块中添加private: true字段即可,其他不需要校验的函数无需做任何改动。修改后的目标函数配置如下:

Function_Name:
  handler: function path # 替换为你实际的函数处理程序路径
  events:
    - http:
        path: path/{id}
        method: get
        private: true # 新增该行,开启当前接口的API Key强制校验

配置说明与注意事项

  • 配置完成后执行部署命令,部署成功后可通过部署日志或者sls info命令直接获取自动生成的API Key值,无需到控制台查询。
  • 调用该GET接口时,必须在请求头中携带x-api-key: 你的实际API Key值,未携带、Key值错误的请求会被API Gateway直接拦截返回403状态码,不会转发到后端Lambda函数。
  • 未添加private: true字段的其他HTTP接口,访问逻辑和之前完全一致,不需要传API Key,不会被该配置影响。
  • 如果需要给多个函数开启API Key校验,仅需给对应函数的http事件块都加上private: true字段即可,这些接口会自动绑定到之前配置的使用计划上,无需重复配置API Key资源。
  • 不要遗漏provider层的usagePlan配置,仅给函数加private: true会导致API Key无法绑定生效,校验规则不生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:36:16