一家全球化广告平台如何把不同法域的数据隔离要求,翻译成物理、逻辑、访问三层可验证的系统边界。
目录
案例速览
- 角色
- 系统架构师
- 时段
- 2021 – 2025
- 领域
- 数据合规 / 跨境数据隔离
- 技术栈
- 按法域拆分的数据平面 · 分类分级与法域标签 · 权限网关 · 审计流水
问题
接手这件事时,一家全球化广告平台的数据链路还是按「一套系统服务全球」的思路长出来的。广告的 measurement signal——曝光、点击、转化回传、归因结果——从采集到出报表,中间经过的存储、计算和服务都是全球共享的。业务上这很自然:广告主看跨地区效果,算法要完整样本。
变化来自法域。美国、欧盟等法域陆续对个人数据的存储位置、跨境传输和访问主体提出了不同要求。这些要求不只是「数据不能出境」:有的关心存储位置,有的关心谁能读,有的关心用途,有的只要求你能证明。叠在一条全球共享的链路上,结果是没有一段能说清「这批数据现在受哪条规则约束」。
更麻烦的是证明。监管和第三方审计不满足于「我们有制度」,要看系统能否阻止违规访问、事后能否追溯。靠文档和流程堆出来的合规,答不上这种问题。
所以问题可以压缩成一句话:怎样把散落在法规里的条款,翻译成系统里可以被验证的边界。
约束
动手之前先把约束列清楚,它们决定了方案不能长成什么样。
法规是公开的,也是会变的。 我只依据公开条款做设计——GDPR、CCPA 以及各地的本地化要求——而不是某一版内部解读。架构要能容纳规则变化,而不是把某条规则硬编码进去。
业务不能停。 measurement 链路是收入的计量基础,一天都不能停。改造只能在线迁移,每一步要能回退。
成本与认知负担有上限。 按法域复制一整套基础设施在纸面上最干净,但每多一个副本,就多一份运维和口径漂移的风险,也多一群要理解「我在哪个副本里」的工程师。
审计必须可验证。 第三方审计需要的是可以独立复核的证据:策略是什么、系统如何执行、执行记录在哪里。任何「靠人盯着」的环节,在审计上都等于零。
方案
我把「隔离」拆成三层,每层回答一个问题。
物理隔离回答「数据在哪里」。 对存储位置有明确要求的法域,单独建立数据平面:独立的存储、计算和服务,对外只暴露受控接口。这一层粒度最粗也最贵,只用在法规明确要求的地方。
逻辑隔离回答「这是什么数据、属于谁、受什么规则约束」。 所有数据在进入平台时做分类分级,并打上法域标签与租户标签;标签跟着数据走,血缘按法域隔离记录。意义在于,任何数据在链路上的任意位置,都能被机器回答「它现在受哪条规则约束」,不需要人翻文档。
访问隔离回答「谁、为什么、能用它做什么」。 所有跨边界的访问都经过统一的权限网关;申请按用途而不是按人,用途与法域标签匹配后才放行;每一次放行和拦截都写入审计流水。这一层把「可验证」落到了系统属性上:审计想看的东西,本来就是系统运转的痕迹。
flowchart LR A["采集入口"] --> B["分类分级 · 法域标签"] B --> C["法域 A 数据平面"] B --> D["法域 B 数据平面"] B --> E["共享数据平面(非受限数据)"] C --> F["权限网关:按用途申请"] D --> F E --> F F --> G["审计流水"] F --> H["报表 · 归因 · 建模"]
在这个框架下,measurement signal 链路被重新切开:采集入口按来源判定法域并打标;受限数据留在对应平面内完成归因与聚合,只有聚合、脱敏并判定为非受限的结果,才能穿过网关进入共享层出报表。算法侧原本依赖全球样本的部分,改为在各法域平面内分别训练,只交换参数或统计量。
迁移是分段做的:先把标签和网关以「只记录不拦截」的模式挂上去,用几个月的流水校准策略;确认误拦率可接受后再切成强制模式;最后才做物理层的搬迁。每一段都保留回退开关。
取舍
隔离粒度是最关键的取舍,三种候选粒度我比较过。
| 对比维度 | 按法域物理拆分 | 逻辑标签 + 访问网关 | 仅访问控制 |
|---|---|---|---|
| 建设与运维成本 | 高 | 中 | 低 |
| 审计难度 | 低 | 中 | 高 |
| 对业务的侵入 | 高:链路要重写 | 中:入口打标、出口过闸 | 低:几乎无感 |
| 可回滚性 | 差 | 好 | 好 |
| 规则变化时的适应性 | 差:要重新搬数据 | 好:改策略即可 | 好 |
结论不是「选中间那个」这么简单,而是三层叠加:逻辑隔离作为底座覆盖全部数据,访问网关作为统一执行点,物理隔离作为例外由法规触发。这样多数规则变化只需改策略表,不用搬数据。
另一条影响深远的决策,是审计怎么交付。
还有几条小取舍值得记一笔:误拦一定会发生,我选择先拦再申诉,而不是先放再补录;标签宁可粗但覆盖全量,不追求精细却留下无标数据;共享层只收聚合结果,即使部分分析因此失去明细粒度。
结果
这几年下来,我能确认的变化是这些。
审计准备从周级缩短到小时级——需要的证据本来就在流水和标签里,生成报表而已。
跨法域访问请求可以被自动拦截并留痕。误拦在强制模式上线初期集中出现过,随策略校准收敛到可忽略的水平。
新的法域要求进来时,多数只需新增策略条目和标签规则,不动链路本身;只有涉及存储位置的要求才触发物理层扩展。
业务侧的代价是真实的:明细级跨地区分析不再可得,部分报表口径要重新解释,算法在受限法域有一段适应期。这些代价在启动时就摆在桌面上,不是事后才发现。
可迁移的经验
-
先把「隔离」拆成可以分别回答的问题。 在哪里、是什么、谁能用——三个问题对应三层边界,混在一起讨论只会得到「全部物理拆分」这种昂贵又脆弱的答案。
-
逻辑隔离是底座,物理隔离是例外。 标签和策略可以随法规变化而改,搬数据不行。把粒度最粗的手段留给法规明确要求的地方。
-
让证据成为系统运转的副产物。 如果合规证明需要额外的准备工作,说明它还没有变成系统属性。审计流水应该和业务流水一样自然。
-
改造要有「只记录不拦截」的过渡态。 它既是策略的校准期,也是团队的适应期,还是最便宜的回退方案。
-
把业务代价在启动时说清楚。 隔离必然拿走一些分析能力,越早在明面上承认,后面越少扯皮。
相关系列:跨境数据合规架构
觉得有用?通过 RSS 订阅 获取后续的技术文与案例更新。