Secret Management
Secret Management 是安全管理 API Key、数据库密码、证书等敏感信息的实践。API Key 不应该硬编码在代码里。
#type / concept
#status / evergreen
#tech / ai
#tech / security
[!info] related notes
- 所属 MOC: AI Agent Application MOC, Security MOC
Secret Management
一句话定义
Secret Management 是安全管理 API Key、数据库密码、证书等敏感信息的实践。OpenAI API Key 硬编码在代码里推到 GitHub——这是最常见的安全事故之一。
核心原理
存储方式
| 方式 | 安全性 | 适用场景 |
|---|---|---|
| 环境变量 | 中 | 开发环境 |
| .env 文件 | 中 | 本地开发 |
| 密钥管理服务 | 高 | 生产环境 |
| 硬编码 | ❌ | 绝对禁止 |
最佳实践
# 错误:硬编码
openai.api_key = "sk-xxx"
# 正确:环境变量
import os
openai.api_key = os.environ["OPENAI_API_KEY"]
# 更好:密钥管理服务
from vault_client import VaultClient
vault = VaultClient()
openai.api_key = vault.get_secret("openai/api_key")
.gitignore
.env
*.key
*.pem
secrets.yaml
常见坑
- 硬编码 API Key: 推到 GitHub 后被扫描利用
- 不轮换 Key: Key 泄露后没有及时更换
- 日志打印 Key: 错误日志中包含 API Key