このユニットの結論
秘密の値(パスワード、接続の認証情報、暗号の鍵)は、放っておくとプログラムと文書と人の手元に散らばります。
置き場所を 1 か所に決め、プログラムや文書には書かず、環境ごとに別の値を使い、人は原則持たず、期限を決めて入れ替える。そして「どこで何を使っているか」の台帳を持つことで、漏れたかもしれない日にその日のうちに入れ替えられます。
1. 何の話か
このユニットは、システムが動くために使う秘密の値の扱い方の話です。
08-05 開発者は本番データを自由に見てよいのか では、本番のデータへの近づき方を学びました。本番のデータに近づくための「鍵」が秘密の値です。データを守っていても、鍵が開発者の手元や文書に残っていれば、守ったことになりません。
2. なぜ必要か
秘密の値の扱いを決めないと、
- 本番の接続情報がプログラムの履歴に残り、履歴を見られる全員が本番に入れる
- 開発・テスト・本番で同じ値を使い回し、テスト環境の漏えいが本番の漏えいになる
- 退職者や契約の終わった委託先が、まだ有効な値を知っている
- 漏れたかもしれないと分かっても、どこで使っているか分からず、入れ替えられない
ということが起きます。秘密の値は「作ったら終わり」ではなく、「入れ替え続けるもの」です。
3. このユニットで分かること
- 置き場所の決まり
- 環境の分離と、人が持たない設計
- 入れ替え(ローテーション)と、台帳
4. 置き場所の決まり
| 決まり | 内容 | 守られていない例(一般的な例) |
|---|---|---|
| 直接書かない | プログラム、設定ファイル、履歴、チャット、文書に値を書かない。専用の保管の仕組みから、実行時に取り出す | 設定ファイルにデータベースのパスワードが書かれている |
| 混入を検査する | 自動の流れで、履歴に秘密の値らしき文字列が入っていないかを検査し、入っていれば合流を止める | 検査がなく、うっかり入った値が履歴に残り続ける |
| 環境ごとに別の値 | 開発・テスト・本番で同じ値を使わない。本番の値は本番の区画からしか取り出せない | テスト環境と本番環境が同じ外部サービスの認証情報を使っている |
| 人は原則持たない | 実行する部品が自動で取り出す。人が取り出すのは障害対応などの例外で、申請と記録を残す(SEC-003 本番特権アクセス管理表) | 開発者全員が本番の接続情報を知っている |
5. 入れ替えと台帳
入れ替え(ローテーション)は、値が漏れていなくても定期的に行います。漏れたことには気づかないことが多いからです。入れ替えのときにシステムが止まらないよう、新旧 2 つの値が同時に有効な期間を作り、使う側を切り替えてから古い値を無効にします。この手順は、一度実際に通しておきます。手順を試したことがないと、「入れ替えると止まるかもしれない」と恐れて、誰も入れ替えなくなります。
台帳は、値そのものではなく「何が・どこで使われ・誰が持ち主で・いつ入れ替えるか」を書いたものです(SEC-007 秘密情報・鍵管理台帳)。漏れたかもしれない日に見るのは、この台帳です。台帳がなければ、影響の範囲が分からず、入れ替えの順番も決められません。
CASE FACTFROZEN正本に記載されたアステリア案件の事実
アステリア案件の秘密情報に関する記載
- システムに SYS-08 認証・ID基盤、SYS-09 開発・CI/CD基盤、SYS-10 AI開発エージェント がある
- 外部サービスとの連携:IF-04 工数連携(勤怠・工数SaaS → 連携基盤 → 新基幹)
- Vendor B クラウドブリッジの担当範囲に IAM、CI/CD が含まれる
- 成果物に SEC-003 本番特権アクセス管理表、SEC-007 秘密情報・鍵管理台帳 がある
- P-012 石井 稔 — セキュリティ責任者
アステリア案件で秘密の値がどこに置かれ、誰が持ち、どう入れ替えられたかは、正本に記録がありません。記録なし
6. THINK — 「開発を急ぐので、設定ファイルに書いておく」
開発の初期に、ある開発者が次のように言いました。
「保管の仕組みが整うまで時間がかかるので、まずは設定ファイルに接続情報を書いて進めます。あとで直します。」
問題
この進め方を認めてよいでしょうか。
判断例を開く
判断
「あとで直す」は、ほぼ直りません。一度履歴に入った値は、消しても履歴に残ります。
確認すること:
- 書こうとしている値は、開発環境だけの値か、本番と共通の値か(本番と共通なら、この時点で本番の鍵が履歴に入る)
- 保管の仕組みが整うまでの期間はどれだけか。その間だけ使う仮の値を発行できないか
- 履歴への混入を検査する仕組みは動いているか
- 「あとで直す」の期限と担当者が決まり、課題として記録されるか
- 直したあと、履歴に残った値を無効にして入れ替える手順があるか
急ぐなら、仮の値を発行し、期限つきの課題にし、混入の検査を先に動かします。それができないなら、保管の仕組みを待つ方が速いことが多いです。
7. よくある失敗
- 置き場所の決まりを決める前に開発が始まり、値がプログラムに散らばってから回収に追われる
- 開発・テスト・本番で同じ値を使い回す
- 入れ替えの手順を試したことがなく、稼働時の値が何年も使われる
- 台帳がなく、漏れたかもしれない日に影響の範囲が分からない
8. 成果物との接続
- SEC-007 秘密情報・鍵管理台帳:何が・どこで・誰の管理で・いつ入れ替えるかの台帳(値は書かない)
- SEC-003 本番特権アクセス管理表:人が例外的に本番の値や権限を使うときの申請と記録
9. AI WORKFLOW — 台帳の欄の抜けと期限切れを点検させる
AIは、台帳の各項目に必須の欄がそろっているか、入れ替えの期限が過ぎていないかを点検する下書きに役立ちます。
指示例:
「次の台帳について、項目ごとに『使う場所』『置き場所』『持ち主』『取り出せる人・仕組み』『入れ替え周期』『次の期限』が埋まっているかを表にし、空欄と期限切れを示してください。値を推測したり、入れ替えの要否を判断したりしないでください。」
10. REVIEW — AIの点検を確認する
- AIに渡す台帳に、値そのものが含まれていないことを渡す前に確かめたか
- 「埋まっている」とされた欄が、意味のある内容か(「関係者」のような曖昧な記述でないか)
- 期限切れの項目について、入れ替えの計画を人が決めたか
11. 人間が判断すること
- 置き場所の決まりと、例外(人が値を取り出せる場合)
- 入れ替えの周期と、入れ替えで止まる危険の受け入れ
- 漏れたかもしれないときに、即時に入れ替えるか、影響を見てから入れ替えるか
セキュリティ例外承認は、AIへ最終委任しない事項です(正本の方針)。
12. 判断演習
あなたの職場で使われている「秘密の値」を 3 つ挙げてください(共有のパスワード、外部サービスの認証情報、鍵のかかった書庫の暗証番号 など)。
それぞれについて、どこに置かれているか、誰が知っているか、最後に変えたのはいつか、漏れたと分かったら何をするかを書いてください。4 つの置き場所の決まり(直接書かない・混入を検査する・環境ごとに別・人は持たない)のうち、守られていないものに印を付けてください。
あなたの記録あなたの考え。事実ではありません
判断ノート
このユニットで覚えてほしいこと
秘密は 1 か所に置き、入れ替え続ける。書かない・環境ごとに分ける・人は持たない・期限で入れ替える。値ではなく「どこで使っているか」の台帳を持つ。