自定义项目角色#
功能可用性
自定义角色适用于自托管 Enterprise 和 Cloud Enterprise 计划。套餐详情请参阅 n8n 的定价页面。
可用版本: n8n 1.122.0(发布于 2025 年 11 月 24 日)
实例角色与项目角色
n8n 有两类角色: * Instance roles 实例角色(账户类型):Owner、Admin 和 Member 角色,适用于整个 n8n 实例及所有项目 * Project roles 项目角色:适用于单个项目的角色(Admin、Editor、Viewer 以及自定义角色)
自定义角色属于项目级角色,只定义单个项目内的权限,而不是整个实例范围。
自定义项目角色允许你创建符合团队需求的特定权限角色。与内置项目角色(Admin、Editor、Viewer)不同,自定义角色可让你对工作流、凭据和其他项目资源进行细粒度的访问控制。
创建自定义角色#
实例所有者和实例管理员可以创建自定义角色。
创建自定义角色:
- 前往 Settings 设置 > Project roles 项目角色。
- 选择 Create role 创建角色。
- 输入角色名称与可选描述。
- 为该角色选择权限范围(scopes):
- Workflow permissions 工作流权限:创建、读取、更新、发布、删除、列表、执行、移动或共享工作流
- Credential permissions 凭据权限:创建、读取、更新、删除、列表、移动或共享凭据
- Project permissions 项目权限:列出、读取、更新或删除项目
- Folder permissions 文件夹权限:创建、读取、更新、删除、列表或移动文件夹
- Data table permissions 数据表权限:创建、读取、更新、删除、列出项目数据表、读写数据行
- Project variable permissions 项目变量权限:创建、读取、更新、删除或列出项目变量
- Source control 源代码控制:向源代码控制推送
- 选择 Create role 创建角色。
为用户分配自定义角色#
项目管理员可以为项目成员分配自定义角色。自定义角色只在分配的项目内生效,用户可以在不同项目中拥有不同角色。
分配自定义角色:
- 选择项目。
- 选择 Project settings 项目设置。
- 在 Project members 项目成员 中浏览或搜索用户。
- 选择用户,并从下拉列表中选择自定义角色。
- 选择 Save 保存。
项目级权限
自定义角色权限仅在角色被分配的项目内生效。若需在多个项目中授予相同权限,请在每个项目中分别分配该自定义角色。
编辑自定义角色#
要修改现有自定义角色:
- 前往 Settings 设置 > Project roles 项目角色。
- 找到要编辑的自定义角色。
- 选择 three-dot menu 三点菜单 > Edit 编辑。
- 更新角色名称、描述或权限。
- 选择 Save changes 保存更改。
编辑会影响所有已分配用户
对自定义角色的更改会立即影响所有在任何项目中分配了该角色的用户。如果该角色在多个项目中使用,权限变更会在所有项目中生效。
复制自定义角色#
要基于现有角色创建新角色:
- 前往 Settings 设置 > Project roles 项目角色。
- 找到要复制的角色。
- 选择 three-dot menu 三点菜单 > Duplicate 复制。
- 根据需要修改角色名称和权限。
- 选择 Create role 创建角色。
删除自定义角色#
要删除自定义角色:
- 前往 Settings 设置 > Project roles 项目角色。
- 找到要删除的角色。
- 选择 three-dot menu 三点菜单 > Delete 删除。
- 确认删除。
删除前重新分配用户
如果有用户被分配到该角色,你必须先将他们重新分配到其他角色,再删除该角色。
权限范围参考#
自定义角色使用权限范围来定义用户在项目内可以执行的操作。以下为各资源可用的范围:
Workflow scopes#
workflow:create- 创建新工作流workflow:read- 查看工作流详情workflow:update- 编辑工作流workflow:publish- 发布和取消发布工作流workflow:delete- 删除工作流workflow:list- 查看项目中的工作流workflow:execute- 手动执行工作流workflow:execute-chat- 通过聊天界面执行工作流workflow:move- 在项目之间移动工作流workflow:share- 与其他用户共享工作流
Credential scopes#
credential:create- 创建新凭据credential:read- 查看凭据详情credential:update- 编辑凭据credential:delete- 删除凭据credential:list- 查看项目中的凭据credential:move- 在项目之间移动凭据credential:share- 与其他用户共享凭据
Project scopes#
project:list- 查看可用项目project:read- 查看项目详情project:update- 编辑项目设置(仅 Admin)project:delete- 删除项目(仅 Admin)
Folder scopes#
folder:create- 创建新文件夹folder:read- 查看文件夹内容folder:update- 重命名文件夹folder:delete- 删除文件夹folder:list- 查看项目中的文件夹folder:move- 移动文件夹
Data table scopes#
dataTable:create- 创建新数据表dataTable:read- 查看数据表模式dataTable:update- 修改数据表模式dataTable:delete- 删除数据表dataTable:listProject- 查看项目中的数据表dataTable:readRow- 读取数据表中的数据行dataTable:writeRow- 在数据表中插入或更新数据行
Project variable scopes#
projectVariable:list- 查看项目变量projectVariable:read- 查看变量值projectVariable:create- 创建新变量projectVariable:update- 编辑变量值projectVariable:delete- 删除变量
Source control scopes#
sourceControl:push- 向源代码控制推送更改
常见自定义角色示例#
以下是一些常见用例的自定义项目角色示例。请记住,这些角色只在单个项目内生效,而不是整个 n8n 实例范围。
Workflow Developer#
适用于仅处理工作流的用户:
* workflow:create、workflow:read、workflow:update、workflow:delete、workflow:list、workflow:execute
* credential:read、credential:list(可查看但不能修改凭据)
* project:list、project:read
Credential Manager#
适用于管理凭据的用户:
* credential:create、credential:read、credential:update、credential:delete、credential:list、credential:share
* workflow:read、workflow:list(查看工作流以了解凭据使用情况)
* project:list、project:read
Workflow Publisher#
适用于可以发布工作流但没有完整编辑权限的用户:
* workflow:read、workflow:list、workflow:publish
* credential:read、credential:list
* project:list、project:read
Read-Only with Execute#
适用于只能查看并运行工作流但不能修改的用户:
* workflow:read、workflow:list、workflow:execute
* credential:read、credential:list
* project:list、project:read
组合权限范围
你可以组合任意权限范围来创建符合需求的角色。遵循最小权限原则:仅授予用户完成任务所需的权限。