文档/ 配置

访问密钥

访问密钥是你交给应用的那串字符。它不绑定任何上游,只声明应用能访问哪些资源、从哪里访问,以及能用多少。

它管什么§

分组朝上游,访问密钥朝应用。应用拿到一把密钥, 不需要知道背后有几个分组、几十把上游凭据。

一把密钥声明四类边界:

  • 资源范围——能用哪些分组和客户端模型
  • 协议范围——能用哪些客户端协议
  • 访问条件——允许的来源 IP/CIDR 和有效期
  • 用量边界——每分钟请求数,以及成本封顶

因为有这层隔离,给不同应用发不同的密钥就变得很自然: 各自限额、各自吊销,互不影响。

也可以登录只读管理台

启用且未过期的访问密钥可以直接登录当前实例, 但只能查看自身范围内的首页、模型、用量和脱敏请求日志。 它不能修改分组、访问密钥或运行时设置,也不能查看上游凭据。

创建一把密钥§

访问密钥 → 新建,勾选可用分组和协议, 按需设置限额,保存后会生成密钥串。

FIG. 1 — 访问密钥列表授权范围 · 限额 · 状态

密钥创建后只显示掩码,需要时可以显式查看真实值。

保存好它

密钥是应用访问网关的唯一凭证。不要提交到仓库、日志或公开 issue, 也不要在多个应用之间共用同一把——共用会让你无法单独吊销其中一个。

授权范围§

一把密钥可以授权多个分组,也可以按客户端看到的模型名进一步收窄。 请求进来时,网关按请求里的模型名和分组的健康状况决定实际走哪个

这带来一个实用效果:

  • 同模型多来源——若两个分组都开放了同一个模型, 一个不可用时会自动走另一个,应用无感
  • 按需收窄——只授权应用真正需要的分组和模型, 避免它意外使用其他资源
留空表示不限制

分组、协议或模型列表留空,表示该维度不限制;填写多个值时,任意一个匹配即可。 不同维度之间则必须同时满足。

协议选择§

勾选这把密钥允许的客户端协议。没勾的协议,用这把密钥请求会被拒绝。

  • OpenAI Chat Completions——最通用,绝大多数兼容客户端走这条
  • OpenAI Responses——较新的接口形态,支持有状态请求
  • Anthropic Messages——Claude Code 等客户端的原生入口
  • Gemini——Gemini 客户端的原生入口

拿不准就把应用会用到的都勾上。协议之间的能力差异见 协议与转换边界

来源与有效期§

还可以给访问密钥增加两个认证条件:

  • 来源 IP/CIDR——留空表示不限来源;填写后,只允许匹配的 IPv4、IPv6 或 CIDR
  • 有效期——可设为永不过期或指定未来时间;到期后,新请求和只读管理台登录都会被拒绝
反向代理看到的是直接来源

来源限制匹配的是与 GPT-Load 直接建立连接的地址,不读取X-Forwarded-ForX-Real-IP。 经过反向代理时,通常应允许代理服务器地址,而不是终端用户地址。

限流§

每分钟请求数(RPM)限制这把密钥的调用频率, 超出的请求会被拒绝。留空或设为 0 表示不限制。

它的作用是防止单个应用失控—— 比如某个脚本写错了循环,不至于把所有上游额度耗光。

成本上限§

比 RPM 更直接的保护:按花掉多少钱来封顶。支持两种规则:

  • 总额度——累计花到这个数就停,不会重置。 适合发给外部协作者的一次性密钥
  • 周期额度——每个周期重新计数,周期长度可配 (从一分钟到一年)。常用的是按天或按月
它基于估算成本

成本上限用的是网关自己算出来的估算成本,依据上游返回的 token 用量 与模型价格推算,不等于服务商账单。 没有价格数据的模型不计入消耗。 所以它适合用来防止意外失控,不适合当作精确的财务管控手段。 计费口径见 监控与排障

停用与轮换§

密钥有启用 / 停用两种状态。停用后立即失效, 但配置保留着,随时可以再启用——排查某个应用的问题时很方便。

管理台的轮换密钥会在原记录上生成新密钥,保留名称、权限和额度设置。 轮换成功后旧密钥立即失效,已经开始的请求不受影响;它没有双密钥宽限期, 适合确认泄漏后立即切断旧密钥。

如果要求零停机轮换,仍应新建第二把密钥、更新并验证应用, 然后再停用或删除旧密钥。

实践建议§

  • 一个应用一把密钥。共用会让你既看不清是谁在用量, 也没法单独吊销
  • 给测试环境单独发一把,并设较低的成本上限。调试时的意外循环最容易烧额度
  • 授权范围按需给。只读的演示应用没必要授权到贵模型的分组
  • 外部或临时应用设置来源限制和过期时间。泄漏后的可用范围会更小
  • 发给外部的密钥用总额度封顶。比周期额度更可控
访问密钥 - GPT-Load