シークレット管理

SECRET MANAGEMENT
読み: シークレットカンリ

読み: シークレットカンリ

シークレット管理とは機密情報の一元保護

シークレット管理とは、APIキー・パスワード・暗号化キー・証明書などの機密情報を一元的に保護・運用する仕組み。ソースコードへの直書きや情報の分散を防ぎ、アクセス制御と監査を徹底することで、不正アクセスやデータ漏洩のリスクを低減する。

かんたんに言うと

家の鍵を玄関マットの下に置くのではなく、金庫に入れて、誰がいつ持ち出したか記録するような仕組み。AIシステムが外部サービスと連携する際の「鍵」を安全に管理する。

ソースコード直書きが招くリスク

開発者がソースコード内にパスワードやAPIキーを直接書き込む。開発中は手軽だが、GitHubなどのバージョン管理システムにそのままpushすれば、第三者に機密情報が漏洩する。
実際にGitHubの公開リポジトリからAWSのアクセスキーが流出し、数時間で数百万円のクラウド利用料を請求された事例は珍しくない。「自分のリポジトリはprivateだから大丈夫」と思っていても、チームメンバーの追加やCI/CDの設定ミスで意図せず公開されるケースがある。

一元管理ツールの仕組みと代表的な選択肢

専用のシークレットマネージャーを導入すると、機密情報を暗号化した状態で集約保管し、アプリケーションは実行時にAPIで取得する。コードにはシークレットの「参照先」だけを書く。
HashiCorp Vaultはクラウド環境に依存しないオープンソースの定番。AWS Secrets Manager、Google Cloud Secret Manager、Azure Key Vaultはクラウドベンダーの標準機能として提供されている。
CI/CDパイプラインではGitHub Secretsがよく使われる。デプロイ時にだけシークレットを参照し、ログには値を出力しない設計が基本。

ローテーションと最小権限の原則

シークレットは定期的に更新(ローテーション)することで、漏洩時の被害を限定できる。AWS Secrets Managerは自動ローテーション機能を備えており、データベースのパスワードを一定間隔で自動変更する。
もう一つの柱が最小権限の原則。「どのアプリケーションが、どのシークレットに、いつアクセスしたか」をログに残し、必要な人に必要な権限だけを与える。AI開発では複数のAPIキーを扱うことが多いため、キーごとのアクセス範囲を絞ることが特に重要になる。

当社の見解

当社はAIの安全運用のために3層防御を設計・実装している。万が一インシデントが発生しても数分以内に復旧できるバックアップ体制を持つ。実際にAIが暴走してテスト環境を停止させた経験があり、その教訓から「失敗を防ぐ」だけでなく「失敗しても戻せる」設計が本質だと確信している。加えて、AIは事実でないことを断定する。この前提で事実/推測の強制分離とファクトチェックを実装した。安全性は仕組みで担保するものだ。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する