关于 cloudflare-one-migrations
用于将 Zscaler、Palo Alto、VPN 等安全配置迁移到 Cloudflare One 的规划技能,强调基于导出文件盘点、标明不完整映射,并在启用策略前分阶段验证。
主要功能
- 01源配置导出盘点
- 02Cloudflare One 映射计划
- 03按依赖关系安排迁移
- 04分阶段部署指导
- 05逐条规则核算
- 06验证与回滚关卡
适用场景
- 01评估 ZIA 或 ZPA 迁移范围
- 02将 Palo Alto 策略映射到 Cloudflare
- 03规划 VPN 或 SWG 替换
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cloudflare/ skills --skill cloudflare-one-migrations安装后在 Claude Code 中输入/cloudflare-one-migrations确认已加载。
详细介绍
Cloudflare One 迁移
生成精确配置前,请先检索最新的 Cloudflare 文档、Cloudflare API 架构和源厂商导出文档。
工作流
- 确定源技术栈:Zscaler ZIA、Zscaler ZPA、Palo Alto NGFW/Prisma/GlobalProtect、旧版 VPN/SWG/SD-WAN 或其他。
- 映射前先索取导出文件和日志。优先使用结构化导出,而非截图或文字摘要。
- 建立清单:身份、群组、应用、目标、连接器/隧道、DNS/URL/防火墙/DLP/TLS 策略、对象/列表、位置/站点、例外、命中次数和合规日志记录。
- 制定映射计划:源对象、Cloudflare One 目标资源、可信度、前提条件、不支持/部分支持的映射,以及需要人工决策的事项。
- 优先创建依赖项:身份/SCIM、连接器/接入点、路由/DNS、列表/对象、TLS 绕过项、Access 应用/策略、Gateway 策略、DLP/CASB、日志记录。
- 安全地分阶段实施:使用迁移前缀,默认创建已禁用/审计模式规则,先在小型群组/站点中试点、对比日志,然后扩大部署范围。
- 逐一处理所有源规则。每条规则都必须映射到 Cloudflare 对象,或在明确说明原因和安全影响的“未迁移”行中列出。
需要索取的导出文件
- ZIA:URL 过滤、防火墙过滤、SSL 检查、DLP、自定义 URL 类别、IP 群组、网络服务/服务群组、用户/群组/部门、位置、GRE 隧道和静态 IP。
- ZPA:应用网段、网段群组、服务器群组、应用连接器/连接器群组、访问策略、IdP/群组映射、专用 DNS 域名、端口和协议。
- Palo Alto/Prisma:安全/NAT/解密规则、地址/服务对象及群组、URL 类别、HIP 配置文件、GlobalProtect 配置、Prisma Access 远程网络/服务连接配置、区域、标签、日志和命中次数。
映射启发式
- ZIA/SWG 策略通常映射到 Gateway 流量策略和 Gateway 列表。
- ZPA 专用应用访问通常映射到 Access 应用类型、Cloudflare Tunnel、专用网络路由/DNS 和 Access 策略。
- 只有在了解流量方向、区域、对象、用户、应用、解密情况和命中次数后,才能映射 Palo Alto 规则。不要不加区分地将区域合并为列表。
- 旧版 VPN 的替代方案通常是使用 Access + Cloudflare One Client / WARP + Tunnel 或 Mesh 来访问应用。只有在需要站点到站点流量时才使用 Cloudflare WAN;当前架构请参阅 Network VPN migration design guide 和 Replace your VPN 文档。
迁移评估提示词
- 源配置覆盖范围:哪些产品在迁移范围内、有哪些可用导出,以及截图或文字摘要是否掩盖了缺失的对象文件。
- 规则数量和命中数据:按规则类型统计的数量、已停用或过时的规则、零命中规则、高命中规则,以及业务关键例外。
- 对象依赖关系:地址对象、服务对象、组、自定义类别、网络服务、应用 ID、区域、标签、连接器和服务器组。
- 身份准备情况:IdP、SCIM/组同步、组名规范化、个人用户规则、本地组、服务账号和承包商身份。
- TLS/DLP 准备情况:源解密规则、证书固定绕过项、DLP 引擎/配置文件、自定义正则表达式、精确匹配数据,以及负载日志记录要求。
- 连接准备情况:源隧道/连接器、私有 DNS、拆分隧道或绕过行为、源 IP 保留、出口 IP 允许列表,以及站点到站点要求。
- 推出准备情况:试点组/站点、并行运行期、回滚负责人、源堆栈停用标准,以及监控/日志比较计划。
特定来源的注意事项
Zscaler ZIA / SWG
- 自定义 URL 类别通常会拆分为独立的 IP、域名和 URL 列表。应统计生成的列表数量,而不只是源类别数量。
- 带有 IP 的 ZIA 位置可用作源 IP 列表;它们不会自动成为用于 DNS 策略范围限定的 Gateway DNS 位置。
- GRE 隧道源 IP 可用于策略条件,但传输迁移属于单独的 Cloudflare Mesh(前称 WARP Connector)或 Cloudflare WAN 工作流。
- CAUTION/警告行为没有完全对应的 Gateway 功能。应将其视为需要客户明确决策的事项,而不是悄然选择允许或阻止。
- DLP 引擎和自定义正则表达式通常需要手动重新创建 Cloudflare DLP 配置文件。不得启用占位策略并将其视为已完成 DLP 配置。
- 网络应用组和不受支持的协议只能部分映射。启用前请先审查。
- 如果无法使用 SCIM,身份范围限定的源规则会变得过于宽泛,除非添加可强制执行的替代方案,例如用户/电子邮件列表。创建这些规则前,请查看 Gateway 身份选择器。
Zscaler ZPA / Private Access
- ZPA 应用网段、服务器组和连接器组并非一一对应。Cloudflare 将 Access 应用、隧道路由、DNS 和策略分开管理。
- 通过 API 创建隧道并不代表连接器部署已完成。请另行规划 cloudflared 的安装、身份验证和源站连通性。
- 无论 ZPA 连接器组的运行状态如何(AUTHENTICATED、DISCONNECTED 或已禁用),都要为每个组创建一个 Cloudflare Tunnel。状态属于运行层面,而非架构层面。在隧道描述中标记已断开连接或旧版组,并由客户在验证后决定要停用哪些组。
- 每个组中的每个 ZPA 连接器实例,都对应一个使用该隧道令牌运行的 cloudflared 副本。每组的副本数量应与连接器实例数量一致,以保持相同的拓扑结构。单个隧道令牌支持多个 cloudflared 进程同时运行。建议在同一数据中心的不同主机或子网上安装副本。
- 对于每个连接器组,找出与其关联的所有服务器组,以及分配给这些服务器组的所有应用网段。这些应用网段中的 IP 地址和 CIDR 网段将成为相应隧道上的 CIDR 路由;域名将成为同一隧道上的主机名路由。如果较大的子网涵盖了应用网段中的所有 IP,优先使用每个子网一条 CIDR 路由,而不是针对每台主机配置 /32 路由。
- ZPA 绕过对应的是 Cloudflare 中的拆分隧道绕过,而非 Access 的
bypass决策。绕过规则应映射到 Cloudflare One Client 拆分隧道排除项。这是一个手动配置步骤,无法通过 API 自动化——客户必须通过控制面板,将绕过的域名和 IP 添加到设备配置文件的拆分隧道排除列表中。 - 无 Agent/浏览器应用可能会按域名拆分为独立的公共主机名 Access 应用。WARP 私有应用仍属于私有目标应用。
- Cloudflare Access 应用的默认目标数量上限为 5 个主机名。迁移包含大量应用网段的 ZPA 时,请在实施前联系 Cloudflare 客户团队,申请将上限提高至最多 50 个。创建应用前,请确认该上限已在账户中生效;否则,必须将大型网段拆分为多个策略相同的应用,这会大幅增加对象数量。
- 以 IP 为锚点的应用在迁移前必须明确出口方案:通过客户出口保留源 IP、在可用时使用 Cloudflare 专用出口,或接受必须更新目标服务以允许新的源 IP。这是客户必须做出的决定;若尚未确定,将阻碍实施。
- 解析器策略可能适用于整个账户。请注意不同站点或虚拟网络之间重叠的私有 DNS 命名空间;更改 DNS 前,请先查阅解析器策略文档。
- 每条 ZPA 访问策略规则都对应一条可重复使用的 Cloudflare Access 策略。将策略附加到 Access 应用前,先创建所有可重复使用的策略。在默认拒绝的 Gateway Network 环境中,还要创建一条 Network 允许规则,选择器设为“存在带私有地址的自托管 Access 应用”(wirefilter:
any(access.private_app[*] in {"*"})),并将其优先级设为高于任何宽泛的 L4 阻止规则;否则,Gateway 会在 Access 策略进行评估之前阻止私有应用流量。 - 在 ZIA 和 ZPA 组合迁移中,Gateway Network 规则可能会意外阻止 Access 私有应用流量。解决方法是添加上述 Gateway Network 允许规则,并将其优先级设为高于(编号低于)从 ZIA 迁移的阻止规则。启用宽泛的 L4 阻止规则前,请先添加并验证此规则。
Palo Alto / Prisma / NGFW
- 一条 Palo Alto 规则可能对应多个 Cloudflare 资源。应保留规则意图,而不是规则数量。
- App-ID、URL 类别、区域、HIP、计划和解密行为很少能完全对应。应标记部分映射,而不是强行制造虚假的等价关系。
- 应随规则一并导出地址/服务对象和组。若缺少对象导出,可能会出现看似无提示的丢弃,除非明确检测到这一情况。
- 目标/服务为
any的宽泛规则和范围很大的 CIDR 需要人工审核。不要自动创建宽泛的兜底规则。 - 在执行 HIP/设备检查之前,需要先集成 Cloudflare 设备姿态。
注意事项
- 源导出文件通常会将引用拆分到多个文件中。在判定规则无法映射之前,应先根据对象、服务和组文件解析 ID。
- 单个用户、本地组、部门和动态应用 ID 通常需要进行身份规范化。SCIM/组同步是使用组选择器的先决条件。
- Zscaler 的警告行为、Palo Alto 的 App-ID 行为以及 TLS/解密例外可能没有完全对应的选项。应将它们标记为决策点,而不是强行进行 1:1 映射。
- 尽可能保留源规则顺序和命中次数。只有获得用户批准后,才能停用或删除过时或未命中的规则。
- 除非用户明确要求且设定了时限,否则切勿创建宽泛的全部放行兜底规则来维持连接。
验证关卡
- 每个迁移阶段结束后,将 Cloudflare 对象数量与解析出的源对象数量进行比较。若不匹配,则停止迁移。
- 启用策略之前,审核每个
unsupported、partial、unmapped、needs_identity、needs_posture和manual_review项。 - SCIM 同步并重新认证后,使用真实的试点用户验证组匹配情况。
- 在大范围启用 HTTP/DLP 阻止策略之前,测试 TLS 检查和“不检查”行为。
- 明确保留回滚路径:按前缀停用迁移后的规则、恢复源路由,或还原试点组/站点。
- 在宣布完成之前,生成源规则核算表,其中列出每条规则的迁移对象、部分映射、未迁移原因、安全影响,以及每项人工操作的负责人。
评估模板
## Migration Assessment
Source stack:
Artifacts reviewed:
Assumptions / missing exports:
Recommended Cloudflare One target:
Mapping summary:
Risks / partial mappings:
Not migrated:
Pilot plan:
Validation:
Rollback:
评论
支持 Markdown