SAG / ARCHITECTURE NOTE
秘密情報と連携メタデータ:APIキーを保存しない設計
秘密情報の定義と必要性、仕組み、SAGアーキテクチャへの適用基準、実務チェックリストを、研究および公式文書を根拠に解説します。
一文で定義
秘密情報とは、連携状態と識別用メタデータはサービスのDBに保存し、実際の秘密情報は専用のsecret storeに保管するという原則です。
要点:APIキーを通常の運用レコードやログに保存すると、参照権限やバックアップを通じて漏えいの範囲が広がります。画面上でマスキングしていても、元の値を保存する根拠にはなりません。
なぜこの技術が必要なのか?
APIキーを通常の運用レコードやログに保存すると、参照権限やバックアップを通じて漏えいの範囲が広がります。画面上でマスキングしていても、元の値を保存する根拠にはなりません。
仕組み
サービスにはprovider、接続状態、key fingerprint、更新日時のみを保存します。秘密情報は環境ごとのsecret managerから注入し、ローテーションと廃棄の手順を設けます。
設計時には精度だけを考慮するのではありません。遅延時間、コスト、データ境界、更新頻度、失敗時の動作もあわせて定義することで、運用時に再現可能な結果が得られます。自動化で確信が持てない値は、0や成功に置き換えず、未測定・要確認の状態にしておくのが安全です。
SAGの技術との関連
SAGのcredentialレコードは、接続準備用のmetadata契約であり、実際のAPI keyを保存したり、外部接続が完了したと表示したりするものではありません。
実務チェックリスト
- 元のkeyをDBやログに残さない
- fingerprintと更新日時のみを表示する
- ローテーション後に以前のkeyが廃棄されたことを検証する
- 失敗・空の結果・権限エラーの状態を成功と区別する
- 変更の前後を同じ条件で再検証する
研究と公式文書
参考文書は、原則と推奨事項の根拠です。検索での露出、AIによる言及、順位や売上を保証するものではありません。実際の適用効果は、サービスのデータと同じ条件での観測によって確認する必要があります。
テーマ別の技術参考資料
この技術についてさらに読むには
テナント権限、ジョブの再試行、キャッシュ、承認履歴について確認します。
SAG / KNOWLEDGE LINKS
