自定义项目角色(Custom project roles)#
实例角色与项目角色
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:
- 前往 设置 > 项目角色。
- 选择 创建角色。
- 输入角色名称和可选描述。
- 为此角色选择权限(范围):
- 工作流权限:创建、读取、更新、发布、删除、列出、执行、移动或共享工作流
- 凭证权限:创建、读取、更新、删除、列出、移动或共享凭证
- 项目权限:列出、读取、更新或删除项目
- 文件夹权限:创建、读取、更新、删除、列出或移动文件夹
- 数据表权限:创建、读取、更新、删除、列出项目表,读取/写入行
- 项目变量权限:创建、读取、更新、删除或列出项目变量
- 源代码管理:推送到源代码管理
- 选择 创建角色。
为用户分配自定义角色(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: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:create、workflow:read、workflow:update、workflow:delete、workflow:list、workflow:executecredential: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
工作流发布者(Workflow Publisher)#
一个可以发布工作流但没有完全编辑权限的用户角色:
🌐 A role for users who can publish workflows without full edit access:
workflow:read、workflow:list、workflow:publishcredential:read,credential:listproject:list,project:read
只读且可执行(Read-Only with Execute)#
一个可以查看和运行工作流但不能修改它们的用户角色:
🌐 A role for users who can view and run workflows but not modify them:
workflow:read、workflow:list、workflow:executecredential:read,credential:listproject:list,project:read
组合作用域
你可以组合任意作用域来创建符合你具体需求的角色。请考虑最小权限原则:只授予用户执行其任务所需的权限。