Skip to content

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

認証済みゲートウェイ

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

AI Gateway は、リクエストごとに有効な Cloudflare API トークンを要求します。不正アクセスを防ぎ、ログ保存量を膨らませる無効なリクエストからも守れます。

REST API を使う場合は、標準の Authorization ヘッダーに Cloudflare API トークンを渡します。gateway.ai.cloudflare.comプロバイダーネイティブエンドポイント を使う場合は、代わりに cf-aig-authorization ヘッダーを使います。

ダッシュボードで Authenticated Gateway を設定する

  1. 認証を有効にするゲートウェイの Settings を開きます。
  2. Create authentication token を選択し、必要な Run 権限付きのカスタムトークンを生成します。このトークンは再表示されないため、安全に保存してください。
  3. 各リクエストに API トークンを含めます。
    • REST API(/ai/run)を使う場合は、標準の Authorization ヘッダーに Cloudflare API トークンを含めます。
    • gateway.ai.cloudflare.comプロバイダーネイティブエンドポイント を使う場合は、cf-aig-authorization ヘッダーを使います。
  4. 設定ページに戻り、Authenticated Gateway をオンにします。

リクエストの例

# Run `wrangler whoami` to get your account ID to replace $CLOUDFLARE_ACCOUNT_ID,
# and `wrangler auth token` to get an auth token to replace $CLOUDFLARE_API_TOKEN.
curl -X POST "https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/v1/chat/completions" \
  --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"model": "openai/gpt-4.1-mini", "messages": [{"role": "user", "content": "What is Cloudflare?"}]}'

OpenAI SDK を使う場合:

import OpenAI from "openai";

const openai = new OpenAI({
	apiKey: CLOUDFLARE_API_TOKEN,
	baseURL: `https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/ai/v1`,
});

const response = await openai.chat.completions.create({
	model: "openai/gpt-4.1-mini",
	messages: [{ role: "user", content: "What is Cloudflare?" }],
});

Vercel AI SDK を使う場合:

import { createOpenAI } from "@ai-sdk/openai";

const openai = createOpenAI({
	apiKey: CLOUDFLARE_API_TOKEN,
	baseURL: `https://api.cloudflare.com/client/v4/accounts/${ACCOUNT_ID}/ai/v1`,
});

想定される動作

認証設定とヘッダーの有無に応じたゲートウェイの動作は、次のとおりです。

認証設定 ヘッダー ゲートウェイの状態 レスポンス
オン ヘッダーあり 認証済みゲートウェイ リクエストは成功します
オン ヘッダーなし エラー 認可がないためリクエストは失敗します
オフ ヘッダーあり 未認証ゲートウェイ リクエストは成功します
オフ ヘッダーなし 未認証ゲートウェイ リクエストは成功します

役に立ちましたか?