TARGETF4B2 PARTIALQA 0/5 VERIFIEDR07 · 8/21 PASS COMPLETEAdmin · 设计最小权限角色并审查权限变化影响的 IAM 管理员和安全审核者

角色、策略与有效权限

角色只是权限集合;有效授权由组织角色、资源 Grant、条件、拒绝规则和 scope 共同决定

/console/roleminiapp-open-platform
R07 · KNIFE 8 / 21

角色、策略与有效权限 · 页面级细化任务包

用 RoleDefinition、ResourceGrant、Condition 与 ExplicitDeny 解释有效权限,并在发布前展示影响。

CURRENT / TARGET ROUTE

尚无当前 React 路由(仅旧契约) → /console/role

ENTRY

从治理或成员详情进入;current 只有固定 developer:read/write 与 app owner check,没有角色系统。

SUCCESS OUTPUT

保存 RoleDefinition revision 或 ApprovalRequest;资源服务只消费 authorization decision,不消费角色名。

COMMAND MODEL

EffectivePermissionSet = coarse scope ∩ membership ∩ role/grant ∩ conditions − explicit deny;默认拒绝。

RESPONSIVE + A11Y

桌面权限矩阵 + diff rail;手机按资源组折叠,allow/deny 同时使用文本、图标和 reason。

TELEMETRY

role_index_view · permission_diff · role_revision_submit · approval_open;不记录完整内部 policy。

CURRENT SOURCE + PRODUCTIONfa9283d / fb1a1b / 157b859
  • miniapp-open-platform formal main fa9283d;EC2 Developer API / Gateway production fb1a1b4 (-1);UX bc62595 / runtime 5e51842 为未合并 candidate
  • reits-auth source 与 production 均为 157b859;health ready,im-core 与 durable session registry ready
  • 当前 Portal 只有 `/login`、`/apps`、`/apps/new`、`/apps/:id/publish` 四个 React 路由
  • 生产 `jx_im_developer` 只有 developer_accounts、developer_apps、app_versions、upload_sessions 四张表
  • 当前授权链是 active session + client_id=developer-portal + developer:read/write + 单一 app owner_id
  • 开发者 read/write scope 已实现且无正缓存;对象级授权当前只检查 app.OwnerID == account.ID
IMPLEMENTATION GAPTARGET ONLY
  • 没有 RoleDefinition、ResourceGrant、Condition、Deny 或 PolicyRevision
  • 没有 authorization:check API、决策 reason 或 revision
  • 没有高风险权限影响查询、MFA elevation 或独立 approver
七个旧路由契约与一个新增服务账号页都不是当前 React 路由;目标 UI 不能作为产品完成证据。
72-STATE PROGRAM / THIS SCREEN

八页分别改变组织、主体、成员、策略、工作负载与审计边界

QA 0 / 5 VERIFIED
READY角色与授权合同可以检查

current scope + target permission model

ORG-ROLES-READY→ 查看有效权限公式
LOADING正在计算有效权限

role / grants / policy revision

ORG-ROLES-LOAD→ 取消计算
EMPTY当前没有角色与 Grant 数据模型

role definitions

ORG-ROLES-NO-MODEL→ 定义首个角色
PARTIAL ERROR权限定义可用,影响范围未知

impact analysis

ORG-ROLES-IMPACT-PARTIAL→ 重试影响分析
ERROR角色 revision 未保存

role revision

ORG-ROLES-SAVE-FAILED→ 重新读取策略
OFFLINE离线查看策略快照

policy snapshot

ORG-ROLES-OFFLINE→ 重新连接
FORBIDDEN没有管理角色与授权的权限

policy.manage

ORG-ROLES-DENY→ 申请策略管理权限
CONFIRM发布高风险权限变更?

RoleRevision / ApprovalRequest

ORG-ROLES-PUBLISH-CONFIRM→ 提交双人审批
SUCCESS角色 revision 已提交

policy receipt

ORG-ROLES-PUBLISHED→ 查看策略传播
ORGANIZATION BOUNDARY本刀只细化 developer.reits.tech 的组织与资源授权目标 UI;不创建企业,不上传验证材料,不邀请/移除成员,不修改角色/Grant,不创建服务主体,不签发或撤销凭证,不导出审计,也不把旧契约和目标 fixture 冒充为 current product。
UI STUDIOtarget-open-roles
Admin1440 × 900100%
100%
/console/role
TARGET UI1440 × 900FIT 100%
R07 DESIGN CANDIDATE · target-open-roles · TARGET ONLY
TARGET ORGANIZATION CONTROL PLANECurrent organization · unavailable
AU
EFFECTIVE PERMISSIONS · CURRENT SCOPE / TARGET POLICY

角色与权限

当前只有固定 developer:read/write 与 app owner check;RoleDefinition、ResourceGrant、Condition、ExplicitDeny 和 PolicyRevision 都未实现。

TARGET EFFECTIVE PERMISSION MODEL

默认拒绝 · 显式拒绝优先

