权限和隐私不是“加个 RBAC”:一套大数据平台可落地的安全治理架构

0 阅读46分钟

很多团队做数据平台,前期都很兴奋:数据接进来了,指标跑起来了,BI 看板也上线了,业务方开始天天要数据。

然后问题来了:

“这个表谁能看?”
“手机号能不能给运营?”
“研发查生产数据要不要审批?”
“客户项目数据能不能跨部门复用?”
“导出过哪些敏感字段,谁导出的?”
“AI Agent 调数据的时候,权限怎么算?”

很多公司一开始的答案都很简单:加角色、配权限、敏感字段打星号。

但真到大数据平台、IoT 平台、金融风控平台、企业 AI 平台这种复杂场景里,单纯 RBAC 很快就会失效。不是 RBAC 没用,而是它只解决了“谁属于哪个角色”的问题,没有解决“数据是什么级别、在什么场景下、为了什么目的、以什么方式被访问”的问题。

这篇文章想系统讲清楚一件事:权限和隐私治理,不是一个功能点,而是一套从数据分类分级、角色权限、字段脱敏、审计日志、最小权限到合规流程的工程体系。

法规层面,中国《数据安全法》已经明确提出数据分类分级保护制度,要根据数据的重要程度,以及被篡改、破坏、泄露、非法获取或非法利用后可能造成的危害程度,对数据实行分类分级保护。(国家统计局) 国家标准 GB/T 43697-2024《数据安全技术 数据分类分级规则》也已经发布并实施,为分类分级落地提供了通用规则。(国家标准开放平台)

工程层面,行业也在从“边界安全”走向“数据中心化安全”。NIST 的零信任架构强调,访问控制要尽可能细粒度,并围绕每一次请求做认证、授权和最小权限判断,而不是默认信任内网用户。(NIST 技术系列出版物)

所以,今天我们不聊“怎么加一个菜单权限”,而是聊一套真正能落地的数据权限和隐私治理架构。

一、为什么传统权限方案会在大数据平台里失控?

先说一个很常见的场景。

公司有一个用户画像宽表,里面有用户 ID、手机号、城市、年龄、消费能力、设备信息、健康标签、行为轨迹、最近购买 SKU、营销偏好。业务方说:“我只想看用户画像,不看隐私。”

听起来没问题。但问题是,什么叫“不看隐私”?

手机号肯定是敏感。身份证肯定是敏感。那设备 ID 呢?家庭地址呢?老人健康状态呢?儿童行为数据呢?长期定位轨迹呢?单独看可能只是一个字段,组合起来就可能形成可识别个人的信息。

这就是大数据平台和普通后台系统最大的区别:数据不是孤立字段,而是可组合、可关联、可推断的资产。

传统系统的权限模型一般是:

用户 -> 角色 -> 菜单 -> 操作按钮

比如:

运营人员:可以查看用户列表
客服人员:可以查看订单详情
管理员:可以导出报表

这个模型在单体业务系统里还行,但到了数据平台会出现几个问题。

第一,数据粒度更细。权限不再只是页面级、接口级,而是库、表、行、列、字段、标签、指标、画像、特征、模型输入、模型输出。

第二,访问场景更多。同一张表,BI 查询、离线分析、实时接口、算法训练、Agent 问答、客户交付、监管报送,风险完全不一样。

第三,数据链路更长。数据从 ODS 到 DWD、DWS、ADS,再到特征库、指标平台、画像平台、AI 应用,中间会经历清洗、聚合、关联、加工。如果只在入口控制一次,后面基本就失控了。

第四,使用者更多。研发、测试、数据分析师、算法工程师、产品、运营、销售、客户成功、外部合作方,都可能要访问数据。

第五,监管要求更明确。《个人信息保护法》要求个人信息处理者对个人信息实行分类管理,采取加密、去标识化等安全技术措施,合理确定操作权限,并定期进行安全教育和培训;同时还要求定期进行个人信息保护合规审计。

所以,大数据权限治理的核心不是“给谁开权限”,而是回答下面这几个问题:

1. 这是什么数据?
2. 这个数据是什么级别?
3. 谁是数据 Owner?
4. 谁因为什么业务目的访问?
5. 访问原文、脱敏值,还是聚合结果?
6. 访问行为有没有被记录?
7. 权限多久过期?
8. 出问题后能不能追溯?

能回答这些问题,才算真正进入了数据安全治理。

二、技术的来龙去脉:从 ACL、RBAC 到零信任数据治理

权限系统不是今天才有。它大致经历过几个阶段。

1. ACL:一条资源一张名单

最早很多系统用 ACL,也就是 Access Control List。

资源 A:张三可读,李四可写,王五不可访问
资源 B:销售组可读,管理员可写

ACL 的优点是直观,缺点也明显:资源一多,配置爆炸。几千张表、几万个字段、几百个项目、几千个用户,靠 ACL 基本没法维护。

2. RBAC:用角色降低复杂度

后来大家用 RBAC,也就是 Role-Based Access Control。

用户 -> 角色 -> 权限

比如:

数据分析师 -> 可查 ADS 层报表
算法工程师 -> 可查特征表
客服主管 -> 可查部分用户信息

RBAC 解决了 ACL 的“逐人逐资源配置”问题,是企业权限系统的基础。但 RBAC 最大的问题是:角色本身太粗。

举个例子,“数据分析师”这个角色能不能看手机号?

答案取决于场景。做用户留存分析,不需要手机号;做回访名单,需要手机号;做模型训练,可能只需要 hash 后的用户 ID;做客户投诉处理,可能只看尾号就够了。

也就是说,角色只是权限的一个维度,不是全部维度。

3. ABAC:把属性和上下文纳入判断

ABAC 是 Attribute-Based Access Control,基于属性的访问控制。

它不只看角色,还看用户属性、资源属性、环境属性和业务目的。

