跳到主要内容
版本:2.0.x

按角色开放 Agent、数据模型和服务函数

RBAC(基于角色的访问控制)不仅控制用户能进入哪些门户、看到哪些菜单,也控制用户能使用哪些业务能力。角色配置器把权限分为 Agent、服务函数、数据模型、门户菜单四类:门户权限决定用户能进入哪里,业务元素权限决定用户进入以后能使用哪些 Agent、操作哪些数据、调用哪些业务动作。

如果一个销售角色可以进入“客户管理”菜单,但不能删除客户、不能调用合同审批服务、只能使用客户跟进 Agent,这些限制都应该在角色权限中配置,而不是只依赖页面按钮隐藏或提示词约束。

先分清两类权限

角色与门户菜单权限负责配置“用户能进入哪些门户、菜单、页面组件”。本篇负责配置“用户能使用哪些 Agent、数据模型函数和服务函数”。如果 Agent 会调用工具函数,还需要分清Agent 工具暴露与角色权限的边界

用角色先限定可使用的 Agent

Agent 权限决定当前角色能不能看到和使用某个 Agent。默认开放的 Agent 适合通用问答、帮助说明等低风险场景;面向管理层分析、财务审批、客户服务、运维处理等业务 Agent,通常需要按角色限制可使用人群。

开发者在应用角色的可视化编辑器中切换到Agent 权限,在 Agent 列表中勾选当前角色允许使用的 Agent。列表会展示当前应用以及可用扩展应用中的 Agent,开发者可以根据 Agent 名称、类型和来源应用判断是否授权。

常见配置方式:

  • 客服角色:允许使用“工单处理 Agent”和“客户问答 Agent”,不开放财务分析 Agent。
  • 销售角色:允许使用“客户跟进 Agent”,但不开放合同审批 Agent。
  • 管理层角色:允许使用经营分析 Agent,同时配套配置可查询的数据模型范围。

Agent 权限只解决“能不能使用 Agent”。Agent 运行时能查询哪些数据、调用哪些服务函数,还会继续受到数据模型权限和服务函数权限约束。关于 Agent 运行权限的整体说明,可参考控制 Agent 访问权限

限制角色在页面和 Agent 中可执行的数据模型函数

数据模型权限用于控制角色能访问哪些数据模型,以及在每个数据模型上能执行哪些函数。它同时影响页面组件中的数据操作,也影响 Agent 代表当前用户调用数据模型函数时的权限范围。

开发者在应用角色的可视化编辑器中切换到数据模型权限,选择左侧的数据模型,在右侧按组件函数分别配置:

  • 组件权限:控制与该数据模型相关的表格、表单等界面组件是否可用,并可继续配置组件级字段和数据范围。
  • 函数权限:控制查询、新增、修改、删除、统计、AI 查询等模型函数是否对当前角色开放。

例如,销售角色可以查询和新增客户记录,但不能删除客户;财务角色可以查询报销单并执行统计,但不能修改客户资料;客服角色可以更新工单状态,但不能导出完整客户清单。

Loading...自定义数据模型权限

开发者勾选某个数据模型下的函数后,该角色才能在页面、流程或 Agent 调用中使用对应能力。未授权的函数即使在页面上存在按钮,或 Agent 已经添加了对应工具,也不能越权执行。

用数据筛选和字段权限收窄可访问数据范围

仅限制“能不能调用函数”还不够。很多企业应用还需要限制“能看到哪些数据”和“能读取哪些字段”。例如销售只能看到自己负责的客户,部门主管只能看到本部门数据,普通员工不能查看薪资、手机号等敏感字段。

对支持筛选的模型函数,开发者可以继续配置数据筛选,把可操作的数据范围限制到当前角色需要的业务边界内。对支持字段权限的模型函数,可以配置字段可读范围,避免 Agent 或页面组件读取不该暴露的字段。

Loading...自定义数据模型权限-数据筛选

建议优先为以下模型配置数据筛选或字段权限:

  • 包含客户、合同、订单、报销、薪资等敏感信息的数据模型。
  • 多部门共用、但不同部门只能访问本部门数据的数据模型。
  • 会被 Agent 查询或分析的数据模型。
  • 允许导出、统计或批量操作的数据模型。

只向必要角色开放高风险服务函数

服务函数权限用于控制角色可以调用哪些业务服务函数。服务函数通常承载审批通过、退款、付款、批量导入、导出报表、同步外部系统等业务动作,比普通数据查询更容易产生影响,因此不建议默认全部开放。

开发者在应用角色的可视化编辑器中切换到服务函数权限,展开服务后勾选当前角色允许调用的函数。可以按整个服务批量授权,也可以只勾选其中少数函数。

常见配置方式:

  • 财务角色:允许调用报销审核、付款确认等函数,不开放客户数据批量导出函数。
  • 销售主管角色:允许调用合同提交审批函数,不开放合同审批通过函数。
  • 运营角色:允许调用内容发布函数,但对批量删除、批量同步类函数保持关闭。

如果服务函数会修改重要数据、触发外部系统或产生资金流转,建议只向必要角色开放,并在业务流程中配置审批、复核或服务函数自身的业务校验,避免单一授权点承担全部风险。

让角色权限和工具暴露各司其职

当 Agent 参与业务操作时,需要同时完成三项配置,但它们的职责不同:

  1. 在角色中配置Agent 权限,决定哪些用户可以使用这个 Agent。这是访问权限。
  2. 在角色中配置数据模型权限服务函数权限,决定 Agent 代表当前用户能查询哪些数据、调用哪些业务动作。这是运行时权限。
  3. 在 Agent 的工具函数管理中按需暴露工具,决定大模型在系统提示词中能看到哪些候选函数。这不是权限控制,只影响模型选择工具的上下文。

例如“客户跟进 Agent”可以开放给销售角色,但销售角色只允许查询和新增自己负责的客户记录,不允许删除客户,也不允许调用合同审批通过服务。这样即使 Agent 理解了用户的高风险请求,运行时也会自动阻止非权限范围内的调用。

配置完成后,建议使用不同角色账号分别验证同一个业务问题,检查 Agent 可见范围、数据返回范围和服务函数调用结果是否符合预期。