API密钥是什么:鉴权、权限与撤销

Yubor
2026-11-06 23:17:45
53 浏览

API密钥是调用接口时用于识别调用方的秘密凭证,服务端据此鉴权并检查权限。它不同于指定处理模型的模型名,也不同于请求发送到的接口地址。

API密钥是什么:鉴权、权限与撤销

API密钥的作用

API密钥是一串应保密的凭证,例如服务平台为某个项目创建的随机字符串。应用调用API时提交密钥,服务端用它识别调用方,并结合密钥或所属账户的权限判断是否允许请求。

例如,一个聊天应用向模型服务发送用户问题时,密钥用于表明由哪个账户或项目发起调用;它本身不是用户的问题,也不是模型生成的回答。服务端还可能依据账户状态、用量限制等条件决定是否处理请求。

以NewAPI为例,调用模型时使用的API令牌和登录后台使用的会话或管理接口Access Token承担不同用途。不能因为两种接口都可能出现Bearer请求头,就把后台登录凭据当成模型调用密钥。

API密钥、模型名与接口地址的区别

一次模型API请求通常需要区分三个值:API密钥用于证明调用身份;模型名用于选择服务提供的模型,例如请求体中的model字段;接口地址是请求发往的URL,例如用于接收请求的服务路径。

可以把接口地址理解为收件地址、模型名理解为选择的处理对象、密钥理解为进入服务时出示的凭证。三者不能互换:把模型名填进密钥位置不能完成身份验证;地址写错也可能导致请求无法到达预期接口。具体字段名和地址取决于所用服务。

API密钥的权限如何设置

密钥的权限决定持有者能做什么,具体范围取决于服务商支持的设置。例如,某些服务允许限制密钥所属项目或可访问的接口;另一些服务则通过账户或项目控制权限,而不提供单独的密钥权限选项。

  1. 先列出应用需要的操作,例如只调用模型生成文本,还是还需要管理账户资源。
  2. 在服务的密钥管理界面查看可选权限,只授予完成任务所需的范围;若没有独立权限选项,检查所属账户或项目的权限。
  3. 先在测试环境用可控的只读请求核对访问范围,不要为了试权限而执行删除资源、调整余额等有副作用的操作。没有实测或文档支持的权限限制,不应当成已经生效。

API密钥怎样安全使用

应用的长期调用密钥应由服务端持有,优先使用部署平台的密钥管理功能或专用密钥服务。不要写入公开仓库、网页前端、客户端安装包或日志;拿到凭证的人可能以其权限调用接口。

本地测试可从服务端环境变量API_KEY读取密钥,但环境变量并非保险箱,仍可能进入诊断转储或被有权限的进程读取。不要把真实值硬编码进容器镜像或部署文件;生产环境按平台支持的方式注入、限制访问并定期更换。

API_KEY只是示例变量名。实际应用读取哪个配置项、密钥放哪个请求头,都要按对应应用和服务的文档设置。网页或移动端需要使用供应商服务时,可先请求自己的后端,由后端核验用户并发起调用。

API密钥泄露后如何撤销和更换

如果密钥出现在公开仓库、群聊或不可信日志中,应按已泄露处理,优先到对应服务的控制台撤销或禁用旧密钥。只删除公开文本不能使已被复制的密钥失效;撤销可能使依赖它的应用暂时停止调用。

  1. 定位受影响密钥并撤销或禁用,记录相关时间和受影响应用。
  2. 创建仅具备必要权限的新密钥,通过部署平台或密钥服务替换配置,并使应用重新加载。
  3. 用新密钥完成一次必要的验证;若要复测旧密钥,只对已核实的原服务发起可控请求,确认它明确拒绝旧凭证。网络失败、404或任意非200响应都不能单独证明撤销成功。
  4. 检查调用日志、用量及账单;对陌生调用按平台渠道处理,同时清除仓库、日志和部署产物里的泄露副本。

计划性轮换与泄露处置不同:未发现泄露时,可按服务支持情况先部署新密钥,确认应用正常后撤销旧密钥;已泄露时不要为了保持连续运行而继续暴露旧凭证。

上一篇:没有了

下一篇:没有了