SAG / ARCHITECTURE NOTE

秘密情報と連携メタデータ:APIキーを保存しない設計

秘密情報の定義と必要性、仕組み、SAGアーキテクチャへの適用基準、実務チェックリストを、研究および公式文書を根拠に解説します。

Markdownをダウンロード

一文で定義

秘密情報とは、連携状態と識別用メタデータはサービスのDBに保存し、実際の秘密情報は専用のsecret storeに保管するという原則です。

要点:APIキーを通常の運用レコードやログに保存すると、参照権限やバックアップを通じて漏えいの範囲が広がります。画面上でマスキングしていても、元の値を保存する根拠にはなりません。

なぜこの技術が必要なのか?

APIキーを通常の運用レコードやログに保存すると、参照権限やバックアップを通じて漏えいの範囲が広がります。画面上でマスキングしていても、元の値を保存する根拠にはなりません。

仕組み

サービスにはprovider、接続状態、key fingerprint、更新日時のみを保存します。秘密情報は環境ごとのsecret managerから注入し、ローテーションと廃棄の手順を設けます。

設計時には精度だけを考慮するのではありません。遅延時間、コスト、データ境界、更新頻度、失敗時の動作もあわせて定義することで、運用時に再現可能な結果が得られます。自動化で確信が持てない値は、0や成功に置き換えず、未測定・要確認の状態にしておくのが安全です。

SAGの技術との関連

SAGのcredentialレコードは、接続準備用のmetadata契約であり、実際のAPI keyを保存したり、外部接続が完了したと表示したりするものではありません。

実務チェックリスト

  • 元のkeyをDBやログに残さない
  • fingerprintと更新日時のみを表示する
  • ローテーション後に以前のkeyが廃棄されたことを検証する
  • 失敗・空の結果・権限エラーの状態を成功と区別する
  • 変更の前後を同じ条件で再検証する

研究と公式文書

参考文書は、原則と推奨事項の根拠です。検索での露出、AIによる言及、順位や売上を保証するものではありません。実際の適用効果は、サービスのデータと同じ条件での観測によって確認する必要があります。

テーマ別の技術参考資料

この技術についてさらに読むには

テナント権限、ジョブの再試行、キャッシュ、承認履歴について確認します。

記事一覧