🔒 環境変数・シークレットを安全に扱う
このページで学ぶこと
- APIキーやパスワードをコードに直接書いてはいけない理由がわかる
- 環境変数とは何かがわかる
.envファイルの使い方がわかる
なぜ重要か
開発をしていると、APIキーやデータベースのパスワードなどの「秘密の情報」が必要になります。
これをコードに直接書いてしまうと、GitHubにアップした瞬間に世界中に公開されます。
実際に、GitHubに誤ってAPIキーを公開して不正利用され、数十万円の請求が来た事例が多数あります。
// ❌ 絶対にやってはいけない
const apiKey = "sk-1234567890abcdef"環境変数とは
環境変数とは、コードの外側(OSやサーバー)に保存する変数のことです。
コードからは「この名前の変数を読んでください」とだけ書き、実際の値はコードに入れません。
// ✅ こう書く。値はコードの外に置く
const apiKey = process.env.MY_API_KEYやってみよう
ステップ1: .env ファイルを作る
practice フォルダに .env というファイルを作り、以下を書きましょう。
MY_NAME=とんペディア
MY_SECRET=super-secret-valueステップ2: .gitignore に追加する
.gitignore ファイルを開き(なければ作り)、以下を追加しましょう。
.envこれで .env は Git の管理対象から外れ、GitHubにアップされなくなります。
ステップ3: 値を参照する
Node.js では process.env.変数名 で読み込めます。
※現段階では下記のコードを実行することはできません。「こんな書き方があるんだな」程度の理解で大丈夫です。
// .env を読み込むために dotenv パッケージを使う
require('dotenv').config()
console.log(process.env.MY_NAME) // → とんペディア
console.log(process.env.MY_SECRET) // → super-secret-valueNext.js (Webコースで学習) では不要
Next.js は.envファイルを自動で読み込んでくれます。dotenvを別途インストールする必要はありません。
ステップ4: .env.example を作る
.env 自体は共有できませんが、「どんな変数が必要か」を他の開発メンバー伝えるために .env.example を作ります。
値は空にして、GitHubにアップします。
MY_NAME=
MY_SECRET=チームメンバーはこれを見て、自分の .env を作れます。
ルールまとめ
| ファイル | GitHubにアップ | 用途 |
|---|---|---|
.env | ❌ しない | 実際の秘密の値を書く |
.env.example | ✅ する | 必要な変数名だけ書いてチームに共有 |
確認しよう
-
.envファイルを作って変数を定義した -
.gitignoreに.envを追加した -
process.env.変数名で値を読み込めた -
.env.exampleを作った -
git statusで.envが追跡されていないことを確認した
AIに聞いてみよう
「環境変数に入れるべき情報、入れなくても良い情報の具体例を教えてください」
「もし環境変数を誤ってGitHubに公開してしまった場合、どのように対処すればいいですか?」
次のステップ
Last updated on