Skip to content

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

認証

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

Artifacts は、インターフェースごとに異なる認証パスを使います。コードがリポジトリに到達する方法に応じて認証を選んでください。

先に Namespaces を確認し、各インターフェースで同じ名前空間名を一貫して使ってください。

認証方法を比較する

インターフェース 認証に使うもの 権限またはスコープ 用途
Workers binding 設定した artifacts バインディング Wrangler の認証は、devdeploy などのローカル 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 バインディングを認証する

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 devwrangler deploywrangler types などのローカル Wrangler コマンドでは、先に Wrangler を認証します。ローカルの OAuth 認証については、wrangler login を参照してください。CI やヘッドレス環境については、CI/CD で Wrangler を実行する を参照してください。

REST API を認証する

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 プロトコルを認証する

Git は、Cloudflare API トークンではなく、リポジトリスコープの Artifacts トークンを使います。Workers バインディングまたは REST API からこれらのトークンを発行し、リポジトリの remote URL と一緒に使います。

トークンスコープ 許可されるコマンド
read git clonegit fetchgit pull
write git clonegit fetchgit pullgit 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 を参照してください。

役に立ちましたか?