Cloudflare メンバーの権限を、アカウント全体ではなく、個々の Cloudflare Tunnel インスタンスに限定できます。特定の Tunnel の管理を委任できます。たとえば、アプリケーションチームに自サービスの Tunnel だけを任せ、アカウント内のほかの Tunnel は見せない、といった使い方です。
細かい権限はアカウントレベルのロールと並ぶ層であり、置き換えるものではありません。すでに Cloudflare Access などのアカウントレベルのロールを持つメンバーは、アカウント内のすべての Tunnel への書き込み権限を持ち続けます。
特定の Cloudflare Tunnel に対する API リクエストは、主体が いずれか を持っていれば許可されます。
- Tunnel をカバーするアカウントレベルのロール(たとえば
Cloudflare Access)、または - その Tunnel に紐づく リソーススコープのロール
リソース列挙エンドポイント(GET /accounts/{id}/cfd_tunnel、GET /accounts/{id}/teamnet/routes)は、主体が少なくとも読み取り権限を持つ Tunnel とルートだけを返します。
細かい権限は、通常の メンバー管理 の流れで割り当てます。
- Cloudflare ダッシュボード ↗ で Manage Account > Members を開き、Invite Members を選ぶか、既存メンバーを開いて権限を編集します。
- 権限ポリシーを追加し、Cloudflare Tunnel インスタンスを対象とする リソーススコープのロール を選びます。
- Scope で Specific resources を選びます。
- Resource type を Cloudflare Tunnel instances に設定します。
- リソースピッカーから、対象の Tunnel を 1 つ以上選びます。
- ポリシーを保存します。
同じメンバーに複数の細かいポリシーを付けて、Tunnel ごとに異なるロールを割り当てられます。
一覧エンドポイントは認可を考慮します。主体が一覧エンドポイントを呼び出すと、少なくとも読み取り権限がある Tunnel とルートだけが返ります。
| エンドポイント | メソッド | 返す内容 |
|---|---|---|
/accounts/{account_id}/cfd_tunnel |
GET |
主体が読み取りまたは管理できる Cloudflare Tunnel インスタンスです。 |
/accounts/{account_id}/teamnet/routes |
GET |
主体が読み取りまたは管理できる Tunnel に付いているルートです。 |
Tunnel をカバーするアカウントレベルのロールを持つメンバーは、従来どおりアカウント内の全 Tunnel を見られます。
- 既存のアカウントレベルのロールと API トークンは、これまでどおり動作します。
- アカウントレベルのトークンで認証する既存の自動化(たとえば
Cloudflare Accessトークンを使う Terraform パイプライン)は影響を受けません。 - 細かい権限はオプトインです。メンバーに付与すると能力が足されます。アカウントレベルのロールですでに持っている能力は削られません。
- ロールのリファレンス — Cloudflare ロールの一覧です。Cloudflare Tunnel インスタンス向けのリソーススコープのロールも含みます。
- アカウントメンバーを管理する — メンバーの招待と編集の流れです。
- Cloudflare One の Cloudflare Tunnel と Cloudflare Mesh の細かい権限 — 同じ RBAC 機能を、Tunnel に加えて Cloudflare Mesh ノードにも適用します。