第9章 シークレット情報の管理

ページ 2 / 4

01/ 04セキュリティ

シークレット情報の管理

読了目安 約 3実践
読みはじめる

鍵は .env ではなくクラウドの金庫へ

使うときは SSO で本人確認し、必要な鍵だけを取り出します。

  1. .env接続先など非機密の設定だけに使う
  2. 監査ログ誰がいつ取り出したか記録に残る
  3. 差し替え金庫の更新だけで全員に反映

なぜローカルに秘密を置かないのか

いちばん手軽なのは、API キーや DB パスワードを手元の .env ファイルに書く方法。でもそれは、パソコンの中に『むき出しの鍵』を置いている状態です。紛失や誤コミット1つで漏れ、共有の鍵なら全員・全システムに影響が及びます。

.env に平文で保存PCの中に鍵が居座る
紛失・誤コミットで流出漏れたら全員に影響
鍵の更新が大変全員に配り直し
SSOで本人確認パスワードは持たない
必要なときだけ取得メモリ上だけで使う
一括で更新・失効中央で差し替え

各ブロックや矢印をクリックすると、その仕組みの説明がここに表示されます。

手元の鍵は紛失・誤コミットで漏れる — 更新も全員の手作業になる

この図をテキストで読む

構成図「鍵を手元に置く? 置かない?」。ブロック6個、つながり4本。 枠: ❌ 手元に鍵を置く(ブロック3個)、✅ 鍵を持たない(ブロック3個)。 【ブロック】 - .env に平文で保存: PCの中に鍵が居座る - 紛失・誤コミットで流出: 漏れたら全員に影響 - 鍵の更新が大変: 全員に配り直し - SSOで本人確認: パスワードは持たない - 必要なときだけ取得: メモリ上だけで使う - 一括で更新・失効: 中央で差し替え 【図の符号】青の囲み枠=境界の囲み / 橙の囲み枠=守られた内側 【流れ】 - ❌ 手元に置く世界: .env に平文で保存 → 紛失・誤コミットで流出 → 鍵の更新が大変 - ✅ 鍵を持たない世界: SSOで本人確認 → 必要なときだけ取得 → 一括で更新・失効

都度SSOで金庫から取り出す

SSOでログイン(aws sso login など)SSOログイン一時的な資格情報を発行一時キーシークレットを指定して取得取得要求API キー・DB パスワードを返す鍵を受領メモリ上(process.env)に展開メモリ展開取り出した鍵で接続接続応答を返す応答中央で鍵をローテーションローテーション
開発者 / アプリローカル or 本番
SSO本人確認の窓口
Secrets Managerクラウドの鍵の金庫
外部サービスDB / 外部API

各ステップ・参加者・分岐をクリックすると、その仕組みの説明がここに表示されます。

この図をテキストで読む

シーケンス図「都度取得の流れ」。参加者4人、ステップ8個。 【参加者】(左から右) - 開発者 / アプリ: ローカル or 本番 - SSO: 本人確認の窓口 - Secrets Manager: クラウドの鍵の金庫 - 外部サービス: DB / 外部API 【流れ】(上から下へ) ── ① 本人確認(パスワードは持たない) ── 1. 開発者 / アプリ → SSO: SSOでログイン(aws sso login など) 2. SSO → 開発者 / アプリ: 一時的な資格情報を発行(応答) ── ② 必要なときに鍵を取り出す ── 3. 開発者 / アプリ → Secrets Manager: シークレットを指定して取得 4. Secrets Manager → 開発者 / アプリ: API キー・DB パスワードを返す(応答) 5. 開発者 / アプリ(自身で処理): メモリ上(process.env)に展開 ── ③ 鍵を使ってサービスを呼ぶ ── 6. 開発者 / アプリ → 外部サービス: 取り出した鍵で接続 7. 外部サービス → 開発者 / アプリ: 応答を返す(応答) ── ④ 鍵を入れ替えるとき(運用) ── 8. Secrets Manager(自身で処理): 中央で鍵をローテーション

本人確認 → 取得 → メモリ展開 → 利用の流れ。

手間は 5SLAB の仕組みで最小化

SSO は一度ログインすれば一定時間使い回せ、鍵の取得や外部サービスへの接続は aws-dev-tunnel などのスキル1コマンドにまとめてあります。本番では起動時に自動で鍵が注入されるので、普段はシークレットの存在を意識せずに開発できます。

押さえておきたい用語

シークレット
API キー・DB パスワード・各種トークンなど、漏れると悪用される秘密の値の総称。手元に置かないのが原則。
SSO(シングルサインオン)
一度の本人確認で複数のサービスを使えるようにする仕組み。個別のパスワードや長期キーを置かずに済む。
この用語の解説を読む
シークレットマネージャ
クラウド上の『鍵の金庫』。権限のある人・プログラムだけが取り出せ、中央で更新・失効・監査ができる。
.env
環境変数をまとめたファイル。平文なので秘密は書かず、接続先など非機密の設定だけに使う。
一時的な資格情報
数時間で失効する使い捨ての通行証。盗まれても期限切れになるため被害が限定的。
ローテーション
鍵を新しいものへ差し替えること。中央管理なら全員分を一度に更新でき、漏洩の疑いが出たらすぐ失効できる。
ゴール

ログインと守りの基本』を読み終えました。

認証・認可・MFA・SSO を区別して使い分け、自社のログイン周りの守りを点検できるようになります。

ページ 2 / 4