阅读时间:1 分钟
0 字
策略服务
状态:待开发。 当前只有 services/ontology-policy/ 目录骨架。
集中处理租户隔离、RBAC、ABAC、ReBAC,以及对象、实例和字段级授权。入口、运行时及 Action 服务都应使用一致的决策语义,不能仅在界面隐藏操作。
负责范围
- 管理策略包、版本、发布和回滚。
- 对模型、对象、实例、字段、关系、Function、Action 和管理操作返回决策。
- 输出字段掩码、实例谓词、允许对象集合、关系深度、审批要求和资源预算。
- 记录策略版本、决策 ID、输入摘要和解释信息。
身份提供方负责认证和令牌签发;Policy 只消费经过验证的主体与委托上下文。业务规则由 Action 或领域服务拥有,不能全部塞入权限策略。
决策接口
输入包含租户、主体、委托链、资源、动作、模型版本和环境上下文。输出包含允许或拒绝、强制约束、策略版本、决策 ID 和可审计理由。敏感策略细节不直接返回终端用户。
性能与一致性
列表查询使用可下推谓词、允许集合或关系索引,禁止逐行远程决策。缓存键包含租户、主体、资源、动作、策略版本和相关上下文;策略发布和关系变化触发失效。
验收重点
- API、Runtime 和 Actions 对同一输入获得一致决策语义。
- 默认拒绝,缺失租户、主体或策略版本时不降级放行。
- 策略缓存不会跨租户或跨主体泄漏。
- 决策日志可审计,同时避免记录敏感属性原值。