Secrets Store は、ロールベースのアクセス制御により、セキュリティ管理者がより細かく制御できるようにします。Cloudflare のロールの詳細は Fundamentals を参照してください。
シークレットへのアクセスは、次の 2 つの独立した確認が両方通ったときだけ許可されます。
- 認可 — 呼び出し元に、その操作を行う権限が必要です。権限は、ユーザーロール(ダッシュボードがリクエストを認証する場合)か API トークン権限(API トークンでリクエストする場合)のどちらかから来ます。1 つのリクエストはどちらか一方で評価され、両方では評価されません。
- シークレットのスコープ — シークレットの スコープ一覧 に、利用するサービスが含まれている必要があります。
たとえば、シークレットをバインドする Worker をデプロイするには、シークレットをバインドできるロールまたは API トークンと、スコープに workers を含むシークレットが必要です。
デフォルトのロール定義は、次の一覧を参照してください。
- シークレットのメタデータを作成、編集、複製、削除、表示できます。
- Worker に Secrets Store バインディングを追加 できます。
- シークレットと AI Gateway の関連付けを作成 できます。
- シークレットのメタデータを作成、編集、複製、削除、表示できます。
- シークレットのメタデータを表示できますが、作成、編集、複製、削除はできません。
- Worker に Secrets Store バインディングを追加 できます。
- シークレットと AI Gateway の関連付けを作成 できます。
- シークレットのメタデータを表示できます。
- 操作(シークレットの作成、編集、複製、削除)はできません。ほかの Cloudflare 製品との Secrets Store 連携も使えません。
API トークン には、Secrets Store 向けの権限レベルが 2 つあります。Read と Edit です。必要な権限は、シークレット自体を触るつもりかどうかではなく、トークンが行う操作で決まります。
- Account Secrets Store Read: シークレットのメタデータを表示できます(シークレットの一覧、または名前、ID、スコープ、コメントの取得など)。この権限ではシークレットの値にはアクセスできず、シークレットを別リソースへバインドすることもできません。
- Account Secrets Store Edit: シークレットの作成、編集、複製、削除ができます。別の Cloudflare リソースへシークレットをバインドする場合にも Edit が必要です。Worker への Secrets Store バインディング追加や、AI Gateway へのシークレット関連付けなどが該当します。リソースへのシークレットの紐づけは、そのシークレットに対する書き込みとして扱われます。
各シークレットには、どの Cloudflare サービスが利用できるかを決める スコープ の一覧があります。スコープはシークレット作成時に設定し、あとから編集して更新できます。
現在サポートしているスコープは次のとおりです。
workers— シークレットを Worker にバインド できます。ai-gateway— シークレットを AI Gateway に関連付け できます。
サービスがスコープ一覧にない場合、呼び出し元に正しいロールまたは API トークン権限があっても、そのサービスへのバインドや関連付けは拒否されます。Secrets Store バインディング付きの Worker をデプロイするには、次の両方が必要です。
- シークレットをバインドできるユーザーロールまたは API トークン(Super Administrator または Secrets Store Deployer ロール、あるいは Account Secrets Store Edit API トークン権限)。
- シークレットのスコープ一覧に
workersが含まれていること。
スコープは、ダッシュボード、API(scopes フィールド)、または Wrangler(--scopes フラグ)で シークレットを作成する ときに設定できます。