.envファイルのベストプラクティス|機密情報を安全に管理する
.env 環境変数 セキュリティ 開発
結論
必ず.gitignoreに追加。 KEY=value形式。値にスペースや=を含むならクォートで囲む。本番はクラウドのシークレット管理を推奨。
.envとは
.envは、環境変数を定義するファイルです。KEY=value形式で1行に1つずつ書きます。
DATABASE_URL=postgresql://user:pass@localhost:5432/mydb
API_KEY=sk-xxxxxxxxxxxxx
SECRET_KEY=your-secret-key
アプリケーションは起動時にこのファイルを読み込み、process.env.API_KEYのように参照します。Node.jsではdotenv、Pythonではpython-dotenvなど、各言語にライブラリがあります。
絶対にやること
.envには機密情報が含まれるため、必ず.gitignoreに追加してGitにコミットしないようにします。うっかりコミットしてしまうと、Gitの履歴に残り、リポジトリをクローンした人全員が機密情報を取得できてしまいます。
フォーマットの注意点
| ケース | 対処法 |
|---|---|
| 値にスペースを含む場合 | ダブルクォートで囲む:API_KEY="my key with spaces" |
| 値に=を含む場合 | クォートで囲む:CONNECTION_STRING="host=localhost;port=5432" |
| 改行 | 通常は1行1変数。複数行にしたい場合は、ライブラリの仕様を確認 |
| コメント | #で始まる行は無視されることが多い |
.envの形式が崩れていると、アプリが起動しないことがあります。.envフォーマッターを使うと、typoや形式ミスを防げます。
環境ごとの切り替え
1
開発・ステージング・本番で異なる値を使う場合、.env.development、.env.productionのように分ける
2
フレームワークによっては、NODE_ENVに応じて自動で読み込むファイルを切り替えてくれる
3
本番環境では、.envファイルをサーバーに置くのではなく、クラウドのシークレット管理(AWS Secrets Manager、Vercelの環境変数など)を使うことが推奨される
🛠️ この場で.envの形式をチェックする
関連記事
この記事は 開発ツール・基礎 テーマの一環です。あわせて読むと理解が深まる関連記事をまとめました。
| トピック | 記事 |
|---|---|
| Base64とは?仕組みから使い方まで解説 | Base64とは?仕組みから使い方まで解説 |
| Base64デコードで日本語が文字化けする原因と対処法 | Base64デコードで日本語が文字化けする原因と対処法 |
| JSON 整形ツールの使い方 | JSON 整形ツールの使い方|オンラインで安全に整形・圧縮 |
| JSONの「Unexpected token」エラー原因と対処法 | JSONの「Unexpected token」エラー原因と対処法 |
| ハッシュ生成 - SHA-256/384/512をローカルで安全に計算 | ハッシュ生成 - SHA-256/384/512をローカルで安全に計算 |
| MD5 ハッシュ生成 | MD5 ハッシュ生成|md5 hashの使い方の使い方と注意点まとめ実務ガイド実践ガイド |
| 正規表現でよく使うパターン10選 | 正規表現でよく使うパターン10選|開発で役立つRegex |
| Markdown記法チートシート | Markdown記法チートシート|コピペで使える一覧 |
| Gitコマンドよく使う一覧 | Gitコマンドよく使う一覧|初心者向けクイックリファレンス |
| Git Worktree 並行開発ワークフロー完全ガイド | Git Worktree 並行開発ワークフロー完全ガイド|複数ブランチ同時作業・IDE設定・CI連携(2026) |
| URLエンコード(パーセントエンコーディング)の使い方 | URLエンコード(パーセントエンコーディング)の使い方 |
| HTMLエスケープ(サニタイズ)が必要な理由 | HTMLエスケープ(サニタイズ)が必要な理由|XSS攻撃を防ぐ基礎知識 |