Skip to content

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

はじめに

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

Cloudflare のプロビジョニング機能を使うと、Cloudflare アカウントの作成と管理がしやすくなります。次の手順で、アカウント、ユーザー、サービスのプロビジョニング向け API 呼び出しを始められます。

始める前に

Channel および Alliance パートナーアカウントのセットアップ

Tenant API を使う前に、アカウントを作成 し、メールアドレスを確認 し、請求情報を追加 する必要があります。

Cloudflare とパートナー契約を結ぶと、Cloudflare がアカウントに 特定のエンタイトルメント を追加し、カスタムアカウントのプロビジョニングと管理ができるようになります。パートナー契約を締結済みで、まだアカウントが有効になっていない場合、MSP パートナーは [email protected]、Agency Partners は [email protected] へ連絡してください。

API アクセス

Tenant API へのリクエストを認証するには、API キーを取得 する必要があります。

Cloudflare API の使い方について詳しくは、API の概要 を参照してください。

ステップ 1 - アカウントを作成する

Cloudflare を使う顧客またはチームは、それぞれ独自のアカウントを持つ必要があります。これにより、リソースのセキュリティとアクセスを適切に保てます。各アカウントは、ゾーンとその他のリソースのコンテナーとして機能します。必要に応じて、1 つの顧客またはチームに対して複数のアカウントを用意することもできます。

Tenant API でアカウントを作成すると、そのアカウントは作成から継続管理、最終的な削除まで、Cloudflare ユーザーが所有します。

ダッシュボードでテナント配下にアカウントを作成する手順は次のとおりです。

  1. Cloudflare ダッシュボード にログインします。
  2. Tenants > Managed Accounts を開きます。
  3. Create Account を選びます。
  4. Account NameAccount DescriptionTenant Unit を入力します。
  5. 適切なアカウントのサブスクリプションを選びます。
  6. Add Account を選びます。

API でアカウントを作成するには、/accounts エンドポイントに POST リクエストを送り、次の値を含めます。

  • name string

    • Cloudflare ダッシュボードに表示されるアカウント名です。
  • type enum

    • 有効な値は standard(デフォルト)と enterprise です。セルフサービスのお客様は standard を、Enterprise のお客様は enterprise を使います。
  • unit object

    • テナントユニットに関する情報です。

    • id string

      • (任意)このアカウントを作成するユニットの ID です。ユーザーが複数のテナントを管理している場合は指定が必要です。ユニット ID は テナント詳細unit_tag です。

Know-Your-Customer(任意)

KYC パラメーターはすべてテキストフィールドで、120 文字制限があります。Tenant 側で必須になっていない限り、任意です。

  • business_name string

    • (任意)このアカウントに紐づく事業者名です。
  • business_address string

    • (任意)このアカウントに紐づく事業者の住所です。
  • business_email string

    • (任意)このアカウントに紐づく事業者のメールアドレスです。
  • business_phone string

    • (任意)このアカウントに紐づく事業者の電話番号です。
  • external_metadata string

    • (任意)このアカウントの外部メタデータです。
リクエストbash
curl "https://api.cloudflare.com/client/v4/accounts" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "name": "<ACCOUNT_NAME>",
  "type": "standard"
}'

成功すると、HTTP ステータス 200 と次のレスポンス本文が返ります。

レスポンスjson
{
  "result": {
    "id": "2bab6ace8c72ed3f09b9eca6db1396bb",
    "name": "<ACCOUNT_NAME>",
    "type": "standard",
    "settings": {
      "enforce_twofactor": false
    }
  },
  "success": true,
  "errors": [],
  "messages": []
}

ユニット ID を含むリクエスト:

リクエストbash
curl "https://api.cloudflare.com/client/v4/accounts" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "name": "<ACCOUNT_NAME>",
  "type": "standard",
  "unit": {
    "id": "1a2b3c4d5e6f7g8h"
  }
}'

ユニット ID と KYC を含むリクエスト:

リクエストbash
curl "https://api.cloudflare.com/client/v4/accounts" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "name": "<ACCOUNT_NAME>",
  "type": "standard",
  "business_name": "Cloudflare",
  "business_email": "[email protected]",
  "business_address": "San Francisco",
  "business_phone": "1234567890",
  "external_metadata": "{'\''testKey'\'': '\''testValue'\''}",
  "unit": {
    "id": "1a2b3c4d5e6f7g8h"
  }
}'

ステップ 2 - ユーザーアクセスを付与する

アカウントを作成したら、お客様に Cloudflare への直接アクセスを付与するか、お客様が操作するインターフェースを構築する必要があります。

前者は Cloudflare のすべての側面をお客様が制御できます。後者は、お客様の Cloudflare 体験を、あなたが管理し、お客様がすでに使い慣れているダッシュボードへ統合できます。

選択肢 1 - Cloudflare への直接アクセス

アカウントへのユーザーアクセスを付与すると、Cloudflare はそのユーザーへ招待を送り、アカウントへアクセスできるようにします。Cloudflare ユーザーをまだ持っていない場合は、作成手順へ案内します。作成後、アカウントと、すでに作成済みのゾーンへのアクセスが付与されます。

ダッシュボードを使う

お客様に個別アカウントへのアクセスを付与する方法は、アカウント管理を手伝う チームメイトを招待する 場合と同じです。

API を使う

API を使って、Cloudflare ダッシュボードへのアクセスを付与することもできます。

