客户端版本分配允许您从 Cloudflare 仪表板针对一组设备指定特定的 Cloudflare One Client(前称 WARP)版本,而无需修改您的 MDM 文件 或要求用户自行更新客户端。
一旦设置了分配,匹配的设备将在后台静默升级或降级到目标版本。在运行安装程序时,终端用户将在客户端 GUI 中看到 **Update in progress(正在更新)**的条幅。更新完成后,客户端将恢复正常运行。
功能可用性
| 客户端模式 | Zero Trust 计划 ↗ |
|---|---|
| 所有模式 | 所有计划 |
| 系统 | 可用性 | 最低客户端版本 |
|---|---|---|
| Windows | ✅ | 2026.6.0 |
| macOS | ✅ | 2026.6.0 |
| Linux | ❌ | — |
| iOS | ❌ | — |
| Android | ❌ | — |
| ChromeOS | ❌ | — |
**部署组(deployment group)**将一个或多个目标客户端版本与您的设备配置文件中的一个或多个策略 ID 关联起来。组中的每个条目都指定了一个 target_environment(windows 或 macos)以及要在该平台上部署的 version。单个部署组可以同时针对两个平台。
当您保存部署组时,Cloudflare API 会将分配推送到其设备配置文件策略 ID 在该组中的每台设备上。每台设备随后将:
- 在下次注册刷新时,将其运行版本与分配的版本进行对比。
- 如果版本不同,下载目标安装程序并验证其加密签名。
- 静默运行安装程序,并在新版本就位后恢复正常运行。
客户端通过一个单独的持久性 OS 服务来协调安装,该服务随客户端版本 2026.6.0 及更高版本中的现有服务一起提供。如果任何步骤失败(下载、签名验证或安装),设备将保持在之前的版本并保持功能正常。
- 在 Cloudflare 仪表板 ↗ 中,转到 Zero Trust > Team & Resources(团队和资源) > Devices(设备)。
- 选择 **Management(管理)**选项卡。
- 在 **Client version assignments(客户端版本分配)**下,选择 Manage(管理)。
- 选择 Create new deployment group(创建新的部署组)。
- 在 **Name your deployment group(为您的部署组命名)**下,输入一个名称。
- 在 **Select device profiles(选择设备配置文件)**下,选择一个或多个其设备应接收此分配的设备配置文件。
- 在 **Assign client version(分配客户端版本)**下,选择操作系统、发布通道和客户端版本。要针对同一组的其他平台,选择 Add OS(添加操作系统) 并重复步骤。
- 选择 Save(保存)。
向 Deployment Groups API 发送 POST 请求:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/devices/deployment-groups" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Engineering Ring 0",
"version_config": [
{
"target_environment": "windows",
"version": "2026.6.0"
},
{
"target_environment": "macos",
"version": "2026.6.0"
}
],
"policy_ids": [
"<POLICY_UUID_1>",
"<POLICY_UUID_2>"
]
}'-
将以下权限添加到您的
cloudflare_api_token↗ 中:Zero Trust Write
-
使用
cloudflare_zero_trust_device_deployment_groups↗ 资源创建部署组:resource "cloudflare_zero_trust_device_deployment_groups" "example" { account_id = var.cloudflare_account_id name = "Engineering Ring 0" version_config = [ { target_environment = "windows" version = "2026.6.0" }, { target_environment = "macos" version = "2026.6.0" }, ] policy_ids = [ "<POLICY_UUID_1>", "<POLICY_UUID_2>", ] }
在您创建、更新或删除部署组后,API 会通知受影响的设备发生了更改。传递可能需要长达 15 分钟。一旦设备收到通知,它会在不久后评估分配,如果与运行版本不同,则会安装目标版本。
在以下其他情况下,设备也会重新评估它们收到的最新分配:
- 当客户端服务启动或重启时。
- 当设备从睡眠状态唤醒时。
要确认设备已收到其分配的版本,请在设备上打开终端并运行:
warp-cli settings输出的 version_config 下将包含解析出的目标版本。如果设备尚未运行该版本,下一次评估将触发安装。
您可以通过在 MDM 文件中将 allow_managed_deployments 设置为 false,从而在单台设备上抑制客户端版本分配。当此参数为 false 时,设备将忽略仪表板中的任何分配并保持其当前版本。这适用于必须通过 MDM 而不是仪表板固定版本的设备。
- 设备必须运行客户端版本
2026.6.0或更高版本才能应用分配。较旧的版本会完全忽略该分配。 - 一旦设备上开始安装,就无法取消。在设备仍在下载上一个目标时更改目标版本,可以干净地取消下载。
- 每个设备配置文件策略 ID 一次只能属于一个部署组。
从版本 2026.6.0 开始,客户端安装会添加第二个持久的操作系统服务,用以处理由客户端版本分配触发的更新。如果您的端点保护或防病毒工具维护了进程或服务允许列表,请将以下条目与您现有的 Cloudflare One Client 条目一起添加:
| 平台 | 服务标识符 | 进程名称 |
|---|---|---|
| macOS | com.cloudflare.warp.updater |
warp-updater |
| Windows | CloudflareWARPUpdater |
warp-updater-armed.exe |
如果设备没有收到其分配的版本,请使用 warp-diag 收集诊断日志。诊断归档包含一个 updater/ 目录,其中包含每次尝试的安装程序日志以及您可以与 Cloudflare 支持共享的人类可读的更新历史摘要。