cloudflare-one-migrations:把 Zscaler、Palo Alto 与传统 VPN/SWG 迁到 Cloudflare One 的评估与落地

前言

企业从 Zscaler、Palo Alto、传统 VPN 或 SWG 迁到 Cloudflare One,难点往往不在「会不会配 Gateway」,而是源端策略体量、对象依赖、身份与 TLS/DLP 是否就绪,以及每条规则在目标侧有没有等价物。单靠通用对话很容易漏掉 parity gap,或在未核对官方文档与 API 的情况下写出看似完整、实则无法落地的配置。

下面介绍 Cloudflare 官方仓库中的 Agent Skill cloudflare-one-migrations:它把迁移评估、策略映射、rollout 顺序和常见陷阱写成固定工作流,并在生成具体配置前要求先拉取 Cloudflare 文档、API schema 与源厂商导出说明。

这是什么

cloudflare-one-migrations 是 Cloudflare Skills 集合里的一条 Skill,由 Cloudflare 维护,面向 Agent Skills 标准(上下文匹配时由 Agent 加载)。

官方描述为:评估并规划从现有 VPN、SWG 或 SASE 平台迁移到 Cloudflare One,包括策略映射、parity 缺口分析与 rollout。

适用对象主要是做 Cloudflare One 设计、实施或评审的工程师与架构师,尤其是正在处理 Zscaler ZIA/ZPA、Palo Alto NGFW/Prisma/GlobalProtect,或 legacy VPN/SWG/SD-WAN 替换的同学。

核心功能

Skill 正文强调:在生成精确配置之前,应先检索当前 Cloudflare 文档、Cloudflare API schema,以及源厂商的 export 文档。

七步工作流

  1. 识别源栈:Zscaler ZIA、Zscaler ZPA、Palo Alto NGFW/Prisma/GlobalProtect、legacy VPN/SWG/SD-WAN,或其他。
  2. 先索要导出与日志再映射:优先结构化 export,避免只靠截图或文字摘要。
  3. 建清单(inventory):身份与组、应用、目的地、connector/tunnel、DNS/URL/防火墙/DLP/TLS 策略、对象与列表、location/site、例外、命中计数、合规日志等。
  4. 产出映射计划:源对象、Cloudflare One 目标资源、置信度、前置条件、不支持/部分映射,以及需人工决策项。
  5. 按依赖顺序创建:身份/SCIM、connector/on-ramp、路由/DNS、列表/对象、TLS bypass、Access 应用与策略、Gateway 策略、DLP/CASB、日志等。
  6. 分阶段安全上线:使用 migration 前缀;默认创建 disabled 或 audit-mode 规则;小范围 pilot;对比日志后再扩大 rollout。
  7. 覆盖每一条源规则:每条规则必须映射到 Cloudflare 对象,或在表中明确「Not Migrated」并写明原因与安全影响。

应向源端索要的导出

  • ZIA:URL 过滤、防火墙过滤、SSL 检查、DLP、自定义 URL 分类、IP 组、网络服务/服务组、用户/组/部门、location、GRE tunnel、静态 IP 等。
  • ZPA:应用段、段组、server group、app connector/connector group、访问策略、IdP/组映射、私有 DNS 域、端口与协议等。
  • Palo Alto / Prisma:安全/NAT/解密规则、地址/服务对象与组、URL 分类、HIP profile、GlobalProtect 配置、Prisma Access remote network/service connection、zone、标签、日志与命中计数等。

映射启发式(Heuristics)

迁移评估提示(Assessment Prompts)

Skill 列出 Agent 在评估时应追问的维度,包括但不限于:

  • 源覆盖范围:哪些产品在范围内、有哪些 export、截图/摘要是否掩盖缺失的对象文件。
  • 规则量与命中数据:按类型的规则数量、禁用/陈旧规则、无命中规则、高命中规则、业务关键例外。
  • 对象依赖:地址/服务对象、组、自定义分类、网络服务、app ID、zone、标签、connector、server group 等。
  • 身份就绪:IdP、SCIM/组同步、组名规范化、单用户规则、本地组、服务账号、外包身份等。
  • TLS/DLP 就绪:源端解密规则、证书固定 bypass、DLP 引擎/配置文件、自定义正则、精确匹配数据、payload 日志预期等。
  • 连通性就绪:源 tunnel/connector、私有 DNS、Split Tunnels 或 bypass 行为、源 IP 保留、egress IP 白名单、站点到站点需求等。
  • Rollout 就绪:pilot 组/站点、并行运行期、回滚负责人、源栈下线标准、监控与日志对比计划。

源厂商常见陷阱(节选)

Zscaler ZIA / SWG

  • 自定义 URL 分类常会拆成多个 IP、域名、URL 列表;应统计生成的列表数量,而不只数源端分类。
  • 带 IP 的 ZIA location 可作源 IP 列表;它们不会自动变成用于 DNS 策略范围的 Gateway DNS locations。
  • GRE tunnel 源 IP 可辅助策略条件;传输层迁移属于 Cloudflare Mesh(原 WARP Connector)或 Cloudflare WAN 的另一条工作线。
  • CAUTION/warn 行为在 Gateway 中没有一一对应,应作为显式客户决策,而非默许 allow/block。
  • DLP 引擎与自定义正则通常需在 Cloudflare 侧手工重建 DLP profile;占位策略不得在 DLP 未完成时当作已启用。
  • 网络应用组与不支持的协议多为部分映射,启用前需复核。
  • 若无法使用 SCIM,身份范围的源规则可能过宽;创建规则前应核对 Gateway identity selectors,并考虑可执行的替代方案(如用户/邮件列表)。