用户属性:部门、岗位、职级、项目组、安全等级
资源属性:数据级别、数据域、字段标签、所属客户、是否个人信息
环境属性:访问时间、访问地点、设备可信度、网络环境
行为属性:读取、导出、修改、共享、训练模型
目的属性:客服处理、营销触达、风控审核、研发排障、监管报送

一个典型策略可以是:

当用户属于“客服主管”
并且访问目的为“客户投诉处理”
并且工单状态为“处理中”
并且访问数据属于本人负责区域
则允许查看手机号后四位
不允许导出完整手机号

这就比“客服主管能看用户表”安全得多。

4. PBAC / Policy as Code:把权限策略变成可管理的代码

再往后,权限治理会走向 PBAC,也就是 Policy-Based Access Control。核心思想是:权限不是散落在各个应用里的 if-else,而是统一进入策略中心。

Open Policy Agent 这类策略引擎的思路,就是把策略决策从业务代码里剥离出来,用声明式语言表达规则,再由应用、API 网关、Kubernetes、CI/CD 等系统调用策略引擎做判断。OPA 官方文档把它描述为一个通用策略引擎,可以用 Policy as Code 的方式统一跨系统策略管理。

这件事非常关键。

因为一家公司只要数据链路复杂起来,就一定会有很多访问入口:

Web 后台
BI 工具
SQL 查询平台
Notebook
API 网关
数据服务
模型训练平台
Agent 工具调用
离线导出
客户交付环境

如果每个入口都自己写一套权限逻辑,最后一定不一致。真正成熟的做法,是把权限策略收敛成统一的策略中心,然后在不同入口做统一执行。

5. 零信任数据治理:每一次访问都要重新判断

过去我们习惯说:“内网是可信的,外网是不可信的。”

现在这个假设越来越危险。账号可能被盗,内部人员可能误操作,测试环境可能泄露,Agent 可能越权调用工具,第三方系统可能被攻破。

NIST 零信任架构强调,不应基于网络位置默认信任访问者,而是围绕资源保护,对访问请求持续评估,做细粒度授权。

放到数据平台里,就是一句话:

不要因为一个人登录了系统,就默认他可以访问所有数据。每一次访问,都要结合身份、资源、动作、场景和风险重新判断。

这就是现代数据权限治理的基本盘。

三、先分数据,再谈权限:分类分级是所有控制的地基

很多团队一上来就讨论角色:

“运营能看什么?”
“产品能看什么?”
“研发能看什么?”

我一般会先打断这个讨论,因为顺序反了。

正确顺序应该是:

先识别数据 -> 再分类分级 -> 再定义访问策略 -> 再配置角色和流程

没有分类分级,权限配置一定会变成拍脑袋。

1. 一个实用的数据分类模型

从工程落地看,建议先把数据分成几大类。

数据类型示例风险点
公开数据官网介绍、公开商品信息、公开文档低风险,但要防篡改
内部业务数据普通运营数据、部门报表、流程数据泄露后影响经营
个人信息姓名、手机号、地址、账号 ID、设备 ID涉及个人权益
敏感个人信息身份证、金融账户、医疗健康、行踪轨迹、生物识别、未成年人信息泄露后可能造成人身、财产或人格权益损害
商业敏感数据定价、成本、客户名单、合同、渠道政策、经营策略影响竞争优势
重要数据 / 核心数据关键行业、重要民生、重大公共利益相关数据可能影响国家安全、公共利益或重要行业运行
算法和模型数据训练样本、特征、标签、模型输出、提示词、评测集可能造成模型泄露、偏见、合规风险

这里要特别注意“敏感个人信息”。《个人信息保护法》明确列举了生物识别、宗教信仰、特定身份、医疗健康、金融账户、行踪轨迹等,以及不满十四周岁未成年人的个人信息,并要求只有在具有特定目的和充分必要性、采取严格保护措施的情况下才能处理。

如果你做的是 IoT、康养、幼教、美业、金融、车联网、智慧城市这类业务,很多数据天然就容易碰到敏感区。比如老人健康指标、儿童图像、家庭位置、设备行为轨迹、消费偏好、金融交易路径,都不能按普通日志数据处理。

2. 一个可落地的数据分级模型

分类回答“它是什么数据”,分级回答“它有多敏感”。

可以设计一个五级模型:

等级名称说明典型控制
L1公开数据可公开传播,泄露风险低防篡改、基础审计
L2内部数据公司内部可见,不宜公开内部账号、基础权限
L3敏感数据涉及个人信息、客户数据、普通商业敏感审批、脱敏、行列级控制
L4高敏数据敏感个人信息、核心客户数据、高价值经营数据强审批、最小权限、动态脱敏、强审计
L5重要 / 核心数据可能影响公共利益、行业运行、国家安全等专项制度、专人负责、强隔离、风险评估

这套模型不一定适合所有公司,但有一个原则不会变:级别越高,访问越少;使用越多,暴露越少。

什么意思?

同样一份高敏数据,不要让所有人都看原文。能看聚合就看聚合,能看脱敏就看脱敏,能用服务接口就不要直接查表,能用特征就不要拿明文。

3. 分类分级的流程不要靠人工表格硬扛

很多公司做数据分类分级,第一反应是搞 Excel:

表名、字段名、字段说明、数据级别、负责人、备注

这个方式可以启动,但不能长期依赖。原因很简单:数据每天都在变,字段每天都在加,任务每天都在加工,人工表格很快就过期。

更好的方式是做成“元数据 + 自动识别 + 人工确认”的闭环。

ChatGPT Image 2026年5月8日 23_11_34.png

Apache Atlas 这类元数据治理工具,就提供了数据资产目录、分类、血缘和治理能力;它支持给实体打分类标签,并且可以通过血缘传播分类,和 Apache Ranger 结合后还能基于分类做数据访问授权和脱敏。

