secrets-management
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSecrets Management Skill
密钥管理Skill
When to Activate
激活时机
Activate this skill when:
- Setting up API keys or credentials
- Creating secrets.json files
- Implementing secrets loading patterns
- Working with .env files
- Integrating external APIs requiring authentication
- Ensuring credentials are not committed to git
当以下情况时激活此Skill:
- 设置API密钥或凭证
- 创建secrets.json文件
- 实现密钥加载模式
- 处理.env文件
- 集成需要身份验证的外部API
- 确保凭证不会提交到git
Core Principles
核心原则
Security Fundamentals
安全基础
- NEVER hardcode API keys in source code
- ALWAYS add secrets.json to .gitignore immediately
- ALWAYS provide a secrets_template.json for setup reference
- Use environment variable fallbacks for CI/CD compatibility
- 绝不在源代码中硬编码API密钥
- 务必立即将secrets.json添加到.gitignore
- 务必提供secrets_template.json作为设置参考
- 使用环境变量回退以兼容CI/CD
Standard File Structure
标准文件结构
project/
├── secrets.json # Actual secrets (NEVER commit)
├── secrets_template.json # Template with placeholder values (commit this)
├── .gitignore # Must include secrets.json
└── .env # Alternative for env vars (also gitignored)project/
├── secrets.json # Actual secrets (NEVER commit)
├── secrets_template.json # Template with placeholder values (commit this)
├── .gitignore # Must include secrets.json
└── .env # Alternative for env vars (also gitignored)Implementation Pattern
实现模式
secrets.json Format
secrets.json格式
json
{
"anthropic_api_key": "sk-ant-api03-...",
"openrouter_api_key": "sk-or-v1-...",
"openai_api_key": "sk-...",
"database_url": "postgresql://user:pass@localhost/db",
"comment": "Add your API keys here. Keep this file private."
}json
{
"anthropic_api_key": "sk-ant-api03-...",
"openrouter_api_key": "sk-or-v1-...",
"openai_api_key": "sk-...",
"database_url": "postgresql://user:pass@localhost/db",
"comment": "Add your API keys here. Keep this file private."
}Python Loading Pattern
Python加载模式
python
import os
import json
from pathlib import Path
def load_secrets():
"""Load secrets from secrets.json with env var fallback."""
secrets_path = Path(__file__).parent / "secrets.json"
try:
with open(secrets_path, 'r') as f:
return json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return {}
SECRETS = load_secrets()python
import os
import json
from pathlib import Path
def load_secrets():
"""Load secrets from secrets.json with env var fallback."""
secrets_path = Path(__file__).parent / "secrets.json"
try:
with open(secrets_path, 'r') as f:
return json.load(f)
except (FileNotFoundError, json.JSONDecodeError):
return {}
SECRETS = load_secrets()Use with environment variable fallback
Use with environment variable fallback
API_KEY = SECRETS.get("anthropic_api_key", os.getenv("ANTHROPIC_API_KEY", ""))
undefinedAPI_KEY = SECRETS.get("anthropic_api_key", os.getenv("ANTHROPIC_API_KEY", ""))
undefinedSetup Checklist
设置检查清单
- Create secrets_template.json with placeholder values
- Copy to secrets.json and add real credentials
- Add secrets.json to .gitignore
- Implement secrets loading in application
- Verify git status shows secrets.json as untracked
- 创建包含占位符值的secrets_template.json
- 复制为secrets.json并添加真实凭证
- 将secrets.json添加到.gitignore
- 在应用中实现密钥加载逻辑
- 验证git状态显示secrets.json为未追踪文件
Security Best Practices
安全最佳实践
DO ✅
建议✅
- Store keys in secrets.json
- Add to .gitignore immediately
- Provide template files for setup
- Use environment variable fallbacks
- Rotate keys after team changes
- 将密钥存储在secrets.json中
- 立即添加到.gitignore
- 提供设置用的模板文件
- 使用环境变量回退机制
- 团队变动后轮换密钥
DON'T ❌
禁止❌
- Hardcode API keys
- Commit actual credentials
- Log full API keys
- Share keys via email/chat
- 硬编码API密钥
- 提交真实凭证
- 记录完整的API密钥
- 通过邮件/聊天分享密钥
Key Format Reference
密钥格式参考
| Provider | Format |
|---|---|
| Anthropic | |
| OpenRouter | |
| OpenAI | |
| AWS Access | |
| 服务商 | 格式 |
|---|---|
| Anthropic | |
| OpenRouter | |
| OpenAI | |
| AWS Access | |
Related Resources
相关资源
See for complete documentation including:
AgentUsage/secrets_management.md- Advanced loading patterns with validation
- .env file integration
- Automated testing patterns
- Emergency key rotation procedures
- Production deployment strategies
查看获取完整文档,包括:
AgentUsage/secrets_management.md- 带验证的高级加载模式
- .env文件集成
- 自动化测试模式
- 紧急密钥轮换流程
- 生产环境部署策略