Zscaler ZPA / Private Access

  • ZPA 的 app segment、server group、connector group 与 Cloudflare 并非 1:1;Cloudflare 将 Access 应用、tunnel 路由、DNS 与策略分开建模。
  • 仅通过 API 创建 tunnel 不等于 connector 已部署;需单独规划 cloudflared 安装、认证与源站可达性。
  • 建议按 ZPA connector group 各建一个 Cloudflare Tunnel(与 connector 运行状态 AUTHENTICATED/DISCONNECTED/disabled 无关);在 tunnel 描述中标记断开或遗留组,由客户在验证后决定是否下线。
  • 同一 connector group 内每个 ZPA connector 实例对应一个使用该 tunnel token 的 cloudflared 副本;副本数量应与组内实例数一致以保留拓扑。单个 tunnel token 可支撑多个同时运行的 cloudflared 进程。
  • 对每个 connector group,梳理其关联的 server group 及分配到这些 server group 的 app segment;段内 IP/CIDR 映射为对应 tunnel 的 CIDR 路由,域名为 hostname 路由;在子网能覆盖段内主机时,优先每子网一条 CIDR 路由,而非大量 /32。
  • ZPA bypass 在 Cloudflare 侧对应 Cloudflare One Client 的 split-tunnel exclude,而非 Access 的 bypass 决策;需在控制台将域名与 IP 加入设备 profile 的 split tunnel 排除列表,该步骤无 API 自动化,需客户手工配置。

同仓库中的 cloudflare-one Skill 侧重日常设计与排障;cloudflare-one-migrations 则专门覆盖从竞品或 legacy 栈迁入时的评估与映射,二者可配合使用。

安装与启用

Cloudflare Skills 支持多种 Agent 环境。与 cloudflare-one-migrations 同属 cloudflare/skills 仓库,安装方式以仓库 README 为准。

Cursor:从 Cursor Marketplace 安装,或在 Settings > Rules > Add Rule > Remote Rule (Github) 填入 cloudflare/skills。

Claude Code(插件市场):

/plugin marketplace add cloudflare/skills
/plugin install cloudflare@cloudflare

OpenAI Codex:

codex plugin marketplace add cloudflare/skills
codex plugin add cloudflare@cloudflare

安装后需新开一次 Codex 会话。

npx skills:

npx skills add https://github.com/cloudflare/skills

VS Code / GitHub Copilot:在设置中启用 chat.plugins.enabled,通过 Command Palette 运行 Chat: Install Plugin From Source,源地址为 https://github.com/cloudflare/skills。

仅支持 Agent Skills 标准、不能装完整插件时,可将仓库中对应 skill 目录复制到 Agent 规定的 skills 目录(例如 Cursor 为 ~/.cursor/skills/)。官方说明:Skill 会在对话匹配触发条件时自动加载并应用。

插件还捆绑 Cloudflare 主 MCP server(cloudflare),用于通过 Code Mode 访问 Cloudflare API 与当前开发者文档;迁移评估依赖文档与 schema 时,可与该 MCP 能力一并使用。

典型用法

Skill 没有单独的可执行 CLI,用法是让 Agent 在「迁移评估 / 策略映射 / rollout 计划 / gap 分析」类任务中加载该 Skill,并按正文工作流推进。下面是可以直接放进对话的提示方向(表述需结合你方真实 export 与范围):

  1. 说明源栈(例如 ZIA + ZPA,或 Palo Alto Prisma + GlobalProtect)与已拿到的 export 类型。
  2. 要求按 Skill 工作流建 inventory,并列出尚缺的 export(对照「Exports To Ask For」)。
  3. 要求输出映射表:源对象、Cloudflare One 目标、置信度、部分/不支持项、人工决策与安全影响。
  4. 要求给出分阶段 rollout:migration 前缀、默认 audit/disabled、试点范围、日志对比项与 Not Migrated 清单。

生成具体 Gateway/Access/Tunnel 配置前,应明确让 Agent 先查阅当前 Cloudflare 文档与 API schema,避免凭记忆写出过期字段。

适用场景与注意

适合谁

  • 正在做 SASE 或 Zero Trust 平台替换、需要结构化 parity 与上线顺序的团队。
  • 使用 Cursor、Claude Code、Codex、VS Code Copilot 等支持 Skills 的环境,希望减少「漏规则、漏 DLP、误把 ZPA bypass 当成 Access bypass」类错误的实施者。

限制与注意

  • Skill 提供方法论与映射启发式,不能替代源端真实 export、命中日志与客户安全策略决策。
  • 部分能力(如 ZPA bypass 对应的 split tunnel exclude)官方写明需客户在 Dashboard 手工配置,无 API 自动化。
  • DLP、TLS 解密、SCIM 未就绪时,Skill 明确要求不要用占位策略假装已完成。
  • 预抓取资料中 ZPA 小节之后尚有更多源厂商陷阱说明;完整列表以 官方 Skill 目录 为准。

结尾

cloudflare-one-migrations 把企业迁到 Cloudflare One 时最常踩坑的清单、映射顺序和分阶段上线约束写进 Agent 上下文,并与 Cloudflare 文档、API schema 对齐后再产出配置,适合作为 B 端 SASE 迁移场景的官方背书参考。

官方地址:https://github.com/cloudflare/skills/tree/main/skills/cloudflare-one-migrations
集合与安装说明:https://github.com/cloudflare/skills

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