权限模型概述
AskTable 把飞书用户和数据权限的关系拆成三层:- 人员(Person) —— AskTable 内部的用户档案,可以一人对应多个外部渠道身份(飞书、未来的钉钉等)
- 渠道绑定(Channel Binding) —— 把飞书的
user_id关联到一个 Person - 角色(Role) —— 一组策略的打包,决定能看哪些数据范围
- 策略(Policy) —— 实际的访问规则,包括允许/拒绝、字段级、行级过滤
- 关闭 —— 任何能进群的飞书用户都能问数(适合内部共享数据)
- 开启 —— 必须先在白名单里,否则消息会被拒绝,同时自动进入「待审批」列表
1. 在飞书开放平台补开通讯录权限
要识别飞书用户身份(拿到user_id、姓名、邮箱),必须先在飞书后台的 权限管理 → API 权限 加开下面 3 个权限。这是在 连接飞书 那两个基础权限之上额外要补的:
开通后记得回到 版本管理与发布,重新提交一个新版本 并等管理员审批 —— 飞书的权限变更必须随版本发布才会生效。
2. 开启数据智能体的白名单
进入数据智能体详情页,在权限相关区域找到 白名单 开关。开关下方的提示文案会同步切换:
打开开关后,新的飞书用户首次问数会被拒绝,并在 AskTable 这边自动生成一条「待审批」记录。
3. 处理待审批申请
进入 数据访问控制 → 人员,顶部有两个 Tab:- 已建档 —— 已经在 AskTable 中有档案的人员
- 待审批 —— 飞书用户首次问数自动出现在这里
操作有三个:
- 建档/关联 —— 走下一步,把飞书身份和 AskTable 人员档案绑起来
- 分配权限 —— 已建档但还没分配角色时用
- 拒绝 —— 永久拒绝这个申请,该用户后续问数会一直被挡
4. 建档:新建人员或关联到已有人员
点 建档/关联 弹出对话框,先看顶部 飞书账号信息(姓名、user_id、邮箱、手机),然后选两种模式之一:
- 新建人员档案 —— 创建一个全新的 Person,姓名/邮箱/手机会从飞书自动填好,可以再加备注
- 关联到已有人员 —— 按姓名/邮箱/手机搜索已有 Person,选中后会自动加上飞书绑定
飞书的
user_id 是自动绑定的,不需要你手填。一个 Person 可以同时绑多个飞书 user_id(比如同一个人在多个企业里)。5. 分配角色
建档完成后会接着弹出 为「xxx」分配「yyy 智能体」的权限 对话框,关键字段是 角色:
如果选中的角色定义了 必填变量(比如
dept_id、user_id),对话框会展开 角色变量 字段,你需要给这个人填上对应值。这些值会在用户问数时拼到 SQL 的 WHERE 里,实现行级过滤(RLS)。
举个例子:角色 部门数据 绑定了一条策略「orders 表只能看 dept_id = {{dept_id}} 的行」,那么:
- 给「张三」分配此角色时,dept_id 填
D001 - 张三在飞书里问「上月销售额」,生成的 SQL 会自动带上
WHERE dept_id = 'D001' - 李四的
dept_id是D002,问同一个问题看到的是完全不同的子集
6. 创建可复用的角色
如果是第一次配,需要先去 数据访问控制 → 角色 → 新建角色:- 取名,比如「部门数据」「销售经理」「外部访客」
- 在 应用策略 区域 添加策略 —— 没有合适的策略就先去 数据访问控制 → 策略 建一个
- 保存
- 权限方向 —— 允许 / 拒绝
- 数据源 —— 适用于哪些数据源
- 字段级规则 —— 按 schema / table / field 三层匹配模式控制可见字段
- 行级过滤 —— 在指定字段上加 WHERE 条件,支持引用变量
7. 常见场景示例
场景 A:全员只读全部数据
最简单的情况,不开白名单,任何人进群都能问。适合企业内部知识共享。场景 B:按部门隔离
- 开启白名单
- 建一个「部门数据」角色,策略带行级过滤
dept_id = {{dept_id}} - 每次审批新人时,在「角色变量」里填好这个人的
dept_id
场景 C:外部访客只看部分数据
- 开启白名单
- 建一个「访客」角色,绑定一条「仅允许
publicschema」的 allow 策略 - 外部用户首次问数 → 进入待审批 → 你审批时分配「访客」角色
- 内部员工分配其他更宽松的角色
8. 撤销权限
两种方式:- 保留人员,移除单个智能体的访问 —— 进入人员详情页 → 已授权的数据智能体 区域 → 找到对应智能体 → 点 移除
- 彻底清除 —— 在人员详情页右下角的 危险操作 区域 删除人员。所有渠道绑定和已授权访问会一并清除,该用户在飞书里再问数会重新走「待审批」流程
9. 后续步骤
- 还没接通飞书 → 如何连接智能体到飞书群组
- 想给字段加业务说明、提高 AI 准确度 → 表、字段备注
- 想隐藏不希望 AI 看到的字段 → 字段隐藏
