DM-01|组织、身份与授权领域模型
状态:working-draft;候选模型,不是已锁定的结构或状态契约。
上游:BC-01;输入:旧聚合材料(历史材料保留在docs_bak/)。
编写:主会话;业务决策与长期维护人:待指定。日期:2026-09-18。
1. 对象分类与候选聚合
| 对象 | 分类 | 维护什么 | 要保护的业务含义 |
|---|---|---|---|
| Person / Account | 候选独立根 | 自然人身份 / 登录身份及绑定引用 | 身份标识稳定;账号关闭不删除业务历史 |
| AuthSession / ServicePrincipal | 候选独立根 | 单会话撤销;机器凭证与授权范围 | 不同主体不能共用无限权限;凭证轮换保留历史 |
| OrganizationUnit / OperatingUnit / ServiceArea | 候选根,分别建模 | 组织或作业单元;区域版本 | 管理树、作业网与服务边界不可混同 |
| Membership / WorkAssignment | 候选根 | 一个成员关系或有范围的岗位指派 | 职责生效期和作用范围明确 |
| Role / PolicyVersion | 候选根及不可变版本 | 角色能力集合;已发布策略 | 策略发布与历史版本分开 |
| RoleAssignment | 候选根 | 主体、角色、范围、生效期 | 不能由前端角色名称自行产生授权 |
| CurrentActor / AuthorizationDecision | 决策输入快照 / 决策记录 | 主体上下文、版本与判定依据 | 不是永远有效的通行证 |
“候选根”表示需要独立身份、生命周期及一致性责任的提案,不代表每行已经确定为一个事务。历史、子实体、值对象及集合的最终边界还需基于规模和不变量核对。
2. 关系与引用
Account 引用 Person;会话引用主体;岗位指派引用组织与成员关系;授权绑定引用主体、角色和类型化范围。不要将全组织、全部角色和会话装进一个 AccessPolicy 或 OperatingNetwork 聚合。
值对象及共享引用的统一含义见 MODELING-RULES。上下文之间引用 ID、版本或不可变快照,不共享可变实体。
3. 生命周期
账号:开通 → 可用 ↔ 受限 → 关闭;会话:有效 → 过期或撤销;授权:待生效 → 生效 → 到期或撤销。名称为业务语义草案;解锁不自动恢复被另行撤销的岗位授权。
这些是语义级路径,尚未列全每种政策下的迁移;不能直接生成生产枚举。业务对象状态、协调进度和技术回执分别保存与展示。
4. 业务动作与事件
管理员变更岗位/角色时检查授权范围与职责分离;撤销会话由会话 Owner 处理;有效操作查询需组合业务对象关系;事件候选为“会话已撤销”“授权已变更”,登录日志不必全部升级为集成事件。
事件名称为中文业务语义候选,不新建机器事件名。进入后续契约设计时逐项确定输入、前置条件、结果、错误和受众。
5. 强一致性及并发边界
授权更新与安全版本更新必须一致;角色变化和业务对象变化不能用单一对象版本替代。高风险动作需明确允许的撤权窗口及最终检查点,不能用旧缓存无限放行。
共同约束见 CONSISTENCY:单根版本不能替代跨对象约束;如需同 BC 多根本地事务,必须明确保护范围与理由,不能默认为整个 BC 一把锁。
6. 反例、未知与下一步
并发授予/撤销同一权限;账号锁定但已有退款义务仍需受限系统身份恢复;外部身份绑定竞争。账号人数约束、组织树规则、撤权传播目标未定。
上述反例是设计验证目标,尚未执行产品测试。先关闭影响边界的不确定性,再完善动作级迁移表及精确模型。身份、权限与业务状态的联动仍遵守 07 的统一授权接缝,不在本页复制一套权限规则。
7. 交易严谨性补充(2026-09-29)
权限与终态不是同一维度。管理员、客服、批量任务和恢复 Worker 均不得绕过商业终态;新人工意图执行时复查对象归属及当前授权。既有退款/停止的恢复须独立受限服务主体,保留原发起者,不能因其登出/离职就遗弃义务。已撤销会话、授权指派的重新授予使用新记录,不能覆盖旧撤销证据。金额类经办/复核职责和阈值仍待定。
共用不变量、反例与恢复主讲见TRANSACTION-INTEGRITY。本节是设计约束,不证明本域实现或全部状态契约完成。