阅读时间:1 分钟
0 字

策略服务 ​

状态:待开发。 当前只有 services/ontology-policy/ 目录骨架。

集中处理租户隔离、RBAC、ABAC、ReBAC,以及对象、实例和字段级授权。入口、运行时及 Action 服务都应使用一致的决策语义,不能仅在界面隐藏操作。

负责范围 ​

  • 管理策略包、版本、发布和回滚。
  • 对模型、对象、实例、字段、关系、Function、Action 和管理操作返回决策。
  • 输出字段掩码、实例谓词、允许对象集合、关系深度、审批要求和资源预算。
  • 记录策略版本、决策 ID、输入摘要和解释信息。

身份提供方负责认证和令牌签发;Policy 只消费经过验证的主体与委托上下文。业务规则由 Action 或领域服务拥有,不能全部塞入权限策略。

决策接口 ​

输入包含租户、主体、委托链、资源、动作、模型版本和环境上下文。输出包含允许或拒绝、强制约束、策略版本、决策 ID 和可审计理由。敏感策略细节不直接返回终端用户。

性能与一致性 ​

列表查询使用可下推谓词、允许集合或关系索引,禁止逐行远程决策。缓存键包含租户、主体、资源、动作、策略版本和相关上下文;策略发布和关系变化触发失效。

验收重点 ​

  • API、Runtime 和 Actions 对同一输入获得一致决策语义。
  • 默认拒绝,缺失租户、主体或策略版本时不降级放行。
  • 策略缓存不会跨租户或跨主体泄漏。
  • 决策日志可审计,同时避免记录敏感属性原值。