Wrangler の auth profiles で複数アカウントをらくらく切り替え!
やっほー、しぃちゃんだよ! 今日は Wrangler を使ってるみんなに、地味だけどすっごく助かるアップデートを持ってきたよ。複数の Cloudflare アカウントを行ったり来たりする人には、特に朗報なの!
Cloudflare Changelogなにが発表されたの?
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 開発者や、クライアントワークのエージェンシーの人にぴったりのアップデートだよ!