Spring AI配置API Key的5种方式:从本地开发到Kubernetes生产环境
前言
很多教程直接把API Key写在application.yml中:
spring:ai:deepseek:api-key:sk-xxxxxxxx这种写法虽然能运行,却不适合真实项目。一旦代码被提交到Git、上传到CSDN、打包进镜像或发送给同事,密钥就可能永久泄露。
API Key泄露可能造成:
- 账户余额被盗刷;
- 企业数据被第三方调用;
- 密钥被公开搜索引擎收录;
- 调用日志无法区分真实用户;
- 安全审计和责任追踪失败。
方式一:操作系统环境变量
spring:ai:deepseek:api-key:${DEEPSEEK_API_KEY}Linux或macOS:
exportDEEPSEEK_API_KEY="sk-xxxxxxxx"Windows PowerShell:
$env:DEEPSEEK_API_KEY="sk-xxxxxxxx"优点
- 不进入代码仓库;
- 配置简单;
- Spring Boot原生支持;
- 适合本地开发和普通服务器。
局限
- 多应用共享同一环境时管理困难;
- 缺少版本、审批和轮换能力;
- IDE不一定继承终端变量。
IDEA可在Run Configuration中配置:
DEEPSEEK_API_KEY=sk-xxxxxxxx