# 默认基础能力与应用业务权限 自 v0.17.10 起,底座通过内置“默认用户”角色自动赋予全部已登录启用用户基础只读权限。新账号注册时自动取得,旧账号在升级时幂等补齐,无需逐用户、逐应用人工配置。 | 能力 | 默认策略 | 范围 | |---|---|---| | identity.get | 应用声明并获准后使用 | 当前调用人的身份和有效权限,不返回密钥 | | modules.read | 默认角色自动拥有 | 查看应用目录;不授予业务记录或管理能力 | | directory.read | 默认角色自动拥有 | 已启用且纳入组织的姓名、邮箱、部门及稳定用户 ID | | modules.submit | 默认拥有 | 提交、模拟并发布本人应用;不能接管他人应用 | | records.list/create | 应用声明并通过发布审核 | 仍检查当前业务动作权限和记录数据范围 | | 工时审核、单价和成本 | 按应用角色授予 | 不因通讯录可读而自动开放 | | 用户、组织、角色编辑及云连接器 | 非默认能力 | 管理员或专门授权 | 基础能力使用明确白名单,不自动纳入全部 `.read` 权限。薪酬、成本、审计、监控等即便是读取也可能敏感。新增基础服务需统一调整默认角色、测试和迁移,不能由应用自行声称。 ## 应用接入 应用在 manifest.capabilities 声明 directory.read,随包提交并通过隔离模拟。发布者通过默认角色已经拥有权限,通常无需管理员手动配置。capability 仍须列入本次批准清单,应用不能调用未声明或未批准的服务。 目录读取通过当前请求绑定的 HostRequest;底座检查用户启用状态、模块 capability、当前动作权限和 Key 限权。保存工时、指定项目经理、维护单价等已授权写动作,也可使用只读通讯录验证人员 ID,无需复制整套员工档案。 通讯录只返回 departments 和 contacts:姓名、邮箱、部门和稳定 ID;不返回密码、角色、凭据、停用账号或未纳入组织的纯注册用户。人员以底座为唯一来源,业务保存稳定 ID 和审计需要的历史姓名/部门快照,不补造底座未提供的电话或职级。 ## Key 与升级 默认 Key 跟随账号实时权限,自动取得基础能力。显式设置 permissions 白名单的 Key 仍按交集限权;不会因为角色新增权限而越过白名单。匿名、停用账号、过期 Key、未批准 capability 和缺少当前动作权限的调用仍拒绝。 升级只迁移默认角色的基础权限,保留其他角色、账号 ID、邮箱、部门、凭据、业务记录及模块包。旧默认角色 modules.read/modules.submit 自动升级,重复启动幂等。业务数据范围、审核权和成本权限保持原有分工。 ## 工时应用 员工页面只读展示底座通讯录;人员新增、修改、停用在底座用户与组织管理完成。周报、项目经理和单价绑定底座用户 ID。员工填报本人,审核员按业务角色和数据范围审核,单价和成本仅向业务管理员开放。基础读取无需逐用户设置,敏感业务继续按角色管理。