Skip to content

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

細かい権限

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

Cloudflare メンバーの権限を、アカウント全体ではなく、個々の Cloudflare Tunnel インスタンスに限定できます。特定の Tunnel の管理を委任できます。たとえば、アプリケーションチームに自サービスの Tunnel だけを任せ、アカウント内のほかの Tunnel は見せない、といった使い方です。

細かい権限はアカウントレベルのロールと並ぶ層であり、置き換えるものではありません。すでに Cloudflare Access などのアカウントレベルのロールを持つメンバーは、アカウント内のすべての Tunnel への書き込み権限を持ち続けます。

仕組み

特定の Cloudflare Tunnel に対する API リクエストは、主体が いずれか を持っていれば許可されます。

リソース列挙エンドポイントGET /accounts/{id}/cfd_tunnelGET /accounts/{id}/teamnet/routes)は、主体が少なくとも読み取り権限を持つ Tunnel とルートだけを返します。

細かい権限を付与する

細かい権限は、通常の メンバー管理 の流れで割り当てます。

  1. Cloudflare ダッシュボードManage Account > Members を開き、Invite Members を選ぶか、既存メンバーを開いて権限を編集します。
  2. 権限ポリシーを追加し、Cloudflare Tunnel インスタンスを対象とする リソーススコープのロール を選びます。
  3. ScopeSpecific resources を選びます。
  4. Resource typeCloudflare Tunnel instances に設定します。
  5. リソースピッカーから、対象の Tunnel を 1 つ以上選びます。
  6. ポリシーを保存します。

同じメンバーに複数の細かいポリシーを付けて、Tunnel ごとに異なるロールを割り当てられます。

リソース列挙

一覧エンドポイントは認可を考慮します。主体が一覧エンドポイントを呼び出すと、少なくとも読み取り権限がある Tunnel とルートだけが返ります。

エンドポイント メソッド 返す内容
/accounts/{account_id}/cfd_tunnel GET 主体が読み取りまたは管理できる Cloudflare Tunnel インスタンスです。
/accounts/{account_id}/teamnet/routes GET 主体が読み取りまたは管理できる Tunnel に付いているルートです。

Tunnel をカバーするアカウントレベルのロールを持つメンバーは、従来どおりアカウント内の全 Tunnel を見られます。

後方互換性

  • 既存のアカウントレベルのロールと API トークンは、これまでどおり動作します。
  • アカウントレベルのトークンで認証する既存の自動化(たとえば Cloudflare Access トークンを使う Terraform パイプライン)は影響を受けません。
  • 細かい権限はオプトインです。メンバーに付与すると能力が足されます。アカウントレベルのロールですでに持っている能力は削られません。

関連リソース

役に立ちましたか?