密钥与权限
密钥生命周期
- 创建:按环境、业务线或应用创建独立密钥,并填写清晰备注。
- 分发:只分发给服务端运行环境或密钥管理系统。
- 使用:通过环境变量、密钥管理服务或 CI/CD Secret 注入。
- 追踪:按 API Key 维度查看用量、业务归属和异常调用。
- 轮换:定期生成新密钥、灰度切换、确认无异常后禁用旧密钥。
- 删除:下线应用或人员离岗后及时删除无用密钥。
创建密钥时建议在备注中写清用途、业务场景、环境、负责人或内部系统标识,便于后续审计、用量归因和泄露处置。
密钥管理要求
- 不要将 API Key 提交到代码仓库。
- 不要在客户端、日志、报错信息、截图或文档中暴露完整密钥。
- 为开发、测试、预发、生产使用不同密钥。
- 为不同租户、团队或业务线划分密钥,便于追踪用量。
- 对生产密钥配置访问控制和审批流程。
本地环境示例
本地开发可以使用环境变量或 .env.local 保存密钥,但必须确保文件不会提交到仓库。中国大陆业务可用 https://api.qnaigc.com/v1,海外部署或跨境访问可用 https://api.modelink.ai/v1。
export MODELINK_API_KEY="替换为你的 Modelink API Key"
export MODELINK_BASE_URL="https://api.qnaigc.com/v1".gitignore 中建议包含:
.env
.env.*
!.env.example可以保留一个不含真实密钥的 .env.example,用于说明项目需要哪些变量:
MODELINK_API_KEY=
MODELINK_BASE_URL=https://api.qnaigc.com/v1
MODELINK_MODEL=权限隔离
建议按照环境、项目、团队、业务线或租户划分权限。生产环境密钥不应复用于测试环境,具备写入、外发、生产操作能力的工具必须额外限制。
对编程工具、Agent 和 MCP 场景,建议默认采用最小权限策略:
- 默认拒绝读取
.env、密钥文件、生产配置和客户数据目录。 - 将文件读取、命令执行、网络访问和生产变更拆分授权。
- 对工具调用记录请求 ID、调用方、参数摘要、执行结果和错误信息。
- 高风险动作使用人工确认、沙箱环境或只读模式。
轮换流程
推荐采用“双密钥灰度”方式轮换:
- 在控制台创建新密钥,并标注用途和负责人。
- 将新密钥写入密钥管理系统或 CI/CD Secret。
- 灰度发布应用,确认新密钥请求成功率、耗时和用量正常。
- 全量切换到新密钥。
- 观察一段时间后禁用旧密钥。
- 检查是否还有旧密钥调用,确认无异常后删除旧密钥。
信息
轮换期间不要同时修改模型、接入点、Prompt 和业务逻辑,否则排障时难以判断问题来源。
泄露处置
如果怀疑密钥泄露,应立即:
- 在控制台禁用或删除泄露密钥。
- 创建新密钥并更新应用配置。
- 检查请求日志和用量记录,排查异常调用。
- 评估是否存在数据、费用或业务风险。
- 必要时联系支持团队协助追踪和处置。
警告
不要为了排查问题将完整 API Key 发给任何人。提交工单时只提供密钥备注、尾号或请求 ID。