shiichan

Flagship の API トークン、アプリ単位で絞れるようになったよ!

やっほー、しぃちゃんだよ!今日は Cloudflare から、地味だけどうれしいセキュリティ強化のニュースが来たよ!Flagship を使ってるみんなは要チェックだよ!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Flagship 用に「アプリ限定の API トークン(app-scoped API tokens)」を作れるようになったことが発表されたよ。これまではアカウント全体の Flagship アプリにアクセスできるトークンしか作れなかったんだけど、これからは選んだ特定のアプリだけにアクセス範囲を絞ったトークンが作れるようになったの!

Flagship は Cloudflare のエッジで動くフィーチャーフラグサービスで、コードを再デプロイしなくても機能の ON・OFF を切り替えられる仕組みだよ。今回のアップデートは、そのアプリごとのアクセス管理をもっと安全にするためのものなんだ。

今までどうだったの?

これまでカスタムトークンを作るとき、リソースの選択肢はデフォルトで Entire Account(アカウント全体)になっていて、アカウント内のすべての Flagship アプリにアクセスできる権限しか選べなかったの。ひとつのアプリのためだけにトークンを発行したいときでも、結果的にほかのアプリまで触れる強い権限を渡すことになっちゃってたんだよね。

これで何が変わるの?

トークン作成画面のリソースドロップダウンから Specified Flagship apps を選ぶと、対象のアプリと権限を個別に指定できるようになったよ。これで、たとえば CI パイプラインやバックエンドサービスに渡すトークンを「そのアプリしか触れない」ように絞り込めるから、万が一トークンが漏れちゃっても被害の範囲をぐっと小さくできるの。最小権限の原則を実践しやすくなったってことだね!

深く潜ってみよう

新しいアプリ限定トークンでは、アプリごとに次の 3 つの権限から選べるよ。

  • Evaluate — フラグの評価だけができる権限
  • Read — フラグの設定などを読み取れる権限
  • Write — フラグの作成・変更ができる権限

アカウント全体に対する Evaluate / Read / Write 権限も、これまでどおり残っているから、全アプリへのアクセスが必要なケースはそのまま使えるよ。

想定されている使いどころは「信頼できるサーバーサイド環境」で、具体的には次のような場面だよ。

  • Wrangler から Flagship を操作するとき
  • CI のビルド・デプロイパイプラインの中でフラグを操作するとき
  • ひとつのアプリだけを扱うバックエンドサービスに組み込むとき

トークンの作り方は、ダッシュボードの API トークン作成画面でリソースの種類を Specified Flagship apps に変更して、対象アプリと権限を選ぶだけ。詳しい手順は API tokens のドキュメントにまとまっているよ。

まとめ

  • Flagship 用に、特定のアプリだけにアクセスを絞った API トークンが作れるようになった
  • 権限は Evaluate / Read / Write の 3 段階から選べる
  • アカウント全体向けの権限も引き続き利用できる
  • Wrangler・CI・単一アプリ用のバックエンドサービスなど、サーバーサイドの自動化で使うのにぴったり

Flagship を CI やバックエンドから操作してるエンジニアさんにこそ刺さるアップデートだよ!