用語解説

APIキーローテーションとは?HTML共有・AI生成サイトでの意味をやさしく解説

一度発行したAPIキーをずっと使い続けると、漏えいしたときの被害が長期化します。APIキーローテーションは、定期的または漏えい検知時に古いキーを無効化して新しいキーに切り替える運用手順で、AI生成サイトの開発・共有においても知っておくべき基本的なセキュリティ対策です。

ひとことで言うと

APIキーローテーションとは、サービスへのアクセスに使用するAPIキーを一定周期または特定のイベント(漏えい・メンバー退職等)をトリガーに、古いキーを無効化して新しいキーへ置き換える運用プロセスです。同じキーを無期限に使い続けると、仮に漏えいしていてもその事実に気づきにくく、被害期間が最大化してしまいます。

ローテーションの間隔はサービスやリスクレベルによって異なりますが、一般的なガイドライン(NIST SP 800-57等)では90日ごとの交換が推奨されています。クラウドプロバイダのコンソールや、HashiCorp VaultのようなSecrets Management Systemを使うと、ローテーションを半自動化できます。

  • 相手がログインなしで開ける状態か確認する
  • PCとスマホで最低1回ずつ表示を確認する
  • 内部情報・個人情報・不要な外部送信が残っていないか見る
  • レビュー期限と修正時の差し替え方を決めておく

HTML共有で関係する場面

AIで生成したHTMLにOpenAIやFirebaseのAPIキーが埋め込まれていた場合、そのHTMLを共有してしまった時点でキーのローテーション(即時無効化と再発行)が必要です。「見た人が限られているから大丈夫」という判断は危険で、URLが記録されたログやキャッシュからキーが流出する可能性があります。

共有サービス自体が使うAPIキー(ストレージサービスのキー等)も管理対象です。チームメンバーが退職した際は、退職者が知りうるAPIキーを速やかにローテーションすることで、意図しないアクセスを防止できます。特に管理者権限を持っていたメンバーの退職後は優先度を上げて対応してください。

よくある誤解

「古いキーを削除すれば新しいキーに自動で切り替わる」という誤解があります。実際には、古いキーを参照しているシステム・ファイルをすべて新しいキーに更新してから古いキーを削除する順番が重要です。逆の順番で削除すると、更新し忘れた箇所でエラーが発生してシステムが停止します。

「APIキーのローテーションは大企業だけが気にすること」という思い込みもあります。個人開発のAIツールでも、漏えいしたOpenAI APIキーを使われると意図しない課金が発生します。無料プランでもAPIキーの管理と定期ローテーションは習慣として持つべきです。

安全に使うための注意点

ローテーションを安全に行うには「Blue/Green方式」が有効です。まず新しいキーを発行してシステムを新しいキーに切り替え、しばらく動作を確認してから古いキーを削除します。この手順を踏むことで、切り替え漏れによるシステム停止を防げます。

APIキーを環境変数やシークレット管理サービス(AWS Secrets Manager・Doppler等)に保存する習慣を持つと、ローテーション時の更新箇所が一か所に集約されます。HTMLファイルやソースコードに直接書かない運用ルールをチームで設定し、CIパイプラインのシークレットスキャンで自動検出できるようにしてください。

よくある質問

APIキーを誤って共有してしまったことに後から気づいた場合、まず何をすべきですか?

すぐにそのキーを発行元サービスの管理画面で無効化してください。次に新しいキーを発行し、利用している箇所を更新します。その後、漏えいしたキーが使われた形跡がないかAPIの利用ログを確認してください。

90日ごとのローテーションは厳しすぎませんか?より長い間隔でも大丈夫ですか?

間隔はリスク評価次第です。クレジットカード情報や個人情報へのアクセス権を持つキーは短いサイクルが必要ですが、読み取り専用のパブリックデータAPIなら半年〜1年でも許容されます。使用用途のリスクレベルに応じて間隔を決めてください。

複数のサービスで同じAPIキーを使い回している場合、ローテーションはどう進めればよいですか?

同じキーの使い回しはそれぞれのリスクが連鎖するため、まずサービスごとに専用キーを発行することを推奨します。使い回しをやめる段階的な計画を立て、移行が完了したら古い共通キーを廃止してください。

関連記事

「用語解説」の記事をもっと見る →