開発者API キーと認証

万能トークンではなく、最小権限を。

何でもできる API キーは、漏えいした瞬間に負債になります。CMSHub のマシン認証情報は、閲覧、作成、更新、削除といったコレクションごとの操作権限を明示的に持ちます。連携は本当に必要なアクセスだけを持ち、キーが漏れても影響範囲は小さく、明確です。

01 / マシン認証情報

マスターキーではなく、スコープ付き API キー

API キーはワークスペースごとに作成、ローテーション、失効でき、それぞれ特定のコレクションと特定の操作に限定されます。本番環境の認証情報に適用するのと同じ、最小権限の原則です。

コレクション単位・操作単位のスコープ

連携が扱うコレクションにだけ、閲覧、作成、更新、削除を必要な分だけ付与。暗黙の権限はありません。

作成・ローテーション・失効

キーのライフサイクルはワークスペースから管理。定期的にローテーションするのも、漏えい時に即座に失効させるのも簡単です。

デフォルト拒否

コレクションへの明示的な付与がないキーは、そのコレクションに触れられません。より広いアクセスへの暗黙のフォールバックはありません。

02 / 人間のセッション

堅牢な認証情報と、取り消し可能なセッション

人間のログインには、モダンでメモリハードなハッシュアルゴリズム Argon2id で導出した認証情報を使用。サーバーサイドセッションは JWT でラップされ、期限切れを待たずに即座に取り消せます。

Argon2id で導出した認証情報

パスワードは Argon2id でハッシュ化され、GPU や ASIC による高速なクラッキングに耐性があります。

取り消し可能なセッション

サーバーサイドセッションなので、侵害されたセッションはトークンの期限切れを待たずに即座に取り消せます。

監査可能な認証イベント

ログイン、セッションの取り消し、キーの変更が記録されるため、誰がいつ何にアクセスしたかを答えられます。

スコープ付きキーを作成

1 つのコレクションに限定した API キーを発行しよう。

ワークスペースを開き、連携に必要なアクセスだけにスコープしたキーを作成しましょう。