算,但只对了一半。权限规则仍由业务系统定:谁能对哪份单据做什么,取决于业务侧的角色、单据状态和数据范围。石墨办公文档中台私有部署(Shimo Office SDK,以下简称文档中台)托管企业既有权限体系、开放权限接口,执行接入方判定的结果,不替代业务入口和流程;接入方仍要自己设计身份、权限与异常处理。要解决的不是“搬不搬过去”,而是“判定在业务侧、执行在文档侧,两边对得上”。
操作记录也不会自动合并:文档侧给文档事件与安全事件回调,业务侧有单据流水,两段要在设计阶段用同一个业务对象标识串起来,否则出事只能人工比对日志。
一、先把三件事分开
拆开看,责任方和验收方式都不同。
| 事项 | 在哪 | 常见的错 | 验收看什么 |
|---|---|---|---|
| 权限规则 | 业务系统:角色、单据、数据范围 | 开户同步一次就不再查 | 两侧判定是否一致 |
| 执行判定 | 文档中台:执行接入方判定 | 把隐藏按钮当成拦截 | 直接调接口能否绕过 |
| 撤权生效 | 业务侧触发,会话与链接失效 | 只改账号状态,不管已开会话 | 各入口分别多久失效 |
| 操作记录 | 两侧各记一段:流水加事件 | 以为一方能覆盖 | 能否用单据号查回一条动作 |
所以:算,前提是每次打开、每次调用都带当前权限;只在开户时同步一次,权限一变就对不上。
二、四类接入各管一段
按“动作经过谁”分,每类各管一段:
- JSSDK:把编辑器和预览嵌进页面;打开时由接入方传入业务身份与当前权限,具体字段以开发文档为准,它不是永久权限。
- JSAPI:供页面调用打开、保存等动作,范围以开发文档为准。按钮藏起来不等于接口会拒绝。
- 服务端 API:创建、导入导出、读内容、格式转换等不经过页面的动作。最易漏审:调用方是系统身份还是具体用户,必须提前写死。
- 事件回调:文档事件与安全事件回传业务系统,是审计主通道。事件类型与字段范围以部署版本开发文档为准,别照演示清单写验收。
能上线的是四类都打通:权限多出在“页面拦了、接口没拦”,审计多出在“事件收到了、配不上单据”。
三、权限对账:同一动作在两侧各跑一次
验收不看配置页,而是同一动作在两侧各跑一遍、结果写进同一行。
- 先定判定表。把业务角色翻成打开、编辑、导出、分享四类动作,翻不动的进例外清单。
- 账号从反例里挑。本该被拒的、刚被撤权的,比正向用例更重要。
- 两侧各跑一遍。同一单据、同一动作,记业务侧判定与文档侧结果,不一致的单列差异行。
- 撤权单独计时。编辑中撤权能否保存、已开会话多久失效、分享链接是否同时失效、搜索还命中吗,四个时间点分开记。
- 直接调接口验一次。用被拒账号的凭证调服务端接口,看是否同样被拒。页面拦住、接口放行是最常见的越权路径。
| 填写项 | 记录内容 |
|---|---|
| 动作与对象 | 单据号:____;文档标识:____;动作:打开/编辑/导出/分享 |
| 业务侧判定 | 依据(角色、单据状态):____;结果:____ |
| 文档侧结果 | 表现:____;拒绝提示或错误码:____ |
| 差异与处置 | 不一致:____;处置(改映射/改流程/接受):____ |
| 撤权时间 | 触发:____;会话失效:____;链接失效:____;搜索生效:____ |
四、审计回查:一条记录要回答四个问题
“操作记录在哪看”取决于要回答什么。能用的记录至少讲清:谁、对哪份单据和哪一版文档、做了什么、结果如何;缺一项就只证明“有人来过”。
两侧形态不一样:文档中台侧是权限、版本等核心接口加文档事件与安全事件回调;业务侧是单据流水和操作日志。谁都不天然拥有另一半,合并只能由接入方做。容易混淆的是,石墨办公套件私有部署里的“操作记录”属套件能力;文档中台侧是否有同等的记录与查询接口,以部署版本的接口与事件清单为准,两个产品分开验收。
- 动作范围先确认。哪些动作产生事件、字段里有没有业务标识,拿部署版本文档核对;没写明的记待确认,别按“应该会有”写。
- 合并键先定。业务单据号做主键,文档标识与操作人做副键;时间只缩小范围,不当唯一关联条件。
- 留存与防篡改另说。要长期保存、不可篡改、能对外取证的,交企业日志或审计平台;文档侧负责把事件发出去,能否长期保存、导出与防篡改,公开页未写明,需与方案团队确认。
回查可做成演练:只给单据号和一个大致时间,让两个不在项目组的人各自找回该操作,结论一致才算打通。
五、并发口径要和验收范围一起定
并发是同时使用数,企业总用户数对应席位数;用员工总数估并发,容量与日志量会一起虚高。用并发计算器按业务动作折算,再用 PoC 校正。审计另记两条:该并发下事件会不会丢、重复时能否幂等,这两条要单列,别被打开耗时盖过去。
边界要提前说清:不可篡改、可公证的取证记录交企业审计平台,文档中台能把事件发出去,长期保存与导出能力需与方案团队确认;按行、按列隔离数据应由业务系统或流程设计解决,文档侧按文件或空间授权,行级能力以产品确认为准;完全不连外网,官网口径只是内网使用,需与方案团队确认。
能力范围可对照文档中台私有部署产品页,安全合规要求参考数据安全与合规方案。
常见问题
业务系统权限怎么同步给文档?
不要指望同步一张权限表。每次打开、每次调用都带当前身份与权限;人员、角色、单据状态变化时,业务侧同时处理已开的会话和已发出的链接。
文档里的操作谁记录?
两侧各记一段:文档中台提供文档事件与安全事件回调,以及权限、版本等核心接口;业务系统记单据流水和自己的日志。合成可回查记录的责任在接入方。
出问题怎么查?
先拿单据号加时间窗在两侧各查一遍,再按“谁、对什么、做了什么、结果”四问对齐。查不到时先确认动作是否在采集范围,再查合并键是否缺失,别直接判成“没发生过”。
准备做嵌入的项目,先填好判定表与对账单,带一份真实单据、四组账号与预估并发去预约演示,把权限、事件范围和验收口径一次谈清。也可以先看私有化部署方案,了解部署形态与交付范围。