这背后的思路很重要:权限策略不要只绑定表名字段名,还要绑定数据标签。

因为字段会变,表会迁移,数据会加工,但标签可以沿血缘传播。只要某个字段被识别为敏感个人信息,不管它流到哪张下游表,都应该继承相应的保护要求。

四、角色权限怎么设计:RBAC 打底,ABAC 精细化,策略中心统一收口

权限系统的核心,是把“人”和“数据”之间的关系表达清楚。

我建议用一个组合模型:

RBAC + ABAC + 数据标签 + 审批流程 + 临时授权

不要试图用一种模型解决所有问题。

1. RBAC 负责基础岗位权限

RBAC 适合处理稳定的组织角色。

角色基础权限
数据分析师查询授权数据集、创建分析报表
算法工程师访问特征表、训练样本、模型评估数据
数据开发开发数据任务、查看任务日志、管理非高敏表
业务运营查看业务看板、申请导出名单
客服主管查看工单相关用户信息
安全审计员查看审计日志、风险告警
数据管理员管理数据目录、分类标签、数据 Owner
平台管理员管理系统配置,但默认不看高敏业务数据

注意最后一行:平台管理员默认不应该能看所有数据。

这是很多公司的坑。系统管理员、DBA、大数据平台管理员经常因为“运维需要”拥有过大的数据访问能力。成熟做法应该是:系统管理权限和数据访问权限分离。

平台管理员可以管理集群、任务、资源、配置,但访问高敏数据原文,需要单独审批、单独授权、单独审计。

2. ABAC 负责上下文判断

RBAC 解决“你是谁”,ABAC 解决“你在什么情况下要干什么”。

一个权限判断可以写成这样:

Subject:谁
- user_id
- department
- role
- project
- clearance_level
- employment_status

Resource:访问什么
- database
- table
- column
- data_domain
- data_level
- data_tags
- owner
- tenant_id

Action:做什么
- read
- export
- update
- share
- train_model
- call_api

Context:在什么场景下
- purpose
- ticket_id
- ip
- device_trust_level
- access_time
- location
- risk_score

策略示例:

policy_id: pii_phone_read_masked
description: 运营人员只能在营销活动审批通过后查看手机号脱敏值
effect: allow
subject:
  role: marketing_operator
resource:
  tags:
    - pii_phone
  level_lte: L3
action:
  - read
context:
  purpose: marketing_campaign
  ticket_required: true
  ticket_status: approved
decision:
  mask: phone_last4
  export: false
  expire_after: 7d
audit:
  level: high

这段策略表达了几个关键点:

权限不是永久的。
权限需要业务目的。
权限可以只给脱敏值。
权限可以禁止导出。
权限要带审批单号。
权限要有过期时间。
访问行为要高等级审计。

这才是数据平台里的权限。

3. 不要让角色爆炸

角色爆炸是权限系统常见灾难。

一开始只有:

运营
产品
研发
管理员

后来变成:

华南运营
华东运营
康养运营
美业运营
高级运营
临时运营
外包运营
康养高级临时运营

再后来大家都不知道哪个角色干什么。

解决办法不是继续加角色,而是把稳定信息放到 RBAC,把动态条件放到 ABAC。

例如:

角色:运营人员
属性:业务线=康养,区域=华南,项目=深圳项目,数据级别<=L3

这样比创建几十个角色更干净。

4. 权限判断要统一入口

大数据平台常见入口很多:

Hive / Spark / Trino / Doris / ClickHouse
Kafka / Flink
BI 工具
Notebook
API 服务
数据导出平台
特征平台
AI Agent 工具

如果每个入口都自己做权限,最后一定出问题。

更合理的架构是:

ChatGPT Image 2026年5月8日 23_16_38.png

PDP 是 Policy Decision Point,负责判断“能不能访问”。
PEP 是 Policy Enforcement Point,负责执行“放行、拒绝、脱敏、过滤、审计”。

这个设计的好处是,策略统一、执行分布、审计集中。

Apache Ranger 的设计就比较接近这个方向。它提供大数据生态里的集中式安全管理、细粒度访问控制和集中审计,也支持基于用户、组、访问类型、IP、访问时间等动态属性做授权,并支持基于资源分类标签做授权。

五、字段脱敏不是“打星号”:要区分静态、动态、去标识化和匿名化

很多人一提脱敏,就想到:

138****5678
张*
440***********1234

这只是最浅的一层。

在数据平台里,脱敏至少要区分四件事:

静态脱敏
动态脱敏
去标识化
匿名化

1. 静态脱敏:生成一份不可逆或低风险副本

静态脱敏通常用于测试环境、开发环境、外部交付数据集。

比如把生产库里的手机号、身份证、地址处理后,生成一份测试数据。

优点是访问成本低,适合研发测试。
缺点是数据一旦生成副本,就需要继续管理副本的生命周期。很多泄露就是从“测试数据”开始的。

静态脱敏适合这些场景:

测试环境数据
外包开发数据
演示数据
培训数据
离线分析样本

但要注意,静态脱敏不是简单替换。要保证:

格式可用:手机号看起来仍然像手机号
分布合理:年龄、城市、金额分布不要严重失真
关联一致:同一个用户在多张表里的脱敏 ID 要一致
不可逆:不能通过规则反推出原文

2. 动态脱敏:运行时根据权限返回不同结果

动态脱敏更适合生产数据查询。

同一张表,同一个字段,不同人看到不同结果。

客服主管:138****5678
普通运营:138********
数据安全员:完整手机号,但必须有工单和审批
算法工程师:hash(user_id),不看手机号

Google BigQuery 的列级数据脱敏就是典型例子:可以创建数据策略,把脱敏规则和访问主体绑定到策略标签,查询运行时根据用户角色应用脱敏规则;Google 也建议在数据策略级别授予 Masked Reader,避免项目级授权带来过度权限。

