MENU

複数APIキーの生死確認を自動化する考え方|安全な管理表の作り方

当ページのリンクには広告(PR)が含まれていることがあります。
複数APIキーの生死確認を自動化する考え方|安全な管理表の作り方のアイキャッチ

APIキーの確認を自動化するなら、「生きている/死んでいる」の2択だけでは足りません。認証は通っても使いたいモデルの権限がなかったり、利用上限へ達していたりするためです。キーの状態と、実行したい処理が可能かどうかを分けて記録します。

キーを一覧へ並べて試す仕組みは、秘密情報の複製や余計なリクエストを増やしがちです。管理表には秘密の値を入れず、承認された保管先を識別する名前を載せます。

目次

管理表は秘密情報を含めずに作る

以下は架空の管理例です。実際のキーや接続結果ではありません。

スクロールできます
管理名 用途 保管先の識別名 管理担当 最終確認 結果
summary-dev 開発用要約 開発環境の設定名 開発担当 未実施 未確認
classify-prod 本番の分類 本番の設定名 運用担当 未実施 未確認

これにプロバイダー、対象プロジェクト、使用する機能、許可するモデル、次の確認予定、無効化時の連絡先を加えます。秘密の値を持たない管理名なら、障害の相談や引き継ぎにも使えます。保管先へアクセスできる人の範囲は、表の閲覧者とは別に管理します。

確認結果を状態へ振り分ける

OpenAIのエラー資料では、429にも利用頻度、クレジット、組織やプロジェクトの利用上限など複数の原因があります。429を受けて、すぐにキーを無効と判定しないようにします。

スクロールできます
状態 根拠として残すもの 次の作業
未確認 まだ通信していない 担当者と確認条件を決める
認証要確認 認証エラーのコード 設定先と利用主体を確認する
権限・モデル要確認 対象機能とエラーコード 利用可能なモデルや権限を見る
上限・課金要確認 上限に関するエラーコード 利用状況と設定を確認する
一時的な失敗 過負荷や一時的な制限 待機条件を確認する
指定処理を確認済み 対象機能、日時、成功の記録 必要な頻度で見直す

最後の状態も、すべての機能が永久に使えるという意味ではありません。「いつ、何を確かめたか」を限定して記録します。

定期確認は既存の処理結果から始める

毎日すべてのキーで生成要求を送る前に、通常の業務処理が残す成功・失敗の記録を使えるか検討します。既に正常に動いた処理があるなら、確認専用の通信を重ねる必要がない場合もあります。

別途の疎通確認が必要な場合は、対象機能、確認頻度、最大試行数、利用額、失敗時の通知先を先に決めます。機密情報を含まない最小の入力を使い、確認要求にも料金や使用量が生じる前提で管理します。異なるサービスの認証方式やエラーを同じ関数で雑に判定しないことも大切です。

確認結果を記録する形式は、次のように作れます。

{
  "setting_id": "summary-dev",
  "checked_at": null,
  "operation": "text-summary",
  "model": null,
  "result": "not_checked",
  "http_status": null,
  "error_code": null,
  "next_action": "確認条件を担当者と決める"
}

ログと通知にキーを出さない

Authorizationヘッダー、設定値の一覧、要求全体は、診断ログへそのまま保存しません。記録するのは管理名、日時、対象処理、HTTPコード、秘密情報を除いた原因区分です。エラーメッセージにも入力内容が含まれ得るため、通知へ転記する範囲を決めます。

キーの変更後は管理名と保管先の対応を見直し、古い値を使う処理が残っていないかを確認します。自動確認が失敗しただけで、別のキーへ無制限に切り替える運用にはしません。権限や課金の問題が隠れるためです。

確認画面の考え方はGemini APIキー確認ツールの解説、GASでの設定の持ち方はGAS入門も参考になります。

この記事を書いた人

Watanabeのアバター Watanabe サイト運営者

2020年よりブログ開始。
SEOが思いのほか性にあっていたようで現在に至る。
モットーは「勝率の高い選択をする」
AIは活用するが吉、最後は人間が息を吹き込む。
アートと科学を追求し、日々精進。
―――
収益:6~7桁をウゴウゴ。
サイト:ペラサイト~中規模サイトまで運営中。
案件:1000円以上の案件をメインに取組中。
打ち手:ブラックSEO~ホワイトSEOまで
―――

目次