前言¶
企业从 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 文档。
七步工作流¶
- 识别源栈:Zscaler ZIA、Zscaler ZPA、Palo Alto NGFW/Prisma/GlobalProtect、legacy VPN/SWG/SD-WAN,或其他。
- 先索要导出与日志再映射:优先结构化 export,避免只靠截图或文字摘要。
- 建清单(inventory):身份与组、应用、目的地、connector/tunnel、DNS/URL/防火墙/DLP/TLS 策略、对象与列表、location/site、例外、命中计数、合规日志等。
- 产出映射计划:源对象、Cloudflare One 目标资源、置信度、前置条件、不支持/部分映射,以及需人工决策项。
- 按依赖顺序创建:身份/SCIM、connector/on-ramp、路由/DNS、列表/对象、TLS bypass、Access 应用与策略、Gateway 策略、DLP/CASB、日志等。
- 分阶段安全上线:使用 migration 前缀;默认创建 disabled 或 audit-mode 规则;小范围 pilot;对比日志后再扩大 rollout。
- 覆盖每一条源规则:每条规则必须映射到 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)¶
- ZIA/SWG 策略通常对应 Gateway traffic policies 与 Gateway 列表。
- ZPA 私有应用访问通常对应 Access 应用类型、Cloudflare Tunnel、私有网络路由/DNS,以及 Access policies。
- Palo Alto 规则需在理解流量方向、zone、对象、用户、应用、解密与命中计数后再映射;不应把 zone 盲目压平成列表。
- 传统 VPN 替换常见组合为 Access + Cloudflare One Client / WARP + Tunnel 或 Mesh;仅在需要站点到站点流量时考虑 Cloudflare WAN。具体模式可参考 Network VPN migration design guide 与 Replace your VPN。
迁移评估提示(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 与范围):
- 说明源栈(例如 ZIA + ZPA,或 Palo Alto Prisma + GlobalProtect)与已拿到的 export 类型。
- 要求按 Skill 工作流建 inventory,并列出尚缺的 export(对照「Exports To Ask For」)。
- 要求输出映射表:源对象、Cloudflare One 目标、置信度、部分/不支持项、人工决策与安全影响。
- 要求给出分阶段 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