scope ∩ membership ∩ role/grant ∩ conditions − explicit deny
Permission类别实现资源Condition
developer:readAUTH SCOPECURRENTcontrol plane readsource verified
developer:writeAUTH SCOPECURRENTcontrol plane writesource verified
app.ownerOBJECT CHECKCURRENTowner_id equalitysource verified
organization.readRESOURCETARGETno modelNOT IMPLEMENTED
member.manageRESOURCETARGETno modelNOT IMPLEMENTED
release.publishRESOURCETARGETno decision APINOT IMPLEMENTED
前端角色名不能代替服务端 authorization decision
REFERENCE VIEWPORT1440 × 900Desktop first · responsive
PRIMARY TASK创建自定义角色主操作、权限与完成反馈必须同屏可验证
DATA CONTRACTRoleDefinitionready / loading / empty / error 使用同一 fixture
ACCESSIBILITYKeyboard + WCAG AA焦点顺序、可读名称、对比度进入 UI CI
VISUAL BASELINETARGET · 2026-07-17桌面/移动、浅色/错误态按稳定 Screen ID 留档

IMPLEMENTATION MAP

目标定义与下一轮逐页细化入口

当前处于 B1/B2:可以拆出架构、设计、交互和 QA 任务,但完成 D01–D12、通过 B3/B4 之前,不得宣称页面已经可以照稿实现。

01

页面区域

  • 组织与 policy revision
  • 角色目录
  • 角色定义
  • 权限矩阵
  • 资源层级
  • 条件/拒绝规则
  • 变更影响
  • 保存/审批/发布回执
02

用户动作

  • 创建自定义角色
  • 比较角色
  • 编辑权限集合
  • 设置资源条件
  • 预览有效权限
  • 请求双人审批
  • 发布新 policy revision
03

必须状态

  • 角色策略就绪
  • 角色与权限加载
  • 尚无自定义角色
  • 有效权限计算部分失败
  • 角色保存失败
  • 离线只读策略
  • 缺少 role:manage
  • 高风险角色确认
  • Policy revision 已发布
04

数据契约

  • RoleDefinition
  • PermissionCatalog
  • ResourceGrant
  • PolicyCondition
  • ExplicitDeny
  • EffectivePermissionSet
  • RoleChangeImpact
  • AuditReceipt

TARGET MODULES

目标页面必须交付的模块

  1. 01内置/自定义角色
  2. 02权限矩阵
  3. 03组织/应用资源层级
  4. 04允许与显式拒绝
  5. 05条件和临时提升
  6. 06成员/资源影响预览
  7. 07Policy revision
  8. 08双人审批

PRODUCT ROUTE INDEX

开放平台 · 组织 的 38 个稳定 Screen ID

同一产品内的页面共享 token、导航和状态语言,但每个 Screen ID 保留自己的字段、数据契约和 QA 基线。

01
开发者登录/login
Web
02
我的小程序/apps
Web
03
创建小程序/apps/new
Web
04
应用发布/apps/:id/publish
Web
05
应用索引与控制面健康/apps
Admin
06
三步创建应用/apps/new
Admin
07
上传、审核与原子发布/apps/:appId/releases/new
Admin
08
应用基本信息与生命周期/apps/:appId/settings
Admin
09
环境、回调与凭证/apps/:appId/config
Admin
10
版本历史、对比与回滚/apps/:appId/versions
Admin
11
接口、Scope 与使用量/apps/:appId/capabilities
Admin
12
能力申请与审核/apps/:appId/capability-requests
Admin
13
组织目录与企业边界/mini-company/list
Admin
14
创建与验证企业/mini-company/create
Admin
15
开发治理概览/console/development
Admin
16
开发者身份与资源关系/console/developer
Admin
17
成员、邀请与离职治理/console/member
Admin
18
角色、策略与有效权限/console/role
Admin
19
服务账号与工作负载身份/console/service-accounts
Admin
20
操作、授权与安全审计/console/log
Admin
21
机器人目录与运行健康/robot/list
Admin
22
创建机器人与最小授权/robot/create
Admin
23
机器人基本信息与生命周期/robot/baseInfo/:id
Admin
24
事件订阅与开发配置/robot/devConfig/:id
Admin
25
命令定义、权限与测试/robot/command/:id
Admin
26
Bot Token 与运行凭证/robot/token/:id
Admin
27
事件交付、重试与 Redelivery/robot/:id/deliveries
Admin
28
支付订单与资金生命周期/mini/:type/paymentOrders/:id
Admin
29
用户数据、授权与主体请求/mini/:type/userData/:id
Admin
30
支付能力申请与独立复核/mini/:type/payApply/:id
Admin
31
组织财务、结算与对账/console/finance
Admin
32
公共开发者首页与能力总览/
Web
33
Mini App 产品、Quickstart 与宿主边界/mini
Web
34
企业开发与组织治理介绍/mini-company
Web
35
机器人、命令与事件自动化介绍/robot
Web
36
商业合作、场景准入与能力边界/business
Web
37
平台公告、变更影响与订阅中心/notice
Web
38
个人账号、安全、授权与偏好中心/console/my
Admin