动态脱敏的关键是:脱敏发生在数据访问引擎侧,而不是前端页面侧。

只在前端打星号没用。别人可以绕过前端,从 SQL、API、导出任务、日志、缓存里拿到原文。

3. 去标识化:让数据暂时脱离直接身份

去标识化常见做法包括:

哈希
加盐哈希
Tokenization
替换 ID
泛化
截断
分桶

比如把 user_id 替换成 token_id,把精确年龄改成年龄段,把精确地址改成城市或区县。

去标识化不等于匿名化。只要还能通过额外信息重新识别个人,它仍然属于需要保护的数据。

《个人信息保护法》也要求个人信息处理者采取加密、去标识化等安全技术措施。

4. 匿名化:理论上无法识别到个人

匿名化比去标识化要求更高。真正匿名化后,数据不应再能识别到特定个人,也无法复原。

但工程上要谨慎使用“匿名化”这个词。很多所谓匿名化数据,只是去掉姓名手机号,但保留了位置轨迹、设备 ID、时间序列、行为序列。只要组合起来能重新识别,就不是真匿名。

所以我建议团队内部少说“我们已经匿名化”,多说清楚:

我们做了哪些处理?
是否可逆?
是否保留关联键?
是否可被重识别?
是否可用于模型训练?
是否允许外发?

5. 常见字段脱敏策略表

字段类型示例推荐处理
手机号13812345678展示后四位、hash、token
身份证4403...默认禁止访问,必要时只展示后四位
姓名张三姓氏保留或全掩码
地址小区门牌号降精度到城市 / 区县
位置轨迹经纬度序列聚合、栅格化、模糊化
健康数据血压、心率、疾病标签高敏,强审批,最小化使用
金融账户银行卡、账户号token 化或后四位
设备 IDIMEI、MAC、SNhash / token,限制跨域关联
图像视频人脸、儿童图像高敏,控制采集、存储、调用和留存
模型特征用户风险分、画像标签按推断敏感度分级,限制导出

脱敏策略不要只看字段名,还要看数据语义。比如 score 这个字段,如果是考试分数可能一般敏感,如果是信用风险分、健康风险分,就可能很敏感。

六、行级、列级、对象级:权限粒度要拆开看

权限粒度一般可以分为几层。

系统级:能不能登录平台
功能级:能不能使用查询、导出、审批、配置功能
数据集级:能不能访问某个库、表、主题、数据产品
行级:能不能访问某些区域、租户、客户、项目的数据
列级:能不能访问手机号、地址、健康指标等字段
单元格级:某些行 + 某些列的组合控制
动作级:能不能读、写、导出、共享、训练模型
目的级:为了什么业务目的访问

很多事故不是因为完全没有权限,而是权限粒度太粗。

比如一个销售只能看自己负责客户的数据,但系统只做了表级权限。结果销售拿到了全国客户表。

这就是缺少行级权限。

再比如一个运营可以看用户画像,但不应该看到身份证、手机号、家庭住址。系统只做了表级权限,结果运营看到了全字段。

这就是缺少列级权限。

再比如一个接口返回用户对象,里面包含 phoneaddressid_card,前端只是不用这些字段,但接口仍然返回了。

这就是对象属性级授权缺失。

OWASP API Security Top 10 2023 里,API1 是对象级授权缺失,API3 是对象属性级授权缺失;OWASP 特别强调,只要 API 通过对象 ID 访问数据,就要在每个访问数据源的函数里做对象级授权检查。

所以,后端接口不要返回“前端可能用得上”的全量对象。应该返回“这个用户、这个场景、这个动作允许看到的字段”。

一个比较安全的接口设计是:

{
  "user_id": "u_123",
  "name": "张*",
  "phone": "138****5678",
  "city": "深圳",
  "risk_level": "中",
  "masked": true,
  "policy_id": "pii_phone_read_masked",
  "trace_id": "trace_20260508_001"
}

返回值里甚至可以带上是否脱敏、命中的策略和 trace_id,方便排查和审计。

七、审计日志不是“记录一下”:要能追责、能告警、能复盘

很多系统都有日志,但真正出事时会发现:

不知道谁查的
不知道查了哪些字段
不知道有没有导出
不知道导出了多少行
不知道当时为什么有权限
不知道权限是谁批的
不知道数据流到哪里去了

这说明日志只是“系统日志”,不是“审计日志”。

审计日志的目标不是给研发排 bug,而是回答安全和合规问题:

谁,在什么时候,从哪里,用什么身份,基于什么审批,访问了什么数据,做了什么动作,拿到了什么结果,系统为什么允许,后续有没有异常?

1. 审计日志应该记录哪些字段?

一条高质量的数据访问审计日志,至少包括:

字段说明
event_id事件唯一 ID
trace_id链路追踪 ID
subject_id用户 / 服务账号 / Agent ID
subject_type人、服务、应用、脚本、Agent
department / project所属部门和项目
actionread、export、update、share、train_model
resource库、表、字段、API、数据产品
resource_tagspii_phone、sensitive_health、trade_secret
data_levelL1-L5
row_count返回 / 导出行数
column_list访问字段列表
mask_applied是否脱敏
policy_id命中的权限策略
decisionallow / deny / mask / row_filter
purpose访问目的
ticket_id审批单、工单、项目单
client_ip来源 IP
device_id设备标识
user_agent客户端信息
risk_score风险评分
result_status成功 / 失败
timestamp时间戳

尤其要注意服务账号和 Agent。未来很多访问不是人直接发起的,而是系统、脚本、调度任务、AI Agent 发起的。审计里必须能区分:

张三本人访问
张三触发的 Agent 访问
营销系统服务账号访问
离线任务访问
第三方接口访问

否则出了问题会互相甩锅。

2. 审计日志要防篡改

