← 术语图鉴

密钥

Secret · 也叫 API Key / 令牌 / Token / 访问密钥

证明"我有权限做这件事"的一串字符。谁拿到它,谁就能以你的身份调用服务、花你的钱。

你可能会说:

  • “AI 让我把 API Key 发给它,安全吗?”
  • “密钥不小心提交到 GitHub 了,删掉那次提交就行吗?”

它是什么

密钥用来调用付费接口、管理托管平台、读写数据库。它不认人,只认这串字符:任何拿到它的人,都拥有和你一样的权限。

密钥只能放在后端或本地的环境变量里,不能写进前端代码、不能提交进仓库、不该贴进聊天记录。一旦出现在这些地方,就要当作已经泄露:去后台作废,换一把新的。

"删掉那次提交"不够:仓库历史、聊天记录、日志里可能都有副本。唯一可靠的补救是作废旧密钥。

打个比方

像家门钥匙:借给装修师傅用完,要记得收回或者换锁。钥匙被复制过一把,就再也说不清还有谁能开门。

在这个网站里

为了让 AI 帮忙查部署日志、部署跳转,这个网站的托管平台 API 令牌被直接贴进了和 AI 的对话。每次用完都提醒过"记得作废",却一直拖着没做(第 11 课的事故)。

容易搞混的地方

常见误解

仓库是私有的,把密钥提交进去也没关系

正确理解

仓库可能被分享、被克隆到别的机器、被连接的工具读取。密钥进了仓库历史,就很难确认它没被别人看到。

你可以这样告诉 AI

复制下面这段,贴给你的 AI

这个任务需要用到哪些密钥?每把密钥需要的最小权限是什么?请告诉我在哪里创建、设置多久过期、放在哪个环境变量里;不要让我把密钥贴进对话。

先知道

  • 环境变量——程序启动时从运行环境里读取的配置,比如数据库地址、密钥、端口。同一份代码,换一套环境变量就换一种行为。

接着看

  • 最小权限——只给完成这件事所必需的权限,多一项都不给;需要时再加,用完就收回。

在这些课里出现

相关的真实事故