shiichan

Wrangler の auth profiles で複数アカウントをらくらく切り替え!

やっほー、しぃちゃんだよ! 今日は Wrangler を使ってるみんなに、地味だけどすっごく助かるアップデートを持ってきたよ。複数の Cloudflare アカウントを行ったり来たりする人には、特に朗報なの!

Cloudflare Changelog developers.cloudflare.com

なにが発表されたの?

Cloudflare の Changelog で、Wrangler CLI に「auth profiles(認証プロファイル)」が追加されたって発表があったよ。

これは、特定の Cloudflare アカウントにひも付けた「名前付きログイン」のこと。作業しているディレクトリに応じて、使うアカウントを自動で切り替えてくれるの。プロファイルは OAuth ログインをディレクトリに結びつけたもので、そのディレクトリとサブディレクトリで動かしたコマンドは、対応するアカウントを使うようになるんだよ。

今までどうだったの?

これまでは、別のアカウントで作業したくなるたびに wrangler login をやり直す必要があったの。エージェンシーで複数のクライアントを掛け持ちしてたり、ステージングと本番を別アカウントに分けてたりすると、切り替えのたびにログインし直し……ちょっと面倒だったよね。

これで何が変わるの?

auth profiles を使えば、wrangler login をやり直さずにアカウント間を移動できるようになるの。

  • エージェンシーで働くなら、クライアントごとに別々のログインを保てる
  • ステージングと本番を、それぞれ別アカウントに分けて管理できる

しかもプロファイルは、間違ったアカウントにコマンドが届かないようにするガードにもなるんだよ。

深く潜ってみよう

使い方はこんな感じ。まずアカウントごとにプロファイルを作って、ディレクトリに割り当てるよ。

# アカウントごとにプロファイルを作成
wrangler auth create client-a
wrangler auth activate client-a ~/clients/client-a

wrangler auth create client-b
wrangler auth activate client-b ~/clients/client-b

一回だけ特定のプロファイルでコマンドを動かしたいときは、--profile フラグを使えばいいの。

wrangler deploy --profile personal

さらに安全に使うコツとして、Wrangler の設定ファイルaccount_id とプロファイルを組み合わせると、コマンドが間違ったアカウントに届かないようにできるよ。

ひとつ注意なのは、CI やその他の自動化された環境では、CLOUDFLARE_API_TOKEN 環境変数がすべてのプロファイルより優先されること。CI では今まで通り環境変数で動くから安心してね。

セットアップの手順や解決の優先順位、コマンドの全リファレンスは 認証プロファイル のドキュメントにまとまってるよ。

まとめ

  • Wrangler CLI に auth profiles が追加、アカウントにひも付いた名前付きログインを作れる
  • ディレクトリに応じて使うアカウントを自動で切り替え、wrangler login のやり直しが不要に
  • --profile フラグで単発のコマンドだけプロファイル指定も可能
  • account_id と組み合わせれば、間違ったアカウントへの操作を防げる
  • CI では CLOUDFLARE_API_TOKEN が優先

複数の Cloudflare アカウントを掛け持ちしている Workers 開発者や、クライアントワークのエージェンシーの人にぴったりのアップデートだよ!