secrets-management について
プロジェクトの認証情報を安全に保存し、読み込むためのスキルです。secrets.json、環境変数へのフォールバック、Git の除外設定を扱い、API キー設定や外部 API 連携に利用できます。
主な機能
- 01secrets.json でキーを保存
- 02環境変数へのフォールバック
- 03テンプレートと Git 除外設定
- 04認証情報のコミットや記録を防止
- 05キーのローテーションを案内
活用シーン
- 01プロジェクトの API キー設定
- 02認証が必要な外部 API との連携
- 03認証情報が Git に入らないか確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ autumnsgrove/ lattice --skill secrets-managementインストール後、Claude Code で/secrets-managementを入力して読み込まれたか確認します。
詳細
シークレット管理スキル
有効にするタイミング
以下の場合にこのスキルを有効にします:
- API キーまたは認証情報を設定するとき
- secrets.json ファイルを作成するとき
- シークレットの読み込みパターンを実装するとき
- .env ファイルを扱うとき
- 認証が必要な外部 API を統合するとき
- 認証情報が git にコミットされないようにするとき
基本原則
セキュリティの基本
- API キーをソースコードにハードコードすることは絶対にしないでください
- secrets.json は必ずすぐに .gitignore に追加してください
- セットアップの参考用に secrets_template.json を必ず用意してください
- CI/CD との互換性を確保するため、環境変数へのフォールバックを使用してください
標準ファイル構成
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)
実装パターン
secrets.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 での読み込みパターン
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
API_KEY = SECRETS.get("anthropic_api_key", os.getenv("ANTHROPIC_API_KEY", ""))
セットアップチェックリスト
- プレースホルダー値を含む secrets_template.json を作成する
- secrets.json にコピーし、実際の認証情報を追加する
- secrets.json を .gitignore に追加する
- アプリケーションにシークレットの読み込み処理を実装する
- git status で secrets.json が未追跡として表示されることを確認する
セキュリティのベストプラクティス
推奨 ✅
- キーを secrets.json に保存する
- すぐに .gitignore に追加する
- セットアップ用のテンプレートファイルを用意する
- 環境変数へのフォールバックを使用する
- チームの変更後にキーをローテーションする
禁止 ❌
- API キーをハードコードする
- 実際の認証情報をコミットする
- API キー全体をログに記録する
- メールやチャットでキーを共有する
キー形式のリファレンス
| プロバイダー | 形式 |
|---|---|
| Anthropic | sk-ant-api03-... |
| OpenRouter | sk-or-v1-... |
| OpenAI | sk-... |
| AWS Access | AKIA... |
関連リソース
以下を含む詳細なドキュメントについては、AgentUsage/secrets_management.md を参照してください:
- 検証を含む高度な読み込みパターン
- .env ファイルとの連携
- 自動テストのパターン
- 緊急時のキーのローテーション手順
- 本番環境へのデプロイ戦略
コメント
Markdown 対応