Flagship は 2 種類の API トークンに対応しています。どちらも同じ API トークンを作成する 手順を使います。違いは、権限ポリシーが適用されるリソースです。
| トークンの種類 | リソース | アクセスできる範囲 |
|---|---|---|
| アカウント全体 | Entire Account | アカウント内のすべての Flagship アプリ |
| アプリスコープ | Specified Flagship apps | 選んだ Flagship アプリだけ |
信頼できるサーバーサイドのワークフローが、すべての Flagship アプリにアクセスする必要があるときは、アカウント全体のトークンを使います。選んだアプリだけに触れてほしいときは、アプリスコープのトークンを使います。たとえば、1 つの製品向けの CI やバックエンドサービスです。
どちらのトークンも Read、Write、Evaluate に対応しています。名前はリソースに応じて変わります。
| アクセス | アカウント全体 | アプリスコープ |
|---|---|---|
| フラグを評価する | Flagship Evaluate | Flagship App Evaluate |
| フラグ設定を読み取る | Flagship Read | Flagship App Read |
| フラグを管理する | Flagship Write | Flagship App Write |
アプリスコープのトークンを作成する前に、Flagship アプリを作成 する必要があります。ダッシュボードには、すでに存在するアプリだけが一覧表示されます。
アカウント全体の Flagship トークンを作成する ↗ と、Account API tokens ページが開きます。カスタムトークンを作成し、リソースは Entire Account のままにします。
自分でトークンを作成する手順は次のとおりです。
-
Cloudflare ダッシュボードで Account API tokens ページに移動します。
Account API tokens を開く ↗My Profile ↗ > API Tokens からユーザートークンを作成することもできます。
-
Create Token を選択します。
-
Create Custom Token > Get started を選択します。
-
トークン名を入力します。
-
Permission policies で、リソースのドロップダウンは Entire Account のままにします。
-
Flagship を検索し、Flagship Evaluate、Flagship Read、または Flagship Write を選択します。
-
(任意)IP アドレスフィルターまたは TTL でトークンを制限します。
-
Review token > Create Token を選択します。
-
トークンシークレットをコピーし、安全に保管します。
アプリスコープの Flagship トークンを作成する ↗ と、Specified Flagship apps と Flagship App Evaluate があらかじめ選ばれたトークン作成画面が開きます。アプリを選び、トークンを作成します。
自分でトークンを作成する手順は次のとおりです。
-
Cloudflare ダッシュボードで Account API tokens ページに移動します。
Account API tokens を開く ↗My Profile ↗ > API Tokens からユーザートークンを作成することもできます。
-
Create Token を選択します。
-
Create Custom Token > Get started を選択します。
-
使う場所が分かるトークン名を入力します。例:
checkout-service-ci。 -
Permission policies で、リソースのドロップダウン(デフォルトは Entire Account)を開き、Specified Flagship apps を選択します。
-
Select Flagship apps で、このトークンがアクセスするアプリを選びます。
-
Developer Platform で Flagship App 権限を選びます。
用途 権限 選んだアプリでフラグを評価する Flagship App Evaluate 選んだアプリのフラグ設定を読み取る Flagship App Read 選んだアプリでフラグを管理する Flagship App Write -
(任意)IP アドレスフィルターまたは TTL でトークンを制限します。
-
Review token > Create Token を選択します。
-
トークンシークレットをコピーし、安全に保管します。
トークンは OpenFeature SDK に、TypeScript では authToken として渡します。Python と Go では、同等のオプションを使います。
import { OpenFeature } from "@openfeature/server-sdk";
import { FlagshipServerProvider } from "@cloudflare/flagship/server";
await OpenFeature.setProviderAndWait(
new FlagshipServerProvider({
appId: "<APP_ID>",
accountId: "<ACCOUNT_ID>",
authToken: "<APP_SCOPED_API_TOKEN>",
}),
);<APP_ID> と <ACCOUNT_ID> は、トークンのスコープ対象のアプリとアカウントに置き換えます。別のアプリを評価しようとすると、アプリスコープのトークンは拒否されます。
Cloudflare Worker 内では、バインディング を優先してください。バインディングは自動で認証するため、API トークンは不要です。
- Workers の外では TypeScript Server SDK をセットアップします。
- IP フィルターまたは TTL でトークンの利用を制限します。