Showing zh content.
从测试调用到正式上线:API 密钥应该怎么管理?
按项目与环境区分密钥,设置合适的额度和访问范围,并为日常轮换与泄露处理准备明确步骤。
sunny ·
第一次测试成功后,正式上线还需要明确密钥由谁保管、哪些程序可以使用,以及发现异常时如何停止访问。
按项目和环境区分密钥
开发测试和生产服务使用独立密钥,并采用可识别的名称。多个项目也可以分别创建密钥,方便区分用量、调整限制和单独停用。
临时协作或短期自动化任务,应设置符合任务周期的有效期。
设置与用途相符的权限
根据项目需求配置允许模型、额度、有效期和分组。使用 IP 限制时,应核对实际发出请求的公网出口地址;本地电脑、服务器与容器网络可能不同。
密钥额度与账号资金是不同层面的限制。额度控制也不能代替应用中的并发管理、任务大小限制和重试控制。
将密钥留在可信环境
服务端应用可以通过环境变量或密钥管理服务读取凭证。密钥不应出现在公开仓库、前端包、页面源码、截图或普通业务日志中。
如果浏览器或移动应用需要发起业务请求,应通过自己的服务端处理鉴权与模型调用,并控制业务用户的访问范围。
为日常轮换准备步骤
- 创建具有所需权限的新密钥。
- 在应用中替换配置,并按需要部署或重启。
- 用小请求验证新配置,检查调用记录。
- 确认各实例完成切换后,停用旧密钥。
轮换时要考虑多实例部署、定时任务和本地自动化,避免遗漏仍在使用旧密钥的程序。
发现泄露后及时处理
先停用受影响密钥,再更换应用凭证,并排查泄露来源与异常用量。删除公开页面中的密钥文本,并不能让已经泄露的凭证恢复安全。