Unit 08-07(STAGE 08 の 7 / 7)

秘密情報と鍵をどう管理するか

学習状況:未着手

このユニットの結論

秘密の値(パスワード、接続の認証情報、暗号の鍵)は、放っておくとプログラムと文書と人の手元に散らばります。

置き場所を 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. 成果物との接続

9. AI WORKFLOW — 台帳の欄の抜けと期限切れを点検させる

AIは、台帳の各項目に必須の欄がそろっているか、入れ替えの期限が過ぎていないかを点検する下書きに役立ちます。

指示例:

「次の台帳について、項目ごとに『使う場所』『置き場所』『持ち主』『取り出せる人・仕組み』『入れ替え周期』『次の期限』が埋まっているかを表にし、空欄と期限切れを示してください。値を推測したり、入れ替えの要否を判断したりしないでください。」

10. REVIEW — AIの点検を確認する

  • AIに渡す台帳に、値そのものが含まれていないことを渡す前に確かめたか
  • 「埋まっている」とされた欄が、意味のある内容か(「関係者」のような曖昧な記述でないか)
  • 期限切れの項目について、入れ替えの計画を人が決めたか

11. 人間が判断すること

  • 置き場所の決まりと、例外(人が値を取り出せる場合)
  • 入れ替えの周期と、入れ替えで止まる危険の受け入れ
  • 漏れたかもしれないときに、即時に入れ替えるか、影響を見てから入れ替えるか

セキュリティ例外承認は、AIへ最終委任しない事項です(正本の方針)。

12. 判断演習

あなたの職場で使われている「秘密の値」を 3 つ挙げてください(共有のパスワード、外部サービスの認証情報、鍵のかかった書庫の暗証番号 など)。

それぞれについて、どこに置かれているか、誰が知っているか、最後に変えたのはいつか、漏れたと分かったら何をするかを書いてください。4 つの置き場所の決まり(直接書かない・混入を検査する・環境ごとに別・人は持たない)のうち、守られていないものに印を付けてください。

あなたの記録あなたの考え。事実ではありません

判断ノート

既定では保存しないため、ページを離れると消えます。

このユニットで覚えてほしいこと

秘密は 1 か所に置き、入れ替え続ける。書かない・環境ごとに分ける・人は持たない・期限で入れ替える。値ではなく「どこで使っているか」の台帳を持つ。

次に読むもの

本文で参照している成果物:SEC-007 秘密情報・鍵管理台帳、SEC-003 本番特権アクセス管理表

関連成果物:未確定(baselineに対応表なし)

関連危機演習:未確定(baselineに対応表なし)

学習状況

状態:未着手