成员与权限
按部门和地区设计数据权限
用一个带变量的数据角色,让每个人只看到自己负责范围的数据。
本教程用一个常见场景演示数据权限的设计:销售人员只能看到自己所在大区的订单,并且看不到客户手机号;管理层可以看到全部数据。
场景
数据源中有订单表 sales.orders,包含 region(大区)、amount(金额)、customer_phone(客户手机号)等字段。
| 人员 | 应看到的数据 |
|---|---|
| 华东销售 | 华东区订单,不含客户手机号 |
| 华南销售 | 华南区订单,不含客户手机号 |
| 管理层 | 全部订单 |
设计思路
- 按变量区分地区,不按地区建角色。 建一个「区域销售」角色,用变量
region表示大区,而不是建「华东销售」「华南销售」两个角色。地区再多,也只维护一个角色。 - 允许策略管范围,拒绝策略管敏感字段。 一条允许策略限定可见的表和行,一条拒绝策略排除手机号。
- 管理层不绑定角色。 不绑定数据角色即为「全部数据」,仍受智能体数据源限制。
需要项目负责人或项目管理员。入口:「更多」→「数据访问控制」。
步骤
建允许策略:限定表和行
新建策略「订单-本区可见」,权限选「允许」,添加数据源。
- 字段级规则:表名「完全匹配」
orders。 - 行级过滤:表
sales.orders,字段region,运算符=,值的来源选「角色变量」,变量名填region。
建拒绝策略:排除手机号
新建策略「隐藏客户手机号」,权限选「拒绝」,添加同一数据源,字段级规则:字段名「完全匹配」customer_phone。
建角色
新建角色「区域销售」,在「应用策略」中添加以上两条策略。在「数据范围预览」中确认能看到 orders 表,且不包含 customer_phone。
分配给成员
在「项目设置」→「项目成员」中,为华东的销售人员选择「区域销售」,变量 region 填 华东;华南的填 华南。
已配置企业身份集成并同步了部门资料时,可以把 region 设为引用成员的部门资料,人员调岗后自动生效,见成员与角色。
管理层成员不绑定数据角色。
检查结果
- 用华东销售的账号提问「上个月各区销售额」,结果只包含华东。
- 提问「列出客户手机号」,智能体说明无法访问该字段。
- 用管理层账号提问,结果包含所有大区。
如果华东销售提问时提示「数据权限配置未完成」,说明 region 没有填写,在「项目成员」中补齐变量。