自定义项目角色(Custom project roles)#
功能可用性
自定义角色可在本地部署企业版和云端企业版计划中使用。有关计划详情,请参阅 n8n 的 定价页面。
可用版本: n8n 1.122.0 版本(发布于 2025 年 11 月 24 日)
从 n8n 版本 2.13.0 开始可使用秘密存储范围
实例角色与项目角色
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:
- 前往 设置 > 项目角色。
- 选择 创建角色。
- 输入角色名称和可选描述。
- 为此角色选择权限(范围):
- 工作流权限:创建、读取、更新、发布、删除、列出、执行、移动或共享工作流
- 凭证权限:创建、读取、更新、删除、列出、移动或共享凭证
- 项目权限:列出、读取、更新或删除项目
- 文件夹权限:创建、读取、更新、删除、列出或移动文件夹
- 数据表权限:创建、读取、更新、删除、列出项目表,读取/写入行
- 项目变量权限:创建、读取、更新、删除或列出项目变量
- 秘密保险库权限:创建、查看、更新、删除以及同步(重新加载)项目的保险库
- Secrets 权限:在凭据中使用 secrets
- 源代码管理:推送到源代码管理
- 选择 创建角色。
为用户分配自定义角色(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:
- 选择项目。
- 选择 项目设置。
- 在 项目成员 下,浏览或搜索用户。
- 选择用户,然后从下拉菜单中选择自定义角色。
- 选择 保存。
项目级权限
自定义角色权限仅适用于分配该角色的项目。如需在多个项目中授予相同权限,需要在每个项目中单独分配该自定义角色。
编辑自定义角色(Edit a custom role)#
要修改现有的自定义角色:
🌐 To modify an existing custom role:
- 前往 设置 > 项目角色。
- 找到你想要编辑的自定义角色。
- 选择 三点菜单 > 编辑。
- 更新角色名称、描述或权限。
- 选择 保存更改。
编辑会影响所有分配的用户
对自定义角色的更改会立即影响分配到该角色的所有用户,无论他们所在的项目。如果该角色在多个项目中使用,权限更改将在所有分配了该角色的地方生效。
复制自定义角色(Duplicate a custom role)#
基于现有角色创建新角色:
🌐 To create a new role based on an existing one:
- 前往 设置 > 项目角色。
- 找到你想要复制的角色。
- 选择 三点菜单 > 复制。
- 根据需要修改角色名称和权限。
- 选择 创建角色。
删除自定义角色(Delete a custom role)#
要删除自定义角色:
🌐 To delete a custom role:
- 前往 设置 > 项目角色。
- 找到你想要删除的角色。
- 选择 三点菜单 > 删除。
- 确认删除。
在删除之前重新分配用户
如果用户被分配到此角色,则必须先将他们重新分配到其他角色,然后才能删除该角色。
权限范围参考(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:unpublish- 取消发布工作流workflow:delete- 删除工作流workflow:list- 查看项目中的工作流workflow:execute-chat- 通过聊天界面执行工作流程workflow:move- 在项目之间移动工作流workflow:share- 与其他用户共享工作流程workflow:updateRedactionSetting- 管理工作流的数据删减政策
执行范围(Execution scopes)#
execution:reveal- 显示已编辑的执行数据(参见 执行数据编辑)
凭据范围(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- 删除变量
秘密金库范围(Secret vault scopes)#
secretsVaults:view- 查看项目中的秘密保险库secretsVaults:create- 在项目中创建新的秘密金库secretsVaults:edit- 编辑秘密仓库配置secretsVaults:delete- 删除项目的秘密金库secretsVaults:sync- 重新加载保险库的秘密secrets:list- 在凭据中使用秘密
源代码控制范围(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:create、workflow:read、workflow:update、workflow:delete、workflow:listcredential:read、credential:list(只能查看凭据,不能修改)project:list,project:read
凭据管理器(Credential Manager)#
管理凭据的用户角色:
🌐 A role for users who manage credentials:
credential:create、credential:read、credential:update、credential:delete、credential:list、credential:shareworkflow:read,workflow:list(查看工作流以了解凭证使用情况)project:list,project:read
机密用户(Secrets User)#
适用于需要在凭证中使用外部机密但不管理保险库的用户的角色:
🌐 A role for users who need to use external secrets in credentials but not manage vaults:
secrets:list(在凭证表达式中使用密钥)credential:create,credential:read,credential:update,credential:list(使用机密管理凭证)workflow:read,workflow:listproject:list,project:read
工作流发布者(Workflow Publisher)#
一个可以发布工作流但没有完全编辑权限的用户角色:
🌐 A role for users who can publish workflows without full edit access:
workflow:read、workflow:list、workflow:publish、workflow:unpublishcredential:read,credential:listproject:list,project:read
组合作用域
你可以组合任意作用域来创建符合你具体需求的角色。请考虑最小权限原则:只授予用户执行其任务所需的权限。