文章目录
文章目录
本文目录
本文目录

自己封 API、MCP server、买企业知识库:权限能细到单个文件吗

石墨办公 + AI

把权限粒度拆成组织、空间、文件、单元格四级,比较自己封 API、MCP 工具服务(业界做法,我们不提供 MCP Server)、现成企业知识库三条路各自把权限做在哪一层;说明单个文件可以做到,单元格级与行级我们未提供、需以产品确认为准,并给三条现实替代路径。

结论:三条路在权限粒度上的差别,不在“能不能控到单个文件”——自己封 API、用 MCP 工具服务、买现成企业知识库,公开资料显示都能做到以文件为单位的授权;差别在权限由谁定义、在哪一层执行、换个入口还成不成立。再往下一级,单元格级与行级的数据隔离,我们未提供,这类需求以产品确认为准,通常要落在业务系统或流程设计上。

还有一条必须先说清:石墨办公不提供 MCP Server,Agent 接入走 CLI 与 API。MCP 在本文只作为业界通用做法介绍,不是我们的接入方式。

权限粒度四级台阶示意:组织与角色、空间、单个文件可以做到,单元格级与行级未提供,底部给出三条替代路径。
原创示意图:权限粒度按四级台阶理解,前三级的边界清楚,第四级要靠业务侧解决。

一、先把“粒度”说成四级台阶

“能细到单个文件吗”这个问题,只有在粒度口径统一后才有答案。按从粗到细分四级,每一级对应一种控制对象。

四级权限粒度与我们的口径(第四级需以产品确认为准)
粒度控制对象我们的口径说明
第一级:组织与角色成员、部门、角色可以角色权限决定能否使用某项管理能力
第二级:空间团队空间、知识库可以协作与授权的常用单位
第三级:单个文件一份文档或表格可以文件权限与角色权限叠加生效
第四级:单元格、行表格内的单元格或数据行未提供需以产品确认为准,通常由业务系统或流程限制解决

四级台阶的意义在于代价:文件级授权是标准能力,单元格级要的其实是数据权限,属于另一类系统的事,不是给文档加个开关就能得到。

二、三条路各自把权限做在哪一层

三条路径的权限来源与可控制粒度对照(外部做法只描述其公开形态)
做法权限来源能控到哪一级单元格级怎么办
自己封 API你设计的鉴权层与背后的文档系统到文件级;再往下取决于底层要另想办法,接口造不出更细的权限
MCP 工具服务(业界做法)协议不定义权限,仍由背后系统判断到文件级需自行评估,工具本身不提供
现成企业知识库检索时按调用者身份过滤公开资料多为空间、知识库、文档级公开资料未涉及,需以其官方说明为准

自己封 API:能控接口,控不了底层粒度

自己封装的自由度在于入口和流程,但权限不是接口给的,是背后的文档系统给的。底层只表达文件级授权时,接口再设计也造不出单元格级;反过来说,只要底层按文件授权,你就能把“谁能调这个接口”收得很紧。

MCP 工具服务:粒度取决于背后的系统

协议本身不判断谁能读哪份文件。所以看一条 MCP 路线能细到哪一级,要问的不是协议,而是它背后接的那个文档系统:底层只做到空间或文件级,工具加得再多也补不出单元格级;要在检索层按身份过滤,同样是背后系统在过滤,不是协议在过滤。石墨办公不提供 MCP Server,Agent 接入走 CLI 与 API。

现成企业知识库:权限在检索层生效

知识库类产品的做法是在检索召回阶段按身份过滤,公开资料常见的粒度是知识空间、知识库、文档三级,问答只返回用户有权限的内容。这条路的强项是“答得准且不越权”,弱项是它通常不承担“改文档”的职责。

三、单个文件:能做到,但要三件事到位

  1. 用空间做粗分组。先按部门或项目建空间,把“大多数人该看的”和“少数人该看的”分开,减少逐文件授权的数量。
  2. 例外收到文件级。空间授权仍是主路径;确有跨空间的个别文件,按文件单独授权,并写清回收时点与复核人,不为个别文件破例扩空间。
  3. 撤销后立刻验证。把人移出空间或撤回共享,再用同一请求访问一次,必须失败;两边表现一致才算收口。

还要记住叠加关系:角色权限决定能不能用管理能力,文件权限决定对具体文件或空间能做什么,两者叠加生效。只调其中一项,经常得到“看起来改了但没生效”的结果。

四、要控到单元格或行:三条现实路径

  1. 拆文件。一个客户一份表、一个部门一份表,让权限在文件这一级就够用;代价是汇总要另做。
  2. 拆数据源。敏感列或敏感行不进文档,留在业务系统里,文档只放可共享的部分。
  3. 业务系统侧做数据权限。由业务系统先过滤,再把过滤后的结果写进文档;文档侧不再承担行级隔离。

我们未提供单元格级与行级权限,具体支持范围以产品确认为准。也不要把“隐藏列”“只读视图”当成权限:它们改变的是显示,不是访问。

常见问题

MCP 是必须的吗

不是。它只是业界常见的一种工具接入方式,用来让 AI 应用连外部系统。石墨办公不提供 MCP Server,Agent 接入走 CLI 与 API;已经有 MCP 生态的团队,接我们这一侧仍要按 CLI 与 API 来设计。

单个文件的权限能做到吗

能。授权可以落到一份文档或一张表格上,并配合空间做粗分组;撤销后要用同一请求再访问一次确认失败。需要注意的是,文件权限与角色权限叠加生效,只改一边可能看不到效果。

单元格级权限能控吗

我们未提供单元格级与行级权限,需以产品确认为准。要按行或列隔离,现实做法是拆文件、拆数据源,或把数据权限放在业务系统侧,文档只承载已经过滤过的内容。

三条路能混用吗

能,而且常见。比如用知识库做问答、用 CLI 写回结果、把需要行级隔离的数据留在业务系统。混用时要约定同一个权限来源,否则同一份内容在不同入口会有两套可见范围。

要判断现有系统适合哪条路,可以带着权限矩阵和一份脱敏表格预约演示;想先看文件与空间授权的实际配置,可从立即试用开始,再对照办公套件私有部署产品页、文档中台私有部署产品页与产品事实页核对权限口径。