リクエストbash
curl 'https://api.cloudflare.com/client/v4/accounts/<CUSTOMER_ACCOUNT_ID>/members' \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "email": "<CUSTOMER_EMAIL>",
  "roles": ["<USER_ROLE>"]
}'

多くの場合、新しいユーザーにはロール Administrator を付けます。このロールの ID は常に 05784afa30c1afe1440e79d9351c7430 です。

お客様が Enterprise プランの場合は、より幅広いユーザーロールを使えます。利用可能なロールの一覧を取得するには、API へ GET リクエストを送ります。

選択肢 2 - インターフェース経由のアクセス

お客様の Cloudflare の使い方をより強く制御したい場合や、お客様がすでに知っている既存ダッシュボードを使わせたい場合は、Cloudflare API でその体験を構築します。

つまり、お客様の代わりに Cloudflare へ API を呼び出すことになります。API の レート制限 を避けるため、Cloudflare はお客様ごとにアカウントとユーザーを作成することを推奨します。顧客 A の変更はユーザー A 経由、顧客 B の変更はユーザー B 経由で行います。

インターフェース経由でアクセスを付与する場合は、サービスユーザーを作成します。このユーザーでダッシュボードにログインする人はいません。この方法を使う場合、Cloudflare はこのユーザーとして API を呼び出せるよう、API キーを表示できるようにします。

リクエストbash
curl "https://api.cloudflare.com/client/v4/users" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "email": "<[email protected]>"
}'
レスポンスjson
{
	"result": {
		"id": "60758bd48392a06215ae817bc35084b6",
		"email": "<[email protected]>",
		"first_name": null,
		"last_name": null,
		"username": "17bd2796b374cec14976ac3bced85c05",
		"telephone": null,
		"country": null,
		"created_on": "2019-02-21T23:20:28.645256Z",
		"modified_on": "2019-02-21T23:20:28.645256Z",
		"two_factor_authentication": {
			"enabled": false,
			"locked": false
		},
		"api_key": "xxx"
	},
	"success": true,
	"errors": [],
	"messages": []
}

ステップ 3 - ゾーンを作成する

顧客アカウントと顧客ユーザー(またはサービスユーザー)を用意したら、ゾーンを作成します。

/zones エンドポイントへ POST リクエストを送ります(ステップ 1 で受け取った顧客アカウント ID を含めます)。

リクエストbash
curl "https://api.cloudflare.com/client/v4/zones" \
--header "X-Auth-Email: <EMAIL>" \
--header "X-Auth-Key: <API_KEY>" \
--header "Content-Type: application/json" \
--data '{
  "name": "example.com",
  "account": {
    "id": "<CUSTOMER_ACCOUNT_ID>"
  }
}'

ステップ 4 - ゾーンプランのサブスクリプションを作成する

顧客向けのゾーンをプロビジョニングしたら、リセラー契約に基づく適切なゾーンプランを追加できます。

ゾーンサブスクリプションを作成します。通常は、ゾーンのプランを PARTNERS_FREE から有料の Zone プラン にアップグレードするために使います。/zones/{zone_id}/subscription エンドポイントに POST リクエストを送信し、次の値を含めます。

  • rate_plan オブジェクト

    • お客様がダッシュボードで注文するゾーンプランに対応します。利用可能な値の一覧は ゾーンサブスクリプション を参照してください。
  • component_values 配列

    • リセラー契約に応じた追加サービスです。追加の page_rules などがあります。
  • frequency 文字列

    • サブスクリプションを自動更新する頻度です(デフォルトは "monthly")。
リクエスト(`component_values` なし)bash
curl 'https://api.cloudflare.com/client/v4/zones/{zone_id}/subscription' \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "rate_plan": {
    "id": "<RATE_PLAN>"
  },
  "frequency": "annual"
}'
リクエスト(`component_values` あり)bash
curl 'https://api.cloudflare.com/client/v4/zones/{zone_id}/subscription' \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "rate_plan": {
    "id": "PARTNERS_BIZ"
  },
  "component_values": [
    {
      "name": "page_rules",
      "value": 50
    }
  ]
}

ステップ 5 - ほかのサブスクリプションを作成する

契約によっては、ほかのアドオンサービスを再販できます。これらはアカウントレベルのサブスクリプションとしてプロビジョニングします。

アカウントサブスクリプションを作成するには、/accounts/{account_id}/subscriptions エンドポイントへ POST リクエストを送り、次の値を含めます。

  • rate_plan object

  • component_values array

    • リセラー契約に応じた追加サービスです。例として、Load Balancing の追加エンドポイントや Cloudflare Zero Trust の追加シートがあります。含めない場合、サブスクリプションには各購入に関連するデフォルト値が入ります。
  • frequency string

    • サブスクリプションが自動更新される間隔です(デフォルトは "monthly")。
リクエストbash
curl 'https://api.cloudflare.com/client/v4/accounts/{account_id}/subscriptions' \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "rate_plan": {
    "id": "<RATE_PLAN_NAME>"
  }
}'

ステップ 6 - ゾーンとサービスを設定する

必要なサブスクリプションを追加したら、各種サービスの設定と、アカウントおよびゾーン設定の調整に進めます。

設定は、アカウントへのアクセス権(と適切なユーザー権限)を持つ人が行えます。手順は、ほかの Cloudflare アカウントの設定と同じです。追加の案内は 製品ドキュメント を参照してください。

役に立ちましたか?