無料プランのサポートでもきちんとした回答をすべき理由
有料のお客様にだけ丁寧な回答をするサポート窓口は、無料ユーザーに対して、その質問はきちんと解決する価値がないと言っているのと同じです。
期限切れにならないキーは、その存在を忘れやすいという点でまさに便利です。一度発行され、設定ファイルや環境変数に埋め込まれ、あとはただ無期限に動き続け、それが必要かどうかを見直す人は誰もいません。何年か後には、発行した人は退職しているかもしれず、作成の目的だったプロジェクトは廃止されているかもしれず、キー自体は忘れられたサーバー、流出したリポジトリ、古いバックアップの中に、まだ完全に有効なまま残っているかもしれません。システムのどこにも、それがまだ必要であることを証明させる仕組みがなかったからです。
これは仮定の話ではなく、現実に存在し、過小評価されているセキュリティ上の問題です。キーは、コミットされた設定ファイル、誤ってリクエストヘッダーを記録してしまったログ、元のプロジェクトより長く残る古いバックアップなどから漏れます。期限切れにならないキーは、そうした漏えい経路のひとつひとつが無期限に危険なままであることを意味し、露出が自然に閉じる時点がありません。定期的にローテーションや見直しが行われるキーであれば、漏えい自体が検知されなかったとしても、少なくともその漏えいが悪用可能な期間に上限を設けられます。
当社は、予告なく連携を壊すような有効期限を強制することが答えだとは考えていません。それはある問題を、同じくらいいら立たしい別の問題と交換するだけです。誰もはっきり伝えていなかったローテーションの方針のせいで、本番稼働中にキーが動かなくなるという問題です。答えは、ローテーションを、まったく行われないか予定外の驚きとして起きるかのどちらかではなく、情報に基づいた意図的な選択にする可視性と管理です。すべての応答に付く割り当てのヘッダー(キーのIPスロットのうちいくつが使用中かのカウントを含む)は、キーの利用パターンが当初発行された目的とまだ合っているかについて継続的なシグナルを与えます。それこそが、定期的に「このキーはまだ存在する必要があるか」を見直すきっかけにすべき情報です。
キーを一度入れたら終わりの恒久的な認証情報として扱う業界の広い習慣は、その認証情報が存在する期間全体よりも、最初の連携の利便性を優先することから生まれています。初日には、二度と触る必要のないキーを発行するほうが本当に簡単です。その利便性は前倒しで得られ、コスト、つまり監視もローテーションもされない古いキーが恒久的な負債としてどこかに残ることは、初日には誰も考えていない将来のインシデントへと後回しにされます。
より健全な既定の考え方は、キーを固定の設備というよりも、アカウントと継続的な関係を持つ認証情報として扱うことだと当社は考えます。送信するリクエストを通じてリアルタイムで見え、定期的に見直すことができ、属していたプロジェクトが実際に終了したときには騒ぎなく取り消せるものです。そのどれも、誰かに有効期限を強制する必要はありません。必要なのは、キーが実際に何をしているかを簡単に確認できるようにし、古いキーをいつまでも放置することが最も楽な道ではなくなるようにすることです。