跳转到内容
搜索文档

快速入门

最后更新 查看 MarkdownAgent 设置

获得 Cloudflare 的配置功能访问权限后,您可以更轻松地创建和管理 Cloudflare 账户。以下步骤将指导您开始进行 API 调用以配置账户、用户和服务。

准备工作

渠道 (Channel) 和联盟 (Alliance) 合作伙伴账户设置

在使用 Tenant API 之前,您需要创建一个账户验证您的电子邮件地址添加您的账单信息

在您与 Cloudflare 签署合作伙伴协议后,Cloudflare 将在您的账户中添加特定的权利 (entitlements),允许您配置和管理自定义账户。如果您已签署合作伙伴协议,但您的账户尚未启用,MSP 合作伙伴应联系 [email protected],机构合作伙伴 (Agency Partners) 应联系 [email protected]

API 访问

您还需要获取您的 API 密钥来验证对 Tenant API 的请求。

有关使用 Cloudflare API 的更多详细信息,请参阅我们的 API 概述

步骤 1 - 创建账户

使用 Cloudflare 的每个客户或团队都应该有自己的账户。这可以确保适当的资源安全性和访问权限。每个账户都作为一个区域 (zones) 和其他资源的容器。根据您的需求,您甚至可以为单个客户或团队配置多个账户。

当您使用 Tenant API 创建账户时,您的 Cloudflare 用户从创建、后续管理直至最终删除都拥有该账户。

若要使用仪表板在您的租户下创建账户:

  1. 登录到 Cloudflare 仪表板
  2. 前往 Tenants(租户) > Managed Accounts(托管账户)
  3. 选择 Create Account(创建账户)
  4. 输入 Account Name(账户名称)Account Description(账户描述)Tenant Unit(租户单元)
  5. 选择合适的账户订阅。
  6. 选择 Add Account(添加账户)

要使用 API 创建账户,请向 /accounts 端点发送 POST 请求,并包含以下值:

  • name 字符串

    • 在 Cloudflare 仪表板中显示的账户名称。
  • type 枚举

    • 有效值包括 standard(默认)和 enterprise。对于自服务客户,请使用 standard。对于 enterprise 客户,请使用 enterprise
  • unit 对象

    • 与租户单元 (tenant unit) 相关的信息。

    • id 字符串

      • (可选)创建此账户所在的单元的 ID。如果用户管理多个租户,则需要指定此项。单元 ID 即是您的租户详情中的 unit_tag

Know-Your-Customer(KYC,可选)

所有 KYC 参数均为文本字段,有 120 个字符的限制,除非租户强制执行,否则均为可选。

  • business_name 字符串

    • (可选)与此账户关联的业务名称。
  • business_address 字符串

    • (可选)与此账户关联的业务地址。
  • business_email 字符串

    • (可选)与此账户关联的业务电子邮件。
  • business_phone 字符串

    • (可选)与此账户关联的业务电话号码。
  • external_metadata 字符串

    • (可选)此账户的外部元数据。
Requestbash
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 以及以下响应体:

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

包含单元 ID (unit ID) 的请求:

Requestbash
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 的请求:

Requestbash
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 用户账户,Cloudflare 将引导他们完成创建流程。创建完成后,他们将被授予对该账户及已创建的任何区域 (zones) 的访问权限。

使用仪表板

如果您想让客户访问他们各自的账户,这与您邀请团队成员协助管理账户的步骤是相同的。

使用 API

您还可以使用 API 来授予对 Cloudflare 仪表板的访问权限。

Requestbash
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 的速率限制 (rate limited),Cloudflare 建议您为每位客户创建独立的账户和用户。客户 A 所做的更改应通过用户 A 进行,客户 B 所做的更改应通过用户 B 进行。

要通过界面授予访问权限,您需要创建一个服务用户,因为不会有人用它登录仪表板。如果您计划使用此方法,Cloudflare 将允许您查看 API 密钥,以便以此用户身份进行 API 调用。

Requestbash
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]>"
}'
Responsejson
{
	"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 - 创建区域 (zone)

现在您有了客户账户和客户用户(或服务用户),您需要创建一个区域 (zone)。

为此,向 /zones 端点发送一个 POST 请求(包含您在步骤 1中收到的客户账户 ID)。

Requestbash
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 升级到付费的区域计划),请向 /zones/{zone_id}/subscription 端点发送 POST 请求,并包含以下值:

  • rate_plan 对象

    • 包含对应于客户在控制面板中订购的区域计划。有关可用值的列表,请参阅区域计划
  • component_values 数组

    • 视您的经销商协议而定的额外服务,例如额外的 page_rules
  • frequency 字符串

    • 订阅自动续订的频率(默认为 "monthly")。
Request (without `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"
}'
Request (with `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 对象

    • 包含对应于特定附加服务(add-on service)的账户订阅。有关可用值的列表,请参阅可用订阅
  • component_values 数组

    • 视您的经销商协议而定的额外服务,例如用于负载均衡 (load balancing) 的额外端点或 Cloudflare Zero Trust 的额外席位 (seats)。如果未包含,订阅将包含与每次购买相关联的默认值。
  • frequency 字符串

    • 订阅自动续订的频率(默认为 "monthly")。
Requestbash
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 账户没有区别。如需其他指导,请参阅我们的产品文档

这篇文档对您有帮助吗?