Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

認証プロファイル

最終更新 Markdown で表示Agent セットアップ

Wrangler は、一度に 1 人のユーザーとして認証します。プロファイルは名前付きの OAuth ログインで、選んだアカウント群にスコープを付け、ディレクトリへバインドできます。

プロファイルを使うと、プロジェクトごとにアカウントを切り替えても wrangler login を再実行する必要はありません。プロファイルは wrangler auth 配下にあります。

プロファイルを使う場面

同じマシンで複数の Cloudflare アカウントを扱うときに、プロファイルを使います。

  • 代理店とクライアントの作業 — クライアントアカウントごとにログインを分け、そのクライアントのプロジェクトディレクトリへバインドします。各ディレクトリで実行したコマンドは、対応するプロファイルを自動で使います。
  • アカウントを分けた環境 — ステージングと本番を別アカウントに置き、それぞれにプロファイルをバインドします。プロファイルを Wrangler 設定ファイルaccount_id と組み合わせると、コマンドが誤ったアカウントへ届くのを防げます。

プロファイルの仕組み

プロファイルは次の 2 つを組み合わせます。

  • OAuth で作るログイン。OAuth フロー中に、プロファイルが到達できるアカウントを選びます。1 つのプロファイルは、そのユーザーが持つ複数のアカウントへのアクセスを持てます。
  • ディレクトリへのバインド。ディレクトリでプロファイルを有効にすると、そのディレクトリとサブディレクトリがそのプロファイルを使います。

解決の優先順位

各コマンドで、Wrangler は次の順(優先度の高いものから)でプロファイルを選びます。

  1. CLOUDFLARE_API_TOKEN 環境変数。設定されていると、すべてのプロファイルを上書きします。
  2. --profile フラグ。1 回のコマンド実行にだけ適用されます。
  3. 有効になっている最も近い祖先ディレクトリ。--config を渡した場合は設定ファイルがあるディレクトリから、それ以外は作業ディレクトリから解決します。
  4. wrangler loginwrangler logout が管理する既定のプロファイル。

アカウントの選択

解決したプロファイル内で、Wrangler は次の順で対象アカウントを選びます。

  1. Wrangler 設定ファイルaccount_id、または CLOUDFLARE_ACCOUNT_ID 環境変数。
  2. それ以外は、ログイン時にプロファイルで選んだアカウント。

コマンドの対象アカウントに、有効なプロファイルが到達できない場合、Wrangler はアカウント名とプロファイル名を含むエラーで失敗します。別のアカウントへフォールバックしません。

プロファイルを作る

名前を付けて wrangler auth create を実行します。Wrangler が OAuth フローを開始し、プロファイルが到達できるアカウントを選びます。

wrangler auth create work

同じ名前でもう一度実行すると、既存のプロファイルを再認証できます。トークンの期限切れ後などに使います。

ディレクトリでプロファイルを有効にする

wrangler auth activate を実行し、プロファイルをディレクトリへバインドします。バインドはそのディレクトリとサブディレクトリに適用されます。ディレクトリの既定は、現在の作業ディレクトリです。

wrangler auth activate work ~/projects/work

サブディレクトリは、別のプロファイルを有効にすると、上位のバインドを上書きできます。

複数のクライアントアカウントを扱う

この例では、代理店作業向けにクライアントごとに 1 つのプロファイルを用意します。

  1. 最初のクライアント用のプロファイルを作ります。OAuth フロー中に、このプロファイルが到達できるアカウントを選びます。

    wrangler auth create client-a
  2. プロファイルをクライアントのプロジェクトディレクトリへバインドします。

    wrangler auth activate client-a ~/clients/client-a
  3. 2 つ目のクライアントでも同じ手順を繰り返します。

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

~/clients/client-a で実行したコマンドは client-a プロファイルを使い、~/clients/client-b のコマンドは client-b プロファイルを使います。切り替えるたびに再ログインする必要はありません。

ステージングと本番のアカウントを分ける

ステージングと本番が別アカウントにある場合は、各環境のディレクトリへプロファイルをバインドし、各プロジェクトの設定でアカウントを固定します。account_id は安全策として働き、プロファイルが両方へ到達できても、コマンドが誤ったアカウントへデプロイするのを防げます。

  1. 各環境向けにプロファイルを作成し、有効にします。

    wrangler auth create staging
    wrangler auth activate staging ~/projects/staging
    
    wrangler auth create production
    wrangler auth activate production ~/projects/production
  2. 各プロジェクトの Wrangler 設定ファイル に、対応する account_id を設定します。

    {
      "$schema": "./node_modules/wrangler/config-schema.json",
      "name": "my-worker",
      "account_id": "<PRODUCTION_ACCOUNT_ID>"
    }
    name = "my-worker"
    account_id = "<PRODUCTION_ACCOUNT_ID>"

1 回のコマンドだけプロファイルを切り替える

--profile フラグを使うと、ディレクトリのバインドを変えずに、特定のプロファイルで 1 つのコマンドを実行できます。

wrangler deploy --profile staging

--profile フラグは、authloginlogoutwhoami コマンドでは使えません。

プロファイルを一覧する

wrangler auth list を実行すると、すべてのプロファイルと、バインドされているディレクトリを確認できます。

wrangler auth list

バインドまたはプロファイルを削除する

ディレクトリがプロファイルを使わないようにするには、そのディレクトリで wrangler auth deactivate を実行します。ディレクトリは、上位にバインドされたプロファイル、または既定のプロファイルへ戻ります。

wrangler auth deactivate ~/projects/staging

プロファイルとそのディレクトリバインドをすべて削除するには、wrangler auth delete を実行します。

wrangler auth delete staging

プロファイルと環境変数

プロファイルはローカルマシン向けの便利機能です。CI、コンテナ、そのほかの自動化環境には適用されません。これらは CLOUDFLARE_API_TOKEN で環境ごとに認証します。詳細は CI/CD で Wrangler を実行する を参照してください。

環境変数がある場合は、次の 2 つの規則が適用されます。

  • CLOUDFLARE_API_TOKEN が設定されていると、Wrangler はどのプロファイルよりもそれを使います。設定中は、プロファイルの作成、有効化、無効化、削除はできません。
  • CLOUDFLARE_ACCOUNT_ID と Wrangler 設定ファイルの account_id は、有効なプロファイル内でも常に尊重されます。

役に立ちましたか?