优化
This commit is contained in:
+1
-1
@@ -44,7 +44,7 @@
|
||||
- Lastleg 以 MySQL `ll_security_event_inbox` 和 `ll_security_projection` 为可靠来源:eventId 相同 hash 相同幂等,异 hash 冲突;聚合版本只单调推进,旧版本标记 STALE,同版本异 hash 冲突。Redis 仅为提交后写入的可重建镜像,授权校验不依赖 Redis 默认放行。
|
||||
- 海外 Gateway 对全部 `/api/**` 在本地 JWT 验签后,传递 `userId/tenantId/permissionVersion` 到 Lastleg 安全入口。Lastleg 校验通过时返回该版本的角色与海外权限快照,Gateway 清除外部伪造的授权头后,以内部服务令牌保护的可信头传给海外业务服务。业务服务必须同时验证 JWT 和内部服务令牌,不得从 JWT 回退读取完整权限集。用户停用返回 A0401;客户停用或 Token 权限版本不一致返回 A0403;安全投影、SQL 或调用链不可用均 fail-closed。PDA 在此基础上继续执行 Auth 仓绑定实时核验。
|
||||
- Auth 的登录、刷新和海外 Token 兑换响应在响应体中返回当前 `roles/authorities` 授权快照;国内与海外 JWT 都只保留主体、客户、成员、应用、版本和海外仓绑定等最小身份 Claim,不携带角色或权限集合。客户端可用响应快照做入口展示或本地前置提示,但每次业务请求的最终授权仍由 Gateway/Lastleg 的实时投影决定;客户端不得再从 JWT 解析角色或权限,也不得把响应快照作为绕过服务端校验的依据。
|
||||
- 新客户创建、审核激活以及新用户授权均由 IAM 在业务事务内写初始安全事件。开发阶段不提供历史账号长期 Bootstrap 或兼容入口;固定 `platform_admin` 由 Lastleg 数据库基线初始化 version=0 的 USER 投影,所有既有开发账号(包括 `platform_admin`)必须在部署后由总控按 IAM 当前事实一次性重建 AUTHORIZATION 授权快照,不纳入产品代码。任何缺失投影继续 fail-closed,不能在 Lastleg 运行时代填或默认放行。
|
||||
- 新客户创建、审核激活以及新用户授权均由 IAM 在业务事务内写初始安全事件。开发阶段不提供历史账号长期 Bootstrap 或兼容入口;固定 `platform_admin` 由 Lastleg 数据库基线初始化 version=0 的 USER/AUTHORIZATION 投影,其中 AUTHORIZATION 冻结当前 `PLATFORM_ADMIN` 角色及 IAM 跨区前缀下的完整权限集合,空库重建后无需人工补投即可访问海外接口,后续 version>=1 的真实 IAM 事件单调覆盖。其他既有开发账号仍须由总控按 IAM 当前事实一次性重建授权快照;任何缺失投影继续 fail-closed,不能在 Lastleg 运行时代填或默认放行。
|
||||
|
||||
## 修改与验收
|
||||
|
||||
|
||||
Reference in New Issue
Block a user