.envにAPIキーを直貼りしていいのか — 段階的セキュリティの考え方
2026年4月22日
きっかけ
Claude APIのキーを.envファイルに保存した直後、「.envにキーを直貼りしない方がいい」という記事を目にした。
.envが問題視される理由
プレーンテキストで暗号化されていない。バックアップやデプロイ時に意図せずコピーされる。.gitignoreの設定漏れでGitHubに公開される事故が毎日起きている。
本番サービスや企業プロジェクトでは.envは避けるべきだ。ただし文脈が重要。
段階的なセキュリティ
レベル1: .env + chmod 600 — 個人プロジェクト、学習用途。シンプルで理解しやすい。
レベル2: systemd環境変数 — EnvironmentFileディレクティブでキーを管理。root権限でしか読めない。
レベル3: シークレットマネージャー — AWS Secrets Manager、HashiCorp Vaultなど。企業の運用標準。
レベル4: 短命トークン — OAuth/OIDCで短命のアクセストークンを都度発行。キーを保管しない設計。
学び
- セキュリティは二者択一ではなく段階がある
- 文脈を無視した「ベストプラクティス」は判断を誤らせる
- 完璧を追求して何も作らないより、適切なレベルで動くものを作って改善する方が成長が速い