Skip to content

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

ロールと権限

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

権限ポリシー を通じて ロールスコープ を割り当て、Developer Platform リソースへのアクセス者と、その操作内容を制御できます。各ポリシーは、許可する操作を定義するロールと、操作が適用される場所を定義するスコープを組み合わせます。

Developer Platform 製品では、スコープを 3 つのレベルで設定できます。

レベル スコープ 使う場面
プラットフォーム アカウント上のすべての製品 Workers、R2、D1、KV、Durable Objects、Queues、Workers AI、Vectorize、Hyperdrive、その他の Developer Platform リソース全体へのアクセスを付与したいとき。
製品 1 つの製品内のすべてのリソース 他の製品へのアクセスを付与せずに、すべての Workers、すべての R2 バケット、またはすべての D1 データベースへのアクセスを付与したいとき。
リソース 製品内の 1 つのリソース 個別の Worker や R2 バケットなど、特定のリソースへのアクセスを付与したいとき。

ロール

付与したい権限のレベルを定義するには、次のいずれかのロールを割り当てます。

ロール 許可する内容
Metadata Read-Only リソース一覧、設定、メトリクス、ログ、トレースを表示します。コード、データ、保存オブジェクトなどの製品コンテンツは表示できません。
Content Read-Only Metadata Read-Only のすべてに加え、Worker コード、D1 データベースの行、R2 オブジェクトなどの製品コンテンツを読み取れます。変更はできません。
Editor Content Read-Only のすべてに加え、製品コンテンツと設定を更新できます。リソースの作成や削除はできません。
Admin リソースの作成と削除を含む完全な制御です。

メンバー、User Groups、API トークン

Developer Platform の権限は 2 通りで付与できます。

付与の種類 向いている用途 しくみ
MembersUser Groups ダッシュボードまたは API を使う人 メンバーがダッシュボードにサインインするか API に認証すると、権限が継承されます。
API トークン CI/CD システム、自動化、サービスアカウント トークン作成時に選んだ製品とリソースの権限だけをトークンが受け取ります。

メンバーと User Groups

ロールメンバー または User Group に割り当てると、そのユーザーが Cloudflare ダッシュボードまたは API を使うときにその権限が適用されます。

たとえば、プラットフォームレベルでメンバーに Metadata Read-Only を割り当てると、アカウント上のすべての Developer Platform 製品(Workers、R2、D1 など)の設定、メトリクス、ログ、トレースを表示できますが、コード、データ、保存オブジェクトなどの製品コンテンツは表示できません。

Workers 製品レベルで Metadata Read-Only を割り当てると、アカウント上のすべての Workers の設定と可観測性データを表示できますが、R2、D1、その他の製品は見えません。

単一の Worker に Metadata Read-Only を割り当てると、その Worker の設定と可観測性データだけが見えます。他の Workers や他の製品は見えません。

User Groups でチームのアクセスを管理する

同じチームやプロジェクトの複数人が同じアクセスを必要とする場合は、各メンバーに権限を割り当てる代わりに User Group を作成します。

権限ポリシーをグループに割り当て、関連するメンバーを追加します。各メンバーはグループのポリシーを自動的に継承します。

API トークン

CI/CD パイプライン、エージェント、スクリプト、その他の自動化システムがプログラムで Developer Platform リソースにアクセスする必要がある場合は、API トークン を使います。

たとえば、Worker コードの更新とデプロイが必要なデプロイパイプラインには、Workers Editor を持つ API トークンを作成します。

API トークンは製品レベルと、利用可能な場合はリソースレベルの権限に対応します。プラットフォームレベルの権限には対応しません。API トークンに幅広い Developer Platform アクセスを付与するには、トークンが必要とする各製品の製品レベル権限を選びます。

Wrangler で細かい権限を使う

Wrangler で細かい権限を使うには、アカウント所有の API トークンで認証します。

アカウント所有の API トークンで Wrangler を認証するには、必要な権限だけを持つトークンを作成し、次の環境変数を設定します。

export CLOUDFLARE_API_TOKEN="<YOUR_API_TOKEN>"
export CLOUDFLARE_ACCOUNT_ID="<YOUR_ACCOUNT_ID>"

Wrangler はトークンの権限を使います。トークンが特定の Worker にスコープされている場合、Wrangler はその Worker で許可された操作だけを実行できます。

Wrangler コマンドは、管理対象によって必要な権限が異なります。

やりたいこと Wrangler コマンドの例 必要なアクセス
既存の Worker をデプロイする wrangler deploy その Worker にスコープした Editor、または Workers 製品スコープの Editor
新しい Worker を作成する まだ存在しない Worker に対する wrangler deploy Workers 製品スコープの Admin
1 つの Worker のログを tail する wrangler tail その Worker にスコープした Metadata Read-Only、または Workers 製品スコープの Metadata Read-Only
KV namespace を一覧する wrangler kv namespace list KV を含むスコープでの Developer Platform Metadata Read-Only
KV namespace を作成する wrangler kv namespace create KV を含むスコープでの Developer Platform Admin
デプロイ中に Routes または Custom Domains を変更する wrangler deploy Worker の Editor に加え、影響を受けるすべてのゾーンの Workers Routes Write

バインディング

Workers KVR2D1 などのリソースへの バインディング を持つ Worker をデプロイするには、その Worker への Editor アクセスが必要です。Worker をデプロイするために、バインド先リソースへの別権限は不要です。

バインド先リソースへの権限が必要になるのは、それらのリソースに直接アクセスする場合だけです。たとえば、KV キーの読み取り、D1 データベースのクエリ、R2 オブジェクトの一覧です。

よくあるアクセスパターン

ユースケース スコープ ロール
すべての製品の設定、ログ、メトリクスを表示する プラットフォーム Metadata Read-Only
Worker コードを変更せずに読む Workers 製品 Content Read-Only
既存の任意の Worker をデプロイし、他製品にはアクセスしない Workers 製品 Editor
デプロイ中に Routes または Custom Domains を変更する Workers 製品と影響を受ける各ゾーン Editor と Workers Routes Write
既存の Worker の名前を変更する 個別の Worker または Workers 製品 Editor
Workers を作成または削除する Workers 製品 Admin
CI/CD またはエージェントからの自動デプロイ Workers 製品の API トークン Editor
特定の 1 つの Worker への自動デプロイ 個別 Worker の API トークン Editor

役に立ちましたか?