Brain 访问控制分两层,Document access 是第二层。默认 source scope 是唯一门禁:能看到源的人能检索源里一切。Document access 让 Google Drive 源可进一步按每份文档自己的 Drive 权限约束检索。
┌──────────────────────────────────────────────────────────────────────┐ │ Brain 访问控制 — 两层模型 │ ├──────────────────────────────────────────────────────────────────────┤ │ 第 1 层:Source scope(所有源都有) │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ 决定"谁能看到并搜索这个源":Personal / Team / Organization │ │ │ └──────────────────────────────────────────────────────────────┘ │ │ │ 默认:scope 是唯一门禁 │ │ ▼ │ │ 第 2 层:Document access(仅 Google Drive 源,v10.10.0 新) │ │ ┌──────────────────────────────────────────────────────────────┐ │ │ │ Gumloop access(默认)/ Original source(权限继承) │ │ │ └──────────────────────────────────────────────────────────────┘ │ └──────────────────────────────────────────────────────────────────────┘
| 模式 | 行为 | 适用 |
|---|---|---|
| Gumloop access(默认) | 源 scope 内任何人可检索全部文档,忽略原始权限 | 无文档级权限边界的小团队 |
| Original source(v10.10.0 新) | 只有在 Drive 里有访问权的人才能经 Brain 检索到该文档,逐文档检查 | 有文档级权限边界的企业 |
「Original source」分两阶段工作:同步时快照每份文档的 Drive 权限(按邮箱);检索时按用户连接的 Google 邮箱逐文档检查快照。权限不是实时查 Drive,而是同步快照——Drive 权限变更要等下一次同步才生效。
┌──────────────────────────────────────────────────────────────────────┐ │ 阶段 1 — 同步时(Sync time):权限快照 │ │ Gumloop 读取每份文档,快照其当前 Drive 权限(谁有访问权,按邮箱) │ │ │ 权限快照随索引一起存储 │ │ ▼ │ │ 阶段 2 — 检索时(Search time):逐文档强制 │ │ 用户检索 → 对每个候选文档检查该用户是否有权 │ │ 匹配依据:用户【连接的 Google 账户邮箱】 │ │ │ │ │ ┌────┴────┐ │ │ ▼ ▼ │ │ 有权 无权 │ │ │ │ │ │ ▼ ▼ │ │ 返回内容 文档不浮现(fail-closed) │ └──────────────────────────────────────────────────────────────────────┘
Gumloop 原则:"fails closed rather than over-share"(宁可少给也不过度分享)。并非所有 Drive 授予方式都能被强制:
| Drive 权限授予方式 | Brain 行为 |
|---|---|
| 直接用户访问 | ✅ 遵守——有权用户可检索 |
| 组织/域访问(匹配已验证邮箱域) | ✅ 遵守——同域用户可检索 |
| "任何拥有链接的人" | ❌ 视为无权限,不浮现 |
| Google Group 共享 | ❌ 视为无权限,不浮现 |
这两种授予方式无法可靠映射到"当前检索用户是否在授权范围"。与其冒过度分享风险,Brain 保守地不浮现。若希望可检索,需在 Drive 里直接给人或域授权。这是面向审计的成熟姿态——安全团队更愿接受"漏检"而非"越权"。
改变源的 Document access 设置会排队重新同步,按新模式重新快照权限。切到 Original source → 重新快照所有文档权限;切到 Gumloop access → 丢弃快照、回到 scope-only 门禁。
Document access 选项只出现在支持它的源上。Google Drive 是当前唯一支持的源;其他源(Notion/Slack/GitHub/Confluence/Zendesk/文件上传)始终用 Gumloop access。Gumloop access 模式下不检查逐文档权限——能看到源的人能检索源里任何内容,文档建议把此类源 scope 到预期受众。
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| A1 | 添加 GDrive 源时 | 出现 Document access 选项(其他源不出现) | P0 |
| A2 | 选 Original source | 启用权限继承:同步快照 + 检索逐文档强制 | P0 |
| A3 | 选 Gumloop access(默认) | 仅 scope 门禁,不检查逐文档权限 | P0 |
| A4 | 编辑源设置 | 可修改 Document access 模式 | P0 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| B1 | Original source 模式同步 | 快照每份文档 Drive 权限(按邮箱),随索引存储 | P0 |
| B2 | 用户检索 | 按用户连接 Google 邮箱逐文档检查快照权限 | P0 |
| B3 | 用户对文档无权 | 文档不浮现(fail-closed) | P0 |
| B4 | 文档为 link/Group 共享 | 一律视为无权限,不浮现 | P0 |
| B5 | 文档为直接用户/域授权 | 遵守,有权用户可检索 | P0 |
| ID | 触发场景 | 系统行为 | 优先级 |
|---|---|---|---|
| C1 | 切换 Document access | 排队重新同步,按新模式重新快照 | P0 |
| C2 | 切到 Gumloop access | 丢弃权限快照,回到 scope-only | P0 |
作为 HRBP,我希望员工问 HR agent "我的薪酬明细"时,agent 不会把别的员工的薪酬文件返回给他——即使那文件在 HR Brain 源里被索引了。
画像:王芳,35 岁,企业 HRBP。公司 Organization scope 索引全员 Drive,但薪酬/绩效机密文件在 Drive 里只有 HRBP 团队有访问权。
验收标准:
作为 CISO,我希望向审计师证明 Brain 不会把员工在 Drive 里无权查看的文件经 AI 检索泄露——这样我才能放行 Brain 进生产。
画像:陈总,40 岁,金融企业 CISO。公司想用 Brain 索引 Drive 知识库,但 SOC2 要求"AI 检索必须尊重源系统 ACL"。
验收标准:
| 竞品 | 文档级权限能力 | 优势 | 劣势 |
|---|---|---|---|
| Glean | 文档级 ACL 继承多年 | 权限模型成熟,覆盖源广 | 搜索工具非 agent 平台 |
| Copilot for M365 | 尊重 Microsoft Graph 权限 | 与 M365 深度集成 | 绑定微软生态,非跨源 |
| ChatGPT/Claude(文件上传) | 无文档级权限 | — | 孤立文件,无源连接,无 ACL |
| Gumloop Brain(v10.10.0 前) | 仅源 scope 粗粒度 | — | 数据越权风险,企业不敢采购 |
| Gumloop Brain(v10.10.0 后) | GDrive 文档级 ACL + fail-closed | agent 平台少见的文档级权限;保守姿态 | 仅 GDrive;同步快照非实时;link/Group 漏检 |
| 漏斗阶段 | 事件名称 | 指标/KPI | 优先级 |
|---|---|---|---|
| 采用 | brain_doc_access_original_source_enabled | GDrive 源启用率 | P0 |
| 安全 | brain_doc_access_denied | 拦截次数/日(去标识) | P0 |
| 安全 | brain_doc_access_link_group_private | 保守拦截次数 | P1 |
| 影响 | brain_enterprise_adoption_post_acl | 受监管企业采纳数 | P0 |
| 质量 | brain_doc_access_false_negative | 漏检投诉率 | P1 |
| 阶段 | 时间线 | 里程碑 | 状态 |
|---|---|---|---|
| Phase 1 — GDrive 文档级权限 | v10.10.0 | Original source + fail-closed + 同步快照 | 已发布 |
| Phase 2 — 扩展到更多源 | v10.x+ | Notion/Confluence/Slack/Zendesk 的文档级权限继承 | 推断/规划 |
| Phase 3 — 实时权限校验 | v11.x | 权限变更近实时生效或缓存失效机制 | 探索 |
| Phase 4 — 可解释访问拒绝 | 远期 | 告知"文档存在但无权"(可审计 deny)而非静默不浮现 | 探索 |
docs.gumloop.com/core-concepts/brain(Document access 章节,完整验证)
父规格:Gumloop Brain(公司知识库) — 10/13