审计日志如果能被管理员随便删,那就没有审计意义。

建议:

审计日志和业务日志分离
审计日志单独权限管理
关键日志追加写,不允许覆盖
高敏访问日志进入不可篡改存储或对象锁
日志访问本身也要审计
定期归档和留存

《网络安全法》要求网络运营者采取监测、记录网络运行状态和网络安全事件的技术措施,并按规定留存相关网络日志不少于六个月。《个人信息保护法》则要求个人信息保护影响评估报告和处理情况记录至少保存三年。

实际落地时,日志留存周期不要只看一个统一数字,要按数据类型和业务风险分层设计:

普通访问日志:6-12 个月
敏感数据访问日志:至少 1-3 年
个人信息影响评估记录:至少 3 年
高风险导出 / 外发 / 出境记录:按法务和监管要求延长
安全事件相关日志:冻结留存,直到事件关闭

3. 审计要能实时告警

审计如果只是事后查,那价值少一半。

高风险行为应该实时触发告警:

短时间批量导出高敏数据
非工作时间访问大量用户信息
首次访问 L4/L5 数据
跨部门访问客户数据
服务账号突然访问非授权数据域
失败访问次数异常增加
查询字段包含多个敏感标签
绕过 BI 直接查底表
Agent 调用了不该调用的数据工具
同一账号从异常地区登录并访问敏感数据

这里可以做一个简单规则:

风险分 = 数据级别分 + 行为分 + 场景分 + 异常分

比如:

访问 L4 数据:+40
导出动作:+30
非工作时间:+10
首次访问该数据域:+10
无审批单:直接拒绝
风险分超过 70:告警
风险分超过 90:阻断 + 安全团队介入

不要一上来追求完美算法。先把高风险规则跑起来,比空谈 AI 风控更有用。

八、最小权限怎么落地:权限要有生命周期

“最小权限”很多人都知道,但很少公司做得好。

AWS IAM 文档对最小权限的定义很直接:只授予完成任务所需的权限,不给额外权限。AWS 也建议定期检查和移除不再需要的用户、角色、权限、策略和凭证,并使用访问活动生成更细粒度的权限策略。

落到企业数据平台,我建议把最小权限拆成六个动作。

1. 默认拒绝

默认不要给权限。
新用户、新角色、新服务账号、新 Agent,默认不可访问敏感数据。

default deny

这是权限系统最重要的一行。

2. 按需申请

权限申请必须说清楚:

访问什么数据
为什么访问
用于哪个项目
访问多久
是否需要原文
是否需要导出
是否涉及个人信息
是否涉及敏感个人信息
是否向第三方共享
是否用于模型训练

申请单不是形式主义,它是后续审计、复盘和合规证明的依据。

3. 分级审批

不是所有权限都走同一个审批流。

L1/L2:部门内审批或自动授权
L3:数据 Owner + 直属负责人审批
L4:数据 Owner + 安全 / 合规审批
L5:专项评估 + 管理层审批 + 安全负责人确认

越敏感,审批越严格。
越高频,越应该产品化为数据服务,而不是反复人工审批。

4. 限时授权

权限一定要有过期时间。

临时排障:4 小时
项目分析:7 天
营销活动:活动周期内
客户交付:合同周期内
长期岗位权限:季度复核

永久权限是权限膨胀的根源。

5. 定期复核

至少按季度做权限复核:

谁拥有 L3+ 数据权限?
哪些权限 30/60/90 天没用过?
哪些人离岗、转岗、离职但权限还在?
哪些服务账号长期未使用?
哪些角色权限明显过大?
哪些导出权限不合理?

复核不是发个 Excel 让部门经理点确认,而是要基于真实访问日志给出建议:

过去 90 天未使用,建议回收
访问量异常,建议复核
权限高于岗位需要,建议降级
仅访问脱敏数据即可,建议取消原文权限

6. Break Glass 紧急权限

生产事故、重大客户问题、安全事件时,确实可能需要临时高权限。

这类权限不要偷偷开,要设计 Break Glass 机制:

必须填写原因
自动通知安全和负责人
权限极短时间有效
全程高等级审计
事后必须复盘

这比“临时给管理员开一下”安全得多。

九、合规流程怎么设计:别把法务放到最后

很多团队的习惯是:产品做完了,技术上线了,最后问法务:“这个合规吗?”

这是最危险的做法。

数据合规必须前置到需求和架构阶段。因为等系统上线后再补,往往意味着重构数据链路、重做授权、重写隐私政策、重签合同。

1. 合规不是拦路虎,而是设计约束

做数据产品时,至少要问:

这个数据是否属于个人信息?
是否属于敏感个人信息?
是否涉及未成年人?
是否涉及重要数据?
是否有明确处理目的?
是否满足最小必要?
是否需要用户同意或单独同意?
是否会向第三方提供?
是否会跨境?
是否用于自动化决策?
是否用于 AI 模型训练?
是否有删除和撤回机制?

《个人信息保护法》要求处理个人信息应遵循公开、透明原则,明示处理目的、方式和范围;个人信息保存期限应为实现处理目的所必要的最短时间。

这两句话翻译成工程语言就是:

不要悄悄采。
不要无限期存。
不要超目的用。
不要为了方便多拿。

2. 哪些场景要做个人信息保护影响评估?

《个人信息保护法》明确要求,在处理敏感个人信息、利用个人信息进行自动化决策、委托处理 / 向其他个人信息处理者提供 / 公开个人信息、向境外提供个人信息,以及其他对个人权益有重大影响的处理活动前,应进行个人信息保护影响评估。

工程上可以把它做成流程触发器:

只要数据标签包含 sensitive_personal_information -> 触发评估
只要 action = export_to_third_party -> 触发评估
只要 purpose = automated_decision -> 触发评估
只要 destination = overseas -> 触发评估
只要 subject_age < 14 -> 触发更严格规则

