API 密钥概述
调用接口AI 的 API 时,需要在请求头中使用 Bearer 认证方式进行 API 访问认证,例如:“Authorization: Bearer {API 密钥}”。 每个 API 密钥都以sk_ 开头,是一串随机字符串。密钥的有效期在创建时设置,详见密钥有效期。
您可以前往密钥管理页面查看和管理您的 API 密钥。
密钥的创建与删除仅在控制台提供,OpenAPI 不包含创建或删除密钥的接口,也不支持通过 OpenAPI 配置或修改密钥的过期时间。OpenAPI 提供单个密钥网络访问策略的读写,详见查询 API Key 网络访问策略。
创建 API 密钥
- 进入密钥管理页面,单击「+创建」。
- 输入密钥名称,选择密钥有效期,然后单击「确认」。
- 保存密钥。
管理 API 密钥
对于已有的 API 密钥,支持以下操作:- 修改:单击对应密钥的编辑按钮,输入新的密钥名称,单击「确认」即可完成修改。
- 删除:单击对应密钥的删除按钮,确认后即可删除。
密钥有效期
创建 API 密钥时可以设置过期时间,四档可选:永久、90 天、30 天、24 小时。过期时间在创建时设定,创建后不可修改,也不支持续期或立即过期。选择「永久」时,密钥长期有效,泄露后风险更高,请谨慎使用。过期时间不支持通过 OpenAPI 配置或修改,只能在控制台创建密钥时设置。
已过期的密钥调用会被拒绝,但配置仍可查看,删除入口保留。过期不等于禁用;需要恢复调用只能创建新密钥。如需在到期前停用某个密钥,可在控制台直接删除它,删除后立即失效。
访问控制
您可以分别限制单个 API 密钥可调用的模型和允许的来源 IP:模型访问
限定密钥可调用的模型,并了解模型下线与调用被拒时的处理方式。
网络访问
限定允许的 IPv4 地址或 CIDR 网段,降低密钥泄露后的滥用风险。
用量与预算
接口AI 的预算按团队成员设置,同一成员创建的所有 API 密钥共享该成员的预算池。成员预算用尽后,该成员名下的密钥都会暂停调用。配置方式和预算类型详见预算管理。环境变量配置
建议把 API 密钥配置到环境变量,避免在代码里硬编码密钥,降低泄漏风险。代码从环境变量读取密钥,例如os.environ["JIEKOU_API_KEY"]。
临时变量与永久变量
- 临时变量:只在当前终端会话生效,关闭终端后失效,适合临时测试。
- 永久变量:写入 shell 配置文件或系统环境变量,新开的终端和重启后仍然生效,适合长期使用。
JIEKOU_API_KEY 为例)。
- Linux
- macOS
- Windows
临时变量(仅当前终端会话有效):永久变量(写入 验证是否设置成功:
~/.bashrc,对 bash 生效;zsh 请写入 ~/.zshrc):设置了变量但代码仍找不到
如果设置后代码依然读取不到密钥,按以下几种情况排查:- 只设了临时变量:
export或$env:只对当前终端会话有效,换个终端或重启后就没了。需要长期生效请改用永久变量(~/.bashrc/~/.zshrc/setx)。 - 改了配置但没重新加载:写入
~/.bashrc/~/.zshrc后,需要source对应文件或重开终端;IDE 内置终端通常要重启 IDE 才会加载新变量。 - 进程管理器不继承用户变量:用 systemd、supervisor、PM2 等托管服务时,不会自动继承你登录 shell 的环境变量,需要在各自的服务配置里单独声明。
- sudo 不继承当前环境:
sudo默认使用干净的环境,读不到当前用户的变量。需要传递时使用sudo -E,或在 root 环境下单独配置。
安全最佳实践与泄露应急
API 密钥等同于账户凭证,任何持有它的人都能以您的身份调用 API 并产生费用。请遵循以下实践:- 用环境变量存储:把密钥放进环境变量或密钥管理服务,不要硬编码进源代码。
- 不要提交到代码仓库:避免把密钥写进代码、配置文件后提交到 Git;对外分享代码或截图前先移除密钥。
- 不要放进前端:不要在浏览器端、移动 App 等客户端代码中直接使用密钥,这些环境的密钥可被他人提取。请通过您自己的后端中转调用。
- 一环境一密钥:为不同环境(生产、测试、CI)和不同用途分配独立密钥,便于按需停用和排查,互不影响。
- 用模型访问和网络访问收敛权限:结合模型访问限定单个密钥可调用的模型,结合网络访问限定允许的来源 IP,缩小单个密钥的影响面。
- 定期轮换:定期更换密钥。轮换时先创建新密钥、切换业务使用新密钥、在生产验证无误后再删除旧密钥,实现零停机切换。