必须采用rbac模型实现细粒度权限控制:先创建自定义角色并绑定最小权限集,再为用户分配角色并指定作用域,最后关闭继承策略并在应用级手动配置精准权限策略。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中让不同成员只能操作自己职责范围内的资源,比如产品经理只看效果不改提示词、测试人员只能运行不能发布、算法工程师能调参但不能删数据集,就必须跳出默认角色的粗放分配,用RBAC模型落地细粒度权限控制。
创建自定义角色并绑定最小权限集
进入【工作区设置】→【成员管理】→【角色管理】→点击【新建角色】。
填写角色名称(如qa-tester),在权限列表中仅勾选app:run、log:view、dataset:read三项——【切勿勾选 app:publish 或 dataset:delete,否则测试人员可能误发版本或清空知识库】。
保存后,该角色即生成唯一标识符(如role-qa-tester-7f3a),后续所有授权都基于此ID而非名称。
为用户分配角色并指定作用域
方法一:界面分配
在【成员管理】列表中找到目标用户→点击【编辑角色】→选择刚创建的qa-tester角色→在“作用域”下拉框中选择具体工作区(如客服AI工作区)→确认。
Dify 3.9.2更新重点增强系统安全性,引入 Chainguard 安全基础镜像并同步社区版 CVE 修复,同时优化 OpenSearch 向量存储兼容性、插件参数传输机制及 Helm 部署配置。新增工作流模型节点缓存能力,可减少重复凭证查询,显著提升复杂工作流初始化速度,为企业级 AI 应用提供更稳定、高效的运行体验。
方法二:API批量分配
调用POST /api/workspaces/{workspace_id}/members接口,请求体中必须包含role字段(值为角色ID)和user_id字段;【若遗漏 workspace_id 路径参数,权限将被错误绑定到平台级,导致越权】。
覆盖默认继承策略,实现应用级精准拦截
第一步:进入目标AI应用的【设置】页→【权限】标签页。
第二步:关闭“继承工作区权限”开关——这一步必须手动关闭,否则工作区级editor角色会自动获得该应用全部权限。
第三步:点击【添加权限策略】→输入用户ID或角色ID→在操作栏勾选app:debug和prompt:edit→资源路径填app:chatbot-prod-01→保存。
此时即使某人是工作区editor,若未在此处显式授予app:chatbot-prod-01的prompt:edit权限,他打开该应用时根本看不到提示词编辑入口。










