Artifacts は、インターフェースごとに異なる認証パスを使います。コードがリポジトリに到達する方法に応じて認証を選んでください。
先に Namespaces を確認し、各インターフェースで同じ名前空間名を一貫して使ってください。
| インターフェース | 認証に使うもの | 権限またはスコープ | 用途 |
|---|---|---|---|
| Workers binding | 設定した artifacts バインディング |
Wrangler の認証は、dev と deploy などのローカル Wrangler コマンドだけに使います。 |
env.ARTIFACTS を呼び出す Worker コード |
| REST API | Authorization: Bearer ... の Cloudflare API トークン |
読み取りルートは Artifacts > Read、書き込みルートは Artifacts > Edit。 | コントロールプレーンの HTTP リクエスト |
| Git protocol | リポジトリスコープの Artifacts トークン | clone、fetch、pull は read。push は write。 |
標準の Git over HTTPS |
Cloudflare API トークンはコントロールプレーンのアクセスを認証します。リポジトリスコープの Artifacts トークンは Git アクセスを認証します。
Workers バインディングは、Wrangler で設定する artifacts バインディングを使います。Worker コードは env.ARTIFACTS を呼び出すときにトークンを渡しません。
Wrangler 設定にバインディングを追加します。
{
"$schema": "./node_modules/wrangler/config-schema.json",
"name": "artifacts-worker",
"main": "src/index.ts",
// Set this to today's date
"compatibility_date": "2026-09-20",
"artifacts": [
{
"binding": "ARTIFACTS",
"namespace": "default"
}
]
}name = "artifacts-worker"
main = "src/index.ts"
# Set this to today's date
compatibility_date = "2026-09-20"
[[artifacts]]
binding = "ARTIFACTS"
namespace = "default"実行時、デプロイ済みの Workers は設定したバインディングを直接使います。wrangler dev、wrangler deploy、wrangler types などのローカル Wrangler コマンドでは、先に Wrangler を認証します。ローカルの OAuth 認証については、wrangler login を参照してください。CI やヘッドレス環境については、CI/CD で Wrangler を実行する を参照してください。
REST API は、Authorization ヘッダーの Cloudflare API トークンを使います。
export ACCOUNT_ID="<YOUR_ACCOUNT_ID>"
export ARTIFACTS_NAMESPACE="default"
export CLOUDFLARE_API_TOKEN="<YOUR_API_TOKEN>"
export ARTIFACTS_BASE_URL="https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/artifacts/namespaces/$ARTIFACTS_NAMESPACE"リポジトリのメタデータを読み取ります。
curl "$ARTIFACTS_BASE_URL/repos/starter-repo" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"リポジトリを作成します。
curl --request POST "$ARTIFACTS_BASE_URL/repos" \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "starter-repo"
}'Git は、Cloudflare API トークンではなく、リポジトリスコープの Artifacts トークンを使います。Workers バインディングまたは REST API からこれらのトークンを発行し、リポジトリの remote URL と一緒に使います。
| トークンスコープ | 許可されるコマンド |
|---|---|
read |
git clone、git fetch、git pull |
write |
git clone、git fetch、git pull、git push |
Workers バインディングまたは REST API が返すリポジトリの remote 値を、そのまま使います。
export ARTIFACTS_REMOTE="<PASTE_REMOTE_FROM_CREATE_OR_GET_RESPONSE>"読み取りトークンでクローンします。
git -c http.extraHeader="Authorization: Bearer <YOUR_READ_TOKEN>" clone "$ARTIFACTS_REMOTE" artifacts-clone書き込みトークンでプッシュします。
git -c http.extraHeader="Authorization: Bearer <YOUR_WRITE_TOKEN>" push "$ARTIFACTS_REMOTE" HEAD:mainトークンの扱いと認証済みリモートについて詳しくは、Git protocol を参照してください。