本番の鍵や秘密の値を、どう管理し、漏れたらどうしますか

秘密の値は専用の置き場に集め、読める人と仕組みを絞り、できるだけ短い期間で切れる物を使い、新旧を重ねて入れ替えられるようにしておく、と答える問い。漏れたときは消すより先に無効にし、使われた跡を調べる順番まで話します。

まず 4 択で考える

2 問

答えに入れるべき考えを選びます。選ぶと、すぐに正誤と解説が出ます。そのあと下の欄で、自分の言葉で答えてみます。

  1. 問 1公開のリポジトリに鍵を push してしまったと気づいた。最初にすることとして正しいものはどれか

  2. 問 2DB のパスワードを止めずに入れ替える手順として、正しいものはどれか

2 問中 0 問に答えました

答えてみる

面接官に「本番の鍵や秘密の値を、どう管理し、漏れたらどうしますか」と聞かれたつもりで、答えを見る前に自分の言葉で、声に出して答えてみます。

解説を読む

聞かれ方から関連するコースまで、この問いの解説を全部ここに置いています。

こう聞かれます

  • 「本番の鍵や秘密の値を、どう管理し、漏れたらどうしますか」
  • 「DB のパスワードを、サービスを止めずに替えるには、どうしますか」
  • 「公開のリポジトリに鍵を push してしまいました。履歴から消せば大丈夫ですか」(裏から聞く形)

面接官が見ている点

  • 秘密の値の置き場、読める人、使える期間を、決まった形で管理しているか
  • 鍵を替えることを、特別な日の作業ではなく、いつでもできる作業にしているか
  • 漏れたとき、消すより先に無効にする、という順番を分かっているか
  • 漏れたあと、使われた跡を調べるところまで考えているか

短い答え

  • 秘密の値は専用の置き場 (シークレットの管理の仕組み) に集め、読める人と仕組みを、要る物だけに絞ります。誰がいつ読んだかも記録します。
  • できるだけ短い期間で切れる鍵を使い、長く使う鍵は、新旧の両方が効く期間を作って、止めずに入れ替えられるようにしておきます。
  • 漏れたら、まず鍵を無効にして新しい鍵に替えます。そのあと、漏れていた間に使われた跡を記録で調べます。履歴から消すのは最後で、それだけでは足りません。

この問いを含む分野をレッスンで練習する

レッスンを開く

少し詳しい答え

置き場と、読める人を絞る

秘密の値は、各サーバーの設定ファイルや個人の手元に散らばらせず、専用の置き場に集めます。アプリは起動するときに、そこから読みます。

読める範囲は、そのサービスが要る物だけにします。本番の DB の鍵を、開発の環境や関係の無いサービスから読めないようにします。人も同じで、ふだんは本番の値を見られず、要るときだけ記録つきで見られる形にします。

短く切れる鍵を使う

同じ鍵を何年も使い続けると、漏れたときの害が大きく、いつ漏れたかも分かりません。仕組みが出してくれる、数分から数時間で切れる鍵を使えるなら、そちらを選びます。切れる鍵なら、漏れても使える時間が短く済みます。

止めずに入れ替える

長く使う鍵 (外のサービスの API キー、DB のパスワード) は、次の順で入れ替えます。

  1. 新しい鍵を作る。古い鍵もまだ効くままにしておく
  2. アプリが新しい鍵を読むようにして、全部の台に行き渡らせる
  3. 古い鍵が使われていないことを記録で確かめる
  4. 古い鍵を無効にする

新旧の両方が効く期間があるので、台が少しずつ切り替わる間も止まりません。この手順を決まった間隔で回しておくと、漏れたときにも慌てず同じ手で替えられます。

漏れたときの順番

漏れたと分かったら、次の順で動きます。

  1. 無効にして替えるいちばん先です。公開の場所に出た鍵は、すぐに拾われて使われることがあります
  2. 使われた跡を調べる漏れていた間に、その鍵で何が読まれ、何が作られたかを記録で確かめます
  3. 消すリポジトリの履歴などから消します。ただし、すでに写し取られた物は消せないので、1 の代わりにはなりません
  4. 再発を防ぐ鍵を含む変更を push の前に止める検査を入れるなど、仕組みで防ぎます

話すときは、自分が関わったサービスで、鍵をどこに置き、どう替えているかの例を 1 つ用意します。話す例は架空の例で構いません。

よくある間違い

  • 履歴から消して終わりにする写し取られた鍵は使えるままです。先に無効にします
  • 古い鍵をすぐ無効にしてから、新しい鍵を配る配り終えるまでの間、サービスが止まります。新旧を重ねます
  • 全員が本番の鍵を読める漏れる道が増え、誰が漏らしたかも追えません。要る人と仕組みだけにします
  • 入れ替えの手順を、漏れたときに初めて考える慌てて手順を誤ります。ふだんから同じ手順で替えておきます

深掘りの問い

  • 「環境変数に入れておけば安全ですか」コードに書くよりはよいが、それだけでは読める範囲や入れ替えの記録が無いので、置き場から読む形にする、と答えます
  • 「鍵が漏れたかどうかに、どう気づきますか」鍵を含む変更の検査、ふだんと違う場所や時刻からの使われ方の記録で気づく、と答えます
  • 「DB のパスワードを替える間、接続はどうなりますか」 新旧の両方が効く期間を作り、接続を張り直していく、と答えます

確認日 2026年10月30日書き手 小尾 知希 (講師)

技術面接問題の一覧へ戻る