Skip to content

自定义项目角色(Custom project roles)#

功能可用性

自定义角色可在自托管企业版和云企业版计划中使用。有关计划详情,请参考 n8n 的价格页面

可用版本: n8n 版本 1.122.0(发布于 2025 年 11 月 24 日)

实例角色与项目角色

n8n 有两种类型的角色: * 实例角色账户类型):Owner、Admin 和 Member 角色,适用于整个 n8n 实例及所有项目 * 项目角色:适用于特定项目的角色(Admin、Editor、Viewer 以及自定义角色)

自定义角色是项目级别的角色。它们定义单个项目内的权限,而不是整个实例的权限。

自定义项目角色允许你创建具有特定权限的角色,以满足团队的需求。与内置项目角色(管理员、编辑、查看者)不同,自定义角色让你可以对工作流程、凭证和其他项目资源定义详细的访问权限。

🌐 Custom project roles allow you to create roles with specific permissions tailored to your team's needs. Unlike the built-in project roles (Admin, Editor, Viewer), custom roles let you define granular access to workflows, credentials, and other project resources.

创建自定义角色(Create a custom role)#

实例所有者和实例管理员可以创建自定义角色。

🌐 Instance owners and instance admins can create custom roles.

创建自定义角色:

🌐 To create a custom role:

  1. 前往 设置 > 项目角色
  2. 选择 创建角色
  3. 输入角色名称和可选描述。
  4. 为此角色选择权限(范围):
    • 工作流权限:创建、读取、更新、发布、删除、列出、执行、移动或共享工作流
    • 凭证权限:创建、读取、更新、删除、列出、移动或共享凭证
    • 项目权限:列出、读取、更新或删除项目
    • 文件夹权限:创建、读取、更新、删除、列出或移动文件夹
    • 数据表权限:创建、读取、更新、删除、列出项目表,读取/写入行
    • 项目变量权限:创建、读取、更新、删除或列出项目变量
    • 源代码管理:推送到源代码管理
  5. 选择 创建角色

为用户分配自定义角色(Assign a custom role to users)#

项目管理员可以为项目成员分配自定义角色。自定义角色仅适用于分配它们的特定项目。用户在不同项目中可以拥有不同的角色。

🌐 Project admins can assign custom roles to project members. Custom roles apply only within the specific project where they're assigned. A user can have different roles in different projects.

分配自定义角色:

🌐 To assign a custom role:

  1. 选择项目。
  2. 选择 项目设置
  3. 项目成员 下,浏览或搜索用户。
  4. 选择用户,然后从下拉菜单中选择自定义角色。
  5. 选择 保存

项目级权限

自定义角色权限仅适用于分配该角色的项目。如需在多个项目中授予相同权限,需要在每个项目中单独分配该自定义角色。

编辑自定义角色(Edit a custom role)#

要修改现有的自定义角色:

🌐 To modify an existing custom role:

  1. 前往 设置 > 项目角色
  2. 找到你想要编辑的自定义角色。
  3. 选择 三点菜单 > 编辑
  4. 更新角色名称、描述或权限。
  5. 选择 保存更改

编辑会影响所有分配的用户

对自定义角色的更改会立即影响分配到该角色的所有用户,无论他们所在的项目。如果该角色在多个项目中使用,权限更改将在所有分配了该角色的地方生效。

复制自定义角色(Duplicate a custom role)#

基于现有角色创建新角色:

🌐 To create a new role based on an existing one:

  1. 前往 设置 > 项目角色
  2. 找到你想要复制的角色。
  3. 选择 三点菜单 > 复制
  4. 根据需要修改角色名称和权限。
  5. 选择 创建角色

删除自定义角色(Delete a custom role)#

要删除自定义角色:

🌐 To delete a custom role:

  1. 前往 设置 > 项目角色
  2. 找到你想要删除的角色。
  3. 选择 三点菜单 > 删除
  4. 确认删除。

在删除之前重新分配用户

如果用户被分配到此角色,则必须先将他们重新分配到其他角色,然后才能删除该角色。

权限范围参考(Permission scopes reference)#

自定义角色使用权限范围来定义用户在项目中可以执行的操作。以下是按资源分类的可用权限范围:

🌐 Custom roles use permission scopes to define what users can do within a project. Here are the available scopes by resource:

工作流范围(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 - 编辑项目设置(仅限管理员)
  • project:delete - 删除项目(仅限管理员)

文件夹范围(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 - 将更改推送到源代码管理

常见的自定义角色示例(Common custom role examples)#

这些是你可以为常见用例创建的示例自定义项目角色。请记住,这些角色适用于单个项目内,而不适用于整个 n8n 实例。

🌐 These are example custom project roles you can create for common use cases. Remember that these roles apply within individual projects, not across your entire n8n instance.

工作流开发者(Workflow Developer)#

仅处理工作流程的用户角色:

🌐 A role for users who work only with workflows:

  • workflow:createworkflow:readworkflow:updateworkflow:deleteworkflow:listworkflow:execute
  • credential:readcredential:list(只能查看凭据,不能修改)
  • project:listproject:read

凭据管理器(Credential Manager)#

管理凭据的用户角色:

🌐 A role for users who manage credentials:

  • credential:createcredential:readcredential:updatecredential:deletecredential:listcredential:share
  • workflow:readworkflow:list(查看工作流以了解凭证使用情况)
  • project:listproject:read

工作流发布者(Workflow Publisher)#

一个可以发布工作流但没有完全编辑权限的用户角色:

🌐 A role for users who can publish workflows without full edit access:

  • workflow:readworkflow:listworkflow:publish
  • credential:readcredential:list
  • project:listproject:read

只读且可执行(Read-Only with Execute)#

一个可以查看和运行工作流但不能修改它们的用户角色:

🌐 A role for users who can view and run workflows but not modify them:

  • workflow:readworkflow:listworkflow:execute
  • credential:readcredential:list
  • project:listproject:read

组合作用域

你可以组合任意作用域来创建符合你具体需求的角色。请考虑最小权限原则:只授予用户执行其任务所需的权限。