2. 身份权限治理的核心模型与隐私计算适配

身份权限治理要解决的核心问题是:在正确的时间、以正确的条件,让正确的身份对正确的数据资源获得正确的操作权限。在隐私计算环境中,这个问题被进一步复杂化——数据往往以密文、分片、联邦模型或可信执行环境中的形式存在,参与方之间互不信任,权限判断不仅要回答“谁能做什么”,还要回答“在什么计算形态下、经过哪些隐私保护约束后,还能做什么”。因此,理解 RBAC、ABAC、ReBAC、PBAC 四类核心模型的适用边界与改造点,是隐私计算权限治理选型的基础。

四类核心模型的本质差异

RBAC(基于角色的访问控制)把权限绑定到角色,再把角色分配给用户。它的优势是结构清晰、易于审计,适合组织架构稳定的场景。但在隐私计算中,角色往往无法表达“同一角色在不同数据域、不同计算任务中的差异化权限”。例如,某医疗联邦学习平台中,“数据分析师”角色在本地明文环境可读取全量数据,但在联邦计算中只能提交模型梯度,不能接触原始样本。此时仅靠角色无法区分,需要引入资源属性或环境属性。

ABAC(基于属性的访问控制)通过主体属性、资源属性、操作属性和环境属性组合成策略,表达能力远强于 RBAC。在隐私计算中,ABAC 可以表达“仅当数据分级为 L2 且计算环境为 TEE 且请求方持有有效数据使用授权时,允许执行联合统计”。但 ABAC 的策略数量会随属性维度增长而膨胀,且属性来源可能分散在多个参与方,存在属性可信性问题。

ReBAC(基于关系的访问控制)关注主体与资源之间的图关系,典型如“用户是项目成员”“项目拥有数据集”“数据集被任务引用”。在隐私计算的多方协作中,ReBAC 非常适合表达跨组织的授权链:A 机构授权 B 机构使用某数据集,B 机构再授权其子团队执行特定计算任务。关系图可以自然承载这种传递性授权,但需要解决关系数据的隐私保护与跨域同步问题。

PBAC(基于策略的访问控制)更强调策略即代码、策略与执行分离,通常与策略引擎(如 OPA、XACML)结合。在隐私计算中,PBAC 可以把隐私约束(如差分隐私预算、k-匿名阈值、数据最小化原则)编码为策略,在计算任务提交前进行统一裁决。它的优势是灵活、可集中管理,但策略的正确性验证和冲突消解是工程难点。

隐私计算环境下四类权限模型适配关系 RBAC 角色 → 权限 组织架构稳定场景 ABAC 属性组合 → 策略 细粒度动态判断 ReBAC 关系图 → 授权链 跨组织协作传递 PBAC 策略即代码 → 裁决 隐私约束统一编码 隐私计算约束 数据密文/分片形态 计算环境可信等级 差分隐私预算/阈值 跨域身份互信 审计与溯源要求 RBAC 改造点 角色需叠加“数据域+计算形态”维度 引入角色-任务临时绑定 ABAC 改造点 属性需增加“隐私保护等级”字段 跨方属性需可验证凭证支撑 ReBAC 改造点 关系图需支持密态查询与最小披露 授权链需绑定计算任务生命周期 PBAC 改造点 策略引擎需接入隐私预算与合规规则 策略冲突需可解释、可回溯 选型原则:以 ABAC/PBAC 为策略骨架,用 ReBAC 表达跨域授权链,RBAC 作为组织内基线

隐私计算带来的关键改造点

把上述模型直接搬进隐私计算环境,通常会在四个位置“卡住”。第一是资源形态变化:传统模型假设资源是明文文件或数据库表,而隐私计算中资源可能是密文、梯度、分片或 TEE 内的中间结果。权限判断必须能识别“对密文执行同态运算”与“对明文执行读取”是两种不同操作,不能共用同一套权限位。第二是环境属性缺失:ABAC 依赖环境属性,但隐私计算中的“计算环境可信等级”“参与方在线状态”“隐私预算剩余量”往往由运行时动态产生,需要策略引擎与计算调度器实时联动。第三是跨域身份互信:ReBAC 的关系图天然跨组织,但各方身份体系不同,需要可验证凭证或联邦身份映射,否则关系边无法被可信地建立和撤销。第四是审计与溯源:隐私计算要求“数据可用不可见”,但权限治理必须“行为可审计”,因此策略决策日志、属性来源、关系变更都要留下可验证记录,且日志本身不能泄露敏感信息。

选型方法:从场景约束反推模型组合

实际工程中很少只用一种模型。更可行的做法是先识别场景的三个约束维度:参与方数量与信任关系、数据形态与计算方式、合规与审计强度。然后按以下思路组合:

  • 组织内部、角色稳定、数据以明文为主:以 RBAC 为基线,叠加少量 ABAC 规则处理敏感数据分级。
  • 多方联邦、跨组织协作、授权关系复杂:以 ReBAC 表达参与方与数据、任务之间的授权链,用 ABAC 补充环境条件判断。
  • 强合规、策略频繁变更、需要集中裁决:以 PBAC 为策略骨架,把隐私预算、最小化原则、用途限制编码为策略,RBAC/ABAC 作为属性来源。
  • 混合形态:常见组合是“PBAC 统一裁决 + ABAC 提供属性 + ReBAC 提供关系 + RBAC 提供组织基线”,四者不是替代关系,而是分层协作。
选型时优先问三个问题:权限判断需要哪些属性?这些属性由谁提供、是否可信?策略变更后多久能生效?回答清楚这三个问题,模型组合基本就确定了。

一个可参考的策略片段

下面以 PBAC 风格给出一个隐私计算场景的策略示例,表达“仅当请求方属于项目组、数据分级为 L2、计算环境为 TEE、且剩余隐私预算大于 0.5 时,允许执行联合统计”。该示例为教学假设,参数可按实际平台调整。

policy "federated_stats_access" {
  target: action == "compute.federated_stats"
  condition:
    subject.project_member == true
    and resource.sensitivity == "L2"
    and environment.tee_attested == true
    and environment.dp_budget_remaining > 0.5
  effect: allow
  obligations:
    - log_decision(to: "audit_ledger", redact: ["subject.id"])
    - decrement_dp_budget(by: 0.1)
}

这段策略体现了三个隐私计算适配要点:环境属性参与判断(TEE 证明、隐私预算)、义务与决策绑定(扣减预算、脱敏审计)、策略可解释(每个条件都可追溯到属性来源)。在落地时,策略引擎需要与计算调度器共享环境属性,并在决策后把义务执行结果写回审计账本,否则“允许”与“实际扣减”之间会出现不一致。

选型后的验证要点

模型组合确定后,建议用一组最小测试用例验证权限边界是否与预期一致。例如:同一用户在不同计算环境(明文 vs TEE)下请求同一资源,应得到不同决策;隐私预算耗尽后,原本允许的联合统计应被拒绝;跨组织关系撤销后,下游任务应无法继续访问数据。这些用例不需要覆盖全部策略,但必须覆盖“环境变化、预算变化、关系变化”三类动态因素,因为隐私计算权限治理的风险往往不在静态配置,而在动态状态切换时的判断一致性。

总体而言,RBAC 提供组织基线,ABAC 提供属性表达,ReBAC 提供跨域关系,PBAC 提供统一裁决与隐私约束编码。隐私计算适配的关键不是替换模型,而是让四类模型在属性来源、环境感知、关系可信和策略执行四个层面协同工作,最终形成可审计、可解释、可动态调整的权限治理体系。