不要靠人记。要靠系统触发。

3. 数据出境要单独管理

很多企业一接入海外 SaaS、跨境 CRM、全球 BI、海外云、跨国团队协作,就可能涉及数据出境。

2024 年《促进和规范数据跨境流动规定》对数据出境场景做了进一步细化,比如关键信息基础设施运营者向境外提供个人信息或重要数据,或者非关基数据处理者向境外提供重要数据、达到一定个人信息或敏感个人信息数量阈值时,应申报数据出境安全评估。

这部分建议不要只让技术团队判断,必须和法务、安全、业务一起建立流程。

最低限度要记录:

出境数据类型
是否包含个人信息
是否包含敏感个人信息
是否包含重要数据
境外接收方
处理目的
处理方式
保存期限
安全措施
合同条款
用户告知和同意情况
评估结论

4. 网络数据安全管理进入更细化阶段

《网络数据安全管理条例》已于 2025 年 1 月 1 日起施行,适用于在中国境内开展网络数据处理活动及其安全监督管理,也对境外处理中国境内自然人个人信息的特定情形作出适用规定。

这意味着企业不能再把数据安全当成“安全部门自己的事”。它会影响:

产品设计
数据采集
平台架构
权限审批
日志留存
第三方合作
数据出境
AI 训练
客户交付
安全事件响应

合规流程要嵌入研发流程,而不是上线前补签一个表。

十、一套可落地的参考架构

下面给一套我比较推荐的数据权限与隐私治理架构。

ChatGPT Image 2026年5月8日 23_18_18.png

这套架构有几个关键点。

第一,身份要统一。人、服务账号、外部应用、AI Agent 都必须有明确身份。

第二,策略要统一。不要让每个系统各写一套权限规则。

第三,数据要打标签。没有分类分级标签,就没有自动化治理。

第四,执行要靠近数据。不要只在前端做控制,要在查询引擎、API 网关、数据服务层做强制执行。

第五,审计要贯穿全链路。允许、拒绝、脱敏、导出、共享、训练模型,都要记录。

第六,流程要系统化。审批、影响评估、出境评估、权限复核都要有系统承载。

十一、一个更工程化的策略示例

下面用伪代码表达一个策略决策逻辑。

package data.authz

default allow = false

# 基础读权限
allow {
  input.action == "read"
  input.subject.status == "active"
  input.resource.level <= input.subject.clearance_level
  input.resource.domain in input.subject.allowed_domains
  input.context.purpose in input.subject.allowed_purposes
  not high_risk
}

# 高敏数据必须有审批单
allow {
  input.action == "read"
  input.resource.level == "L4"
  input.context.ticket.status == "approved"
  input.context.ticket.expire_at > input.context.now
  input.context.purpose == input.context.ticket.purpose
  input.subject.id == input.context.ticket.applicant
  not high_risk
}

# 导出必须单独授权
allow {
  input.action == "export"
  input.context.ticket.status == "approved"
  input.context.ticket.allow_export == true
  input.resource.level <= "L3"
}

# 风险过高直接拒绝
high_risk {
  input.context.risk_score >= 90
}

脱敏策略可以单独返回:

{
  "decision": "allow",
  "masking": {
    "phone": "last4",
    "id_card": "deny",
    "address": "city_level",
    "health_metric": "aggregate_only"
  },
  "row_filter": "tenant_id = 't_001'",
  "audit_level": "high",
  "expire_at": "2026-05-15T23:59:59"
}

注意,这里不是简单返回 allow / deny,而是返回一组访问约束:

是否允许
哪些字段要脱敏
哪些行可见
是否允许导出
审计等级是多少
权限什么时候过期

这才适合数据平台。

十二、业内最佳实践:真正成熟的团队通常会做这 10 件事

1. 建立数据 Owner 制度

每张核心表、每个数据产品、每个高敏数据域,都要有 Owner。

Owner 不一定是技术负责人,很多时候应该是业务负责人。因为技术知道数据在哪,业务知道数据该不该用。

2. 用数据产品替代原始表暴露

不要让所有人都直接查底表。

更好的方式是把数据封装成数据产品:

用户增长分析数据集
客户服务画像数据集
设备健康监控数据集
营销触达名单服务
风控特征服务

每个数据产品有清晰的用途、字段、口径、权限、SLA 和审计策略。

3. 高敏字段默认不可见

手机号、身份证、金融账户、精确地址、健康数据、未成年人信息、人脸图像,默认不可见。

需要看时,走审批、限时授权、动态脱敏、高等级审计。

4. 导出权限单独控制

“能查询”不等于“能导出”。

导出是更高风险动作。很多数据泄露不是发生在查询,而是发生在导出后的 Excel、CSV、压缩包、网盘、邮件。

导出至少要控制:

导出人
导出原因
导出字段
导出行数
导出文件水印
下载次数
有效期
是否可转发
是否加密

5. 生产数据不要直接给研发测试

研发排障可以有临时权限,但不能让生产敏感数据长期裸奔到开发环境。

推荐:

开发环境用静态脱敏数据
排障用临时授权 + 动态脱敏
高敏原文访问必须 Break Glass

6. 服务账号权限比人更要管

服务账号经常被忽视,但风险很高。

它们通常权限大、生命周期长、没人复核、密钥到处放。

服务账号必须做到:

绑定负责人
绑定用途
最小权限
密钥轮换
禁止共享
定期复核
异常访问告警

7. 敏感数据用水印和溯源

对导出文件、报表截图、接口返回,可以加可见或不可见水印。

水印不是万能的,但能提升泄露追溯能力。

8. 权限变更要进审计

不仅数据访问要审计,权限变更也要审计。

谁创建了角色?
谁修改了策略?
谁批准了高敏权限?
谁给服务账号加了导出权限?
谁关闭了脱敏规则?

这些操作比普通查询更敏感。

9. 权限和数据血缘联动

上游字段是敏感字段,下游加工后仍可能敏感。

例如:

手机号 -> hash_phone -> 用户唯一标识
身份证 -> 年龄 + 性别 + 地区
位置轨迹 -> 常驻地点 + 出行规律
健康指标 -> 健康风险标签

下游字段不能因为改了名字就降级。要结合血缘、加工逻辑和可识别性重新判断。

10. 把合规要求产品化

不要靠人肉提醒“这个要做 PIA”。

合规触发条件要产品化:

选择敏感个人信息字段 -> 自动触发影响评估
选择导出给第三方 -> 自动触发共享评估
选择境外接收方 -> 自动触发出境评估
选择自动化决策用途 -> 自动触发算法合规评估

系统能自动拦截,才叫落地。

十三、常见坑:这些做法看似安全,其实很危险

坑 1:只做菜单权限

菜单权限只能控制页面入口,控制不了 SQL、API、导出、调度任务、缓存、日志。

坑 2:只在前端脱敏

前端脱敏挡不住接口抓包、SQL 查询、导出任务、后端日志。

坑 3:管理员拥有所有数据原文权限

系统管理权限和数据访问权限必须分离。

坑 4:审批通过后永久有效

权限没有过期时间,就会越积越多。

坑 5:只记录查询,不记录结果规模

查 10 行和查 1000 万行,风险完全不同。审计必须记录返回行数、导出行数、字段列表。

坑 6:忽视下游数据

上游敏感字段加工到下游后,仍然可能敏感。要用血缘传播标签。

坑 7:测试环境没人管

测试环境经常是泄露重灾区。脱敏数据、测试账号、临时文件、日志都要管。

坑 8:AI Agent 没有独立权限

Agent 不能继承用户的全部权限,更不能拿管理员 Token 到处跑。Agent 应该有独立身份、工具白名单、数据权限、调用审计和风险限制。

十四、对业界的影响:数据安全正在从成本中心变成商业能力

过去很多公司把权限和隐私当成成本:合规要求、审计压力、安全部门 KPI。

但现在这个认知要变。

成熟的数据安全治理,至少能带来五类商业价值。

1. 提升数据复用效率

没有治理时,安全团队会倾向于“一刀切”:不给看,不给导,不给接。

有了分类分级、动态脱敏、行列级权限和审计,反而可以让更多人安全地用数据。

安全不是让数据不能用,而是让数据可以被放心使用。

2. 降低客户和监管风险

B2B、B2G、金融、医疗、教育、IoT、智慧城市项目里,客户越来越关心:

数据怎么分级?
权限怎么控制?
是否支持审计?
是否能脱敏?
是否能私有化?
是否满足等保和隐私要求?
是否支持数据出境评估?

这些能力会直接影响中标、续约和客户信任。

GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》是现行国家标准,等保体系仍然是很多企业安全建设和客户验收的重要基础。

3. 支撑 AI 和 Agent 落地

没有权限和隐私治理,企业 AI 很难放心上线。

因为 Agent 会主动调用工具、查数据、生成答案、触发流程。如果没有数据级权限控制,它可能把不该看的数据查出来,把不该说的信息说出去。

未来企业 AI 的核心不是“模型会不会回答”,而是:

模型能不能只看该看的数据?
能不能解释用了哪些数据?
能不能避免泄露敏感信息?
能不能审计每次工具调用?
能不能按业务目的限制回答范围?

Gartner 预测,到 2028 年,50% 的组织会因为未验证 AI 生成数据增长而采用零信任数据治理姿态;同时它也提到主动元数据管理会成为关键能力。

这其实说明了一件事:数据治理和 AI 治理正在合流。

4. 降低内部协作成本

没有统一权限体系时,每次要数据都靠微信群、邮件、口头确认。

有统一流程后:

业务方知道怎么申请
数据 Owner 知道怎么审批
安全团队知道怎么审计
平台团队知道怎么自动执行
管理层知道风险在哪里

协作成本会明显下降。

5. 形成平台产品竞争力

如果你做的是数据平台、IoT 平台、SaaS 平台、行业数字化平台,权限和隐私能力本身就是产品卖点。

客户会为这些能力买单:

多租户隔离
客户级数据权限
字段级脱敏
审计报表
合规证明
私有化部署
数据最小化
安全 API
模型训练数据保护

安全能力越产品化,越容易规模化交付。

十五、未来潜力:从“管访问”走向“管数据生命全周期”

权限和隐私治理未来会继续往几个方向演进。

1. 从静态权限到动态风险权限

未来权限不是配置一次就完,而是实时根据风险调整。

同一个人
同一份数据
白天在公司电脑访问:允许脱敏查询
半夜在陌生 IP 批量导出:拒绝并告警

这需要结合行为分析、设备信任、地理位置、访问历史和数据级别。

2. 从字段脱敏到隐私增强计算

脱敏只能解决一部分问题。对于联合建模、跨机构数据分析、医疗金融等场景,未来会更多使用隐私增强技术。

比如:

差分隐私
联邦学习
安全多方计算
同态加密
可信执行环境
机密计算

NIST 在 2025 年发布的差分隐私指南中提到,差分隐私可以帮助组织在保护个人数据的同时,从数据库中获得有用洞察。

这些技术不会替代权限治理,但会扩展“在不暴露原始数据的情况下使用数据”的能力边界。

3. 从数据治理到 AI 治理

未来数据权限不只控制人,还要控制模型和 Agent。

需要回答:

模型训练能不能用这份数据?
训练后模型是否记住了敏感信息?
Agent 能不能访问这个字段?
Agent 生成答案时是否引用了高敏数据?
提示词里有没有泄露客户数据?
向量库里有没有个人信息?
RAG 检索结果是否经过权限过滤?

