首页/AI/大模型部署与运维速查/API Key 鉴权:引擎与网关两层

API Key 鉴权:引擎与网关两层

鉴权有引擎自带与网关统一两层:vLLM 用 --api-key(或环境变量)开启 Bearer 校验;生产建议网关统一鉴权,引擎只监听内网。

API Key 鉴权是什么

鉴权分引擎自带与网关统一两层:vLLM 可用 --api-key 开启 Bearer 校验(对应环境变量名以版本文档为准),配置简单;生产环境更推荐由网关统一做鉴权、限流与审计,引擎只监听内网。密钥属于凭证资产,不能进代码仓库、镜像层或前端代码。

基本信息

引擎侧启动参数 --api-key,或对应的环境变量(名称以版本文档为准)
调用方式请求头 Authorization: Bearer <KEY>
网关侧统一鉴权、限流、配额、审计与多租户隔离
密钥管理环境变量或密钥管理服务,禁止硬编码
轮换方式新旧双 key 并行过渡,确认流量切换后再下线旧 key

典型使用场景

  • 内网多实例:给每个实例配 key,避免同网段任意进程都能调用
  • 对外提供 API:网关按 key 做配额与限流,而不是让引擎直面公网
  • 多租户场景:按 key 区分租户,便于计量与问题定位
  • 审计:记录哪个 key 在什么时间调用了哪个模型
  • 排查 401:确认请求头格式、key 拼写与网关透传策略

引擎侧开启与调用

引擎侧开启与调用
# 启动时开启 Bearer 校验(环境变量写法以版本文档为准)
vllm serve <模型路径> --api-key <KEY>

# 携带密钥调用
curl -H "Authorization: Bearer <KEY>" http://127.0.0.1:8000/v1/models

# 校验:不带 key 应返回 401,带错 key 同样是 401,用它区分配置问题与拼写问题
# 生产形态:引擎只监听内网地址,对外只暴露网关端口

两层鉴权的分工

层级负责什么适用
引擎自带 key单实例入口校验内网联调、临时验证
网关统一鉴权鉴权、限流、配额、审计生产与对外服务
密钥管理存储、下发与轮换所有环境,尤其多实例
把引擎端口直接暴露到公网等于同时失去鉴权、限流与审计三层防护;即便配了 key,也应让公网入口只落在网关上。
key 建议按调用方分别签发,而不是全公司共用一个:一旦需要轮换或吊销,影响面可控,审计日志也能定位到具体来源。

易错点

  • 引擎直接暴露公网:鉴权、限流、审计都缺位,至少把网关放在前面
  • key 写进代码仓库或镜像层:泄露后无法确认影响范围,也难以及时轮换
  • 轮换时直接替换旧 key:调用方全部 401,应该用新旧双 key 过渡
  • 只有 key 没有配额:泄露后的 key 可以被无限调用,需要叠加限流与用量告警

数据来源与参考

  • vLLM 官方文档:API Key 与鉴权(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