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

方式二:本地.env文件