这意味着权限系统要进入:

特征库
向量数据库
模型训练平台
Prompt 管理
Agent 工具调用
模型输出审计

4. 从被动审计到主动治理

过去审计是出事后查日志。未来会变成主动治理:

发现某字段被识别为敏感 -> 自动提高级别
发现下游表继承敏感字段 -> 自动加脱敏策略
发现某角色权限长期不用 -> 自动建议回收
发现某 Agent 访问异常 -> 自动阻断
发现某数据产品缺 Owner -> 自动下线风险提示

这就是 Active Metadata,也就是活的元数据。


十六、落地路线:90 天怎么把体系跑起来?

最后给一个比较现实的落地计划。

第 1 阶段:0-30 天,先摸清家底

目标不是做大平台,而是搞清楚风险在哪。

要做:

盘点核心数据源
识别 Top 50 核心表
识别个人信息和敏感字段
建立 L1-L5 分级模型
确定数据 Owner
盘点现有角色和权限
找出高危权限:管理员、导出、生产库直连、服务账号
检查审计日志是否可用

产出:

数据分类分级清单
高敏字段清单
权限风险清单
服务账号清单
审计缺口清单
第一版权限策略

第 2 阶段:30-60 天,先控住高风险

优先处理最容易出事的地方。

要做:

高敏字段动态脱敏
导出权限单独审批
L4 数据访问强审批
生产数据研发访问限时化
服务账号绑定 Owner
敏感访问日志补齐
批量导出告警
离职转岗权限回收

产出:

高敏数据访问流程
字段脱敏规则
导出审批流程
审计报表
风险告警规则

第 3 阶段:60-90 天,体系化和自动化

开始把能力产品化。

要做:

建设数据目录和标签体系
接入元数据和血缘
策略中心统一管理
行级 / 列级权限接入查询引擎
权限申请和审批系统化
季度权限复核机制
PIA / 出境 / 第三方共享流程嵌入需求流程

产出:

统一权限架构
数据标签体系
策略管理平台
合规流程平台
权限复核机制
安全运营看板

90 天后的长期建设

长期方向是:

策略即代码
实时风险评分
数据水印
隐私计算
AI Agent 权限治理
向量库权限过滤
模型训练数据合规
跨租户数据隔离
客户级审计报告

别一上来就追求一步到位。数据安全治理真正有效的路径,是先控高风险,再做自动化,最后做智能化。

十七、最后总结:权限和隐私的本质,是让数据可控地流动

很多人把数据安全理解成“不让用”。

其实不是。

好的数据安全治理,目标不是把数据锁死,而是让数据在可控、可审计、可追责的前提下流动起来。

一句话总结:

数据分类分级决定保护强度,角色权限决定访问边界,字段脱敏降低暴露风险,审计日志提供追责证据,最小权限控制风险半径,合规流程保证业务走得长远。

真正成熟的大数据平台,不是只有算力、存储、实时计算和 BI,而是能回答:

数据从哪里来?
是什么级别?
谁负责?
谁能看?
怎么看?
为什么看?
看了什么?
有没有脱敏?
有没有导出?
出了问题能不能追?

能回答这些问题,数据平台才不是“数据仓库”,而是企业可信的数据底座。

附:一页落地检查清单

模块检查项
分类分级是否有 L1-L5 分级?是否识别个人信息、敏感个人信息、重要数据?
数据目录是否有数据 Owner、字段标签、血缘、使用说明?
角色权限是否区分岗位权限、项目权限、临时权限、服务账号权限?
行列控制是否支持行级过滤、列级授权、字段动态脱敏?
导出控制查询和导出是否分开授权?导出是否审批、限时、水印、审计?
审计日志是否记录人、时间、资源、字段、动作、结果、策略、审批单?
最小权限是否默认拒绝、限时授权、定期复核、自动回收?
合规流程是否支持个人信息影响评估、第三方共享评估、出境评估?
服务账号是否绑定 Owner、用途、过期时间和密钥轮换?
AI / Agent是否有独立身份、工具白名单、数据权限、调用审计?

参考资料

  1. 《中华人民共和国数据安全法》关于数据分类分级保护制度的规定。(国家统计局)
  2. GB/T 43697-2024《数据安全技术 数据分类分级规则》。(国家标准开放平台)
  3. GB/T 35273-2020《信息安全技术 个人信息安全规范》。(国家标准开放平台)
  4. GB/T 22239-2019《信息安全技术 网络安全等级保护基本要求》。(国家标准开放平台)
  5. 《中华人民共和国个人信息保护法》关于个人信息处理规则、安全措施、合规审计和影响评估的规定。(国家邮政局)
  6. 《中华人民共和国网络安全法》关于网络日志留存、数据分类、重要数据备份和加密等要求。(国家市场监督管理总局)
  7. 《网络数据安全管理条例》,2025 年 1 月 1 日起施行。(民政部)
  8. 《促进和规范数据跨境流动规定》关于数据出境安全评估、标准合同和认证适用条件。(国家市场监督管理总局)
  9. NIST SP 800-207 Zero Trust Architecture。(NIST 技术系列出版物)
  10. OWASP API Security Top 10 2023。(OWASP 基金会)
  11. Apache Ranger 关于细粒度访问控制、集中审计、标签授权的说明。(Apache Wiki)
  12. Apache Atlas 关于元数据、分类、血缘和 Ranger 集成的说明。(Apache Atlas)
  13. Google BigQuery 关于列级数据脱敏、策略标签和最小权限的说明。(Google Cloud Documentation)
  14. AWS IAM 关于最小权限、访问分析和定期移除无用权限的最佳实践。(AWS文档)
  15. NIST 关于差分隐私指南和隐私增强技术的说明。(NIST)
  16. Gartner 关于零信任数据治理和 AI 生成数据风险的趋势预测。(Gartner)