基于角色的访问控制(Role-Based Access Control,RBAC)
页面摘要: Role-Based Access Control (RBAC,基于角色的访问控制) 管理管理面板中的管理员角色和细粒度权限。本文档涵盖创建角色、分配权限以及保护管理类工作流。
Role-Based Access Control (RBAC,基于角色的访问控制) 功能允许管理作为管理面板用户的管理员。更具体地说,RBAC 管理管理员的账户和角色。
- 套餐:免费功能
- 角色与权限:在「角色 > 设置 - 用户与角色(Users & Roles)」中的 CRUD 权限
- 启用:默认可用且已启用
- 环境:在开发(Development)和生产(Production)环境中均可用
配置
配置该功能的路径: 设置 > 管理面板(Administration panel) > 角色(Roles)
角色(Roles) 界面显示你的 Strapi 应用中为管理员创建的所有角色。
从此界面可以:
默认情况下,任何 Strapi 应用都定义了 3 个管理员角色:
- 作者(Author):能够创建并管理他们自己的内容。
- 编辑(Editor):能够创建内容,并管理和发布任何内容。
- 超级管理员(Super Admin):能够访问所有功能与设置。这是创建 Strapi 应用时默认赋予第一位管理员的角色。
创建新角色
在 管理面板(Administration panel) > 角色(Roles) 界面的右上角,显示一个 添加新角色(Add new role) 按钮。点击该 添加新角色(Add new role) 按钮,为你的 Strapi 应用创建新角色。
你将被重定向到角色编辑界面,在那里你可以编辑角色的详细信息并配置其权限(见 编辑角色的详细信息)。

在 角色(Roles) 界面的表格中,你可以点击复制按钮 通过复制现有角色来创建新角色。
删除角色
管理员角色可以从 管理面板(Administration panel) > 角色(Roles) 界面删除。但是,只有当它们不再被分配给 Strapi 应用中的任何管理员时,才能被删除。
- 确保你想要删除的角色不再被分配给任何管理员。
- 点击角色记录右侧的删除按钮 。
- 在删除窗口中,点击 确认(Confirm) 按钮以确认删除。
编辑角色

角色编辑界面允许你编辑管理员角色的详细信息,并详细配置对 Strapi 应用所有部分的权限。
从 管理面板(Administration panel) > 角色(Roles) 访问该界面,可以点击角色记录右侧的编辑按钮 ,或在点击 添加新角色(Add new role) 按钮之后(见 创建新角色)。
:::caution 无法编辑超级管理员(Super Admin)角色的权限。所有配置均为只读模式。 :::
编辑角色的详细信息
管理员角色编辑界面的详细信息区域允许你定义角色的名称,并为其添加描述,以帮助其他管理员理解该角色授予的访问权限。
| 角色详细信息 | 说明 |
|---|---|
| 名称(Name) | 在文本框中写入角色的新名称。 |
| 描述(Description) | 在文本框中写入角色的描述。 |
在右上角,你可以看到一个计数器,指示有多少管理员已被分配该角色。
配置角色权限
管理员角色编辑界面的权限区域允许你详细配置管理员对 Strapi 应用任何部分可以执行的操作。
它以表格形式显示,分为 4 个类别:集合类型(Collection types)、单一类型(Single types)、插件(Plugins) 和 设置(Settings)。
集合类型与单一类型
集合类型(Collection types)和单一类型(Single types)类别分别列出 Strapi 应用所有可用的集合类型和单一类型。
对于每个内容类型(content-type),管理员可以拥有执行以下操作的权限:创建(create)、读取(read)、更新(update)、删除(delete)和发布(publish)。
- 进入权限表格的「集合类型(Collection types)」或「单一类型(Single types)」类别。
- 勾选要授予访问权限的内容类型名称左侧的复选框。默认情况下,可以对该内容类型的所有字段执行所有操作。
- (可选)取消勾选与操作相关的复选框,以阻止你选择的操作。
- (可选)点击内容类型的名称以显示其完整字段列表。取消勾选字段和操作相关的复选框,以阻止对你所选字段的访问和/或操作。如果安装了 国际化(Internationalization)功能,还需定义应为每个可用语言区域(locale)授予哪些权限。
- 对角色应授予访问权限的每个可用内容类型,重复步骤 2 至 4。
- 点击右上角的 保存(Save) 按钮。
插件与设置
插件(Plugins)和设置(Settings)类别都按 Strapi 应用每个可用插件或设置显示子类别。每个子类别包含其自己特定的权限集。
- 进入权限表格的「插件(Plugins)」或「设置(Settings)」类别。
- 点击要配置权限的子类别名称,以显示所有可用权限。
- 勾选角色应授予访问权限的权限复选框。你可以参考下表获取更多信息和说明。
插件(Plugins)
默认情况下,可以为 内容类型构建器(Content-type Builder)、上传(Upload,即 Media Library(媒体库))、内容管理器(Content Manager) 以及 用户与权限(Users & Permissions)(即允许你管理终端用户的用户与权限功能)配置包权限。每个包都有自己特定的权限集。
| 包名称 | 权限 |
|---|---|
| Content-Releases | |
| (发布,Releases) |
-
通用(General)
-
"读取(Read)" - 授予对 Releases(发布)功能的访问权限
-
"创建(Create)" - 允许你创建发布
-
"编辑(Edit)" - 允许你编辑发布
-
"删除(Delete)" - 允许你删除发布
-
"发布(Publish)" - 允许你发布
-
"从发布中移除一个条目"
-
"向发布中添加一个条目"
| | Content-Manager |
-
单一类型(Single types)
-
"配置视图(Configure view)" - 允许你配置单一类型的编辑视图
-
集合类型(Collection types)
-
"配置视图(Configure view)" - 允许你配置集合类型的编辑视图
-
组件(Components)
-
"配置布局(Configure Layout)" - 允许你配置组件的布局
| | Content-Type-Builder |
-
通用(General)
-
"读取(Read)" - 以只读模式授予对 Content-type Builder 插件的访问权限
| | Upload (Media Library(媒体库)) |
-
通用(General)
-
"访问 Media Library(媒体库)" - 授予对 Media Library(媒体库)插件的访问权限
-
"配置视图(Configure view)" - 允许你配置 Media Library(媒体库)的视图
-
资源(Assets)
-
"创建(上传)[Create (upload)]" - 允许你上传媒体文件
-
"更新(裁剪、详情、替换)+ 删除 [Update (crop, details, replace) + delete]" - 允许你编辑已上传的媒体文件
-
"下载(Download)" - 允许你下载已上传的媒体文件
-
"复制链接(Copy link)" - 允许你复制已上传媒体文件的链接
| | Users-Permissions |
-
角色(Roles)
-
"创建(Create)" - 允许你创建终端用户角色
-
"读取(Read)" - 允许你查看已创建的终端用户角色
-
"更新(Update)" - 允许你编辑终端用户角色
-
"删除(Delete)" - 允许你删除终端用户角色
-
提供方(Providers)
-
"读取(Read)" - 允许你查看提供方
-
"编辑(Edit)" - 允许你编辑提供方
-
邮件模板(Email Templates)
-
"读取(Read)" - 允许你访问邮件模板
-
"编辑(Edit)" - 允许你编辑邮件模板
-
高级设置(Advanced settings)
-
"读取(Read)" - 允许你访问用户与权限(Users & Permissions)插件的高级设置
-
"编辑(Edit)" - 允许你编辑高级设置
👉 用户与权限(Users & Permissions)插件路径提示: 通用(General) > 设置(Settings) > 用户与权限插件(Users & Permissions plugin) |
设置(Settings)
可以为从管理面板主导航的 通用(General) > 设置(Settings) 可访问的所有设置配置设置权限。它们还允许你配置对管理面板的插件(Plugins)和插件市场(Marketplace)部分的访问。每个设置都有自己特定的权限集。
| 设置名称 | 权限 |
|---|---|
| Content Releases |
-
选项(Options)
-
"读取(Read)" - 允许你访问 Releases(发布)设置
-
"编辑(Edit)" - 允许你编辑 Releases(发布)设置
👉 Releases(发布)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Releases(发布) | | Email |
-
通用(General)
-
"访问邮件设置页面(Access the Email settings page)" - 授予对 Email(邮件)设置的访问权限
👉 Email(邮件)设置路径提示: 通用(General) > 设置(Settings) > 用户与权限插件(Users & Permissions plugin) - 邮件模板(Email templates) | | Media Library |
-
通用(General)
-
"访问 Media Library(媒体库)设置页面(Access the Media Library settings page)" - 授予对 Media Library(媒体库)设置的访问权限
👉 Media Library(媒体库)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Media Library(媒体库) | | Internationalization |
-
语言区域(Locales)
-
"创建(Create)" - 允许你创建新的语言区域
-
"读取(Read)" - 允许你查看可用的语言区域
-
"更新(Update)" - 允许你编辑可用的语言区域
-
"删除(Delete)" - 允许你删除语言区域
👉 国际化(Internationalization)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Internationalization(国际化) | | Review Workflows |
-
"创建(Create)" - 允许你创建工作流
-
"读取(Read)" - 允许你查看已创建的工作流
-
"更新(Update)" - 允许你编辑工作流
-
"删除(Delete)" - 允许你删除工作流 👉 Review workflows(审核工作流)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Review workflows(审核工作流) | | Single sign on |
-
选项(Options)
-
"读取(Read)" - 允许你访问 SSO(单点登录)设置
-
"更新(Update)" - 允许你编辑 SSO(单点登录)设置
👉 SSO(单点登录)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Single Sign-On(单点登录) | | Audit Logs |
-
选项(Options)
-
"读取(Read)" - 允许你访问 Audit Logs(审计日志)设置
👉 Audit Logs(审计日志)设置路径提示: 通用(General) > 设置(Settings) > 管理面板(Admin Panel) - Audit Logs(审计日志) | | Plugins and Marketplace |
-
插件市场(Marketplace)
-
"访问插件市场(Access the Marketplace)" - 授予对插件市场(Marketplace)的访问权限
| | Webhooks |
-
通用(General)
-
"创建(Create)" - 允许你创建 Webhook
-
"读取(Read)" - 允许你查看已创建的 Webhook
-
"更新(Update)" - 允许你编辑 Webhook
-
"删除(Delete)" - 允许你删除 Webhook
👉 Webhook 设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Webhook | | Users and Roles |
-
用户(Users)
-
"创建(邀请)[Create (invite)]" - 允许你创建管理员账户
-
"读取(Read)" - 允许你查看现有的管理员账户
-
"更新(Update)" - 允许你编辑管理员账户
-
"删除(Delete)" - 允许你删除管理员账户
-
角色(Roles)
-
"创建(Create)" - 允许你创建管理员角色
-
"读取(Read)" - 允许你查看已创建的管理员角色
-
"更新(Update)" - 允许你编辑管理员角色
-
"删除(Delete)" - 允许你删除管理员角色
👉 RBAC 功能路径提示: 通用(General) > 设置(Settings) > 管理面板(Administration Panel) | | API Tokens |
-
API 令牌(API tokens)
-
"访问 API Tokens(API 令牌)设置页面(Access the API tokens settings page)" - 切换对 API Tokens(API 令牌)页面的访问
-
通用(General)
-
"创建(生成)[Create (generate)]" - 允许创建 API 令牌
-
"读取(Read)" - 允许你查看已创建的 API 令牌(禁用此权限将禁用对 全局设置(Global Settings) - API Tokens(API 令牌) 设置的访问)
-
"更新(Update)" - 允许编辑 API 令牌
-
"删除(撤销)[Delete (revoke)]" - 允许删除 API 令牌
-
"重新生成(Regenerate)" - 允许重新生成 API 令牌
👉 API Tokens(API 令牌)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - API Tokens(API 令牌) | | Admin Tokens |
-
Admin 令牌(Admin tokens)
-
"访问 Admin tokens(Admin 令牌)设置页面(Access the Admin tokens settings page)" - 切换对 Admin Tokens(Admin 令牌)页面的访问
-
通用(General)
-
"创建(生成)[Create (generate)]" - 允许创建 Admin 令牌
-
"读取(Read)" - 允许你查看已创建的 Admin 令牌
-
"更新(Update)" - 允许编辑 Admin 令牌
-
"删除(撤销)[Delete (revoke)]" - 允许删除 Admin 令牌
-
"重新生成(Regenerate)" - 允许重新生成 Admin 令牌
👉 Admin Tokens(Admin 令牌)设置路径提示: 通用(General) > 设置(Settings) > 管理面板(Administration Panel) - Admin Tokens(Admin 令牌) | | Project |
-
通用(General)
-
"更新项目级设置(Update the project level settings)" - 允许你编辑项目的设置
-
"读取项目级设置(Read the project level settings)" - 授予对项目设置的访问权限
| | Transfer Tokens |
-
Transfer 令牌(Transfer tokens)
-
"访问 Transfer tokens(Transfer 令牌)设置页面(Access the Transfer tokens settings page)" - 切换对 Transfer Tokens(Transfer 令牌)页面的访问
-
通用(General)
-
"创建(生成)[Create (generate)]" - 允许创建 Transfer 令牌
-
"读取(Read)" - 允许你查看已创建的 Transfer 令牌(禁用此权限将禁用对 全局设置(Global Settings) - Transfer Tokens(Transfer 令牌) 设置的访问)
-
"更新(Update)" - 允许编辑 Transfer 令牌
-
"删除(撤销)[Delete (revoke)]" - 允许删除 Transfer 令牌
-
"重新生成(Regenerate)" - 允许重新生成 Transfer 令牌
👉 Transfer Tokens(Transfer 令牌)设置路径提示: 通用(General) > 设置(Settings) > 全局设置(Global Settings) - Transfer Tokens(Transfer 令牌) |
- 点击右上角的 保存(Save) 按钮。
要为你的自定义插件创建管理员权限,请参阅我们的 专用指南。
为权限设置自定义条件
对于每个类别的每个权限,都会显示一个 设置(Settings) 按钮。它允许你通过定义管理员被授予该权限所需的附加条件,进一步推进权限配置。
有 2 个默认的附加条件:
- 管理员必须是创建者,
- 管理员必须与创建者拥有相同的角色。

- 点击已为角色授予的权限的 设置(Settings) 按钮。
- 在 定义条件(Define conditions) 窗口中,每个可用权限都可以用特定条件进行自定义。点击你要自定义的权限相关的下拉列表。
- 为所选权限定义自定义条件。你可以:
- 勾选「默认(Default)」选项以应用所有可用的附加条件。
- 点击箭头按钮 查看可用的附加条件,并仅勾选所选的条件。
- 点击 应用(Apply) 按钮。
一旦为某项权限设置了自定义条件,该权限名称旁和 设置(Settings) 按钮旁会显示一个圆点。
:::caution 自定义条件只能为已勾选授予该角色的权限设置。否则,当点击 设置(Settings) 按钮时,打开的窗口将保持空白,因为没有任何可用的自定义条件选项。 :::
如果已经事先为你的 Strapi 应用创建了其他自定义条件,它们也可能可用。以下专用指南可帮助你创建额外的自定义条件:
- 创建自定义 RBAC 条件 — 学习如何通过自定义你的 Strapi 应用代码,从零开始创建自定义 RBAC 条件。
使用
使用该功能的路径: 设置 > 管理面板(Administration panel) > 用户(Users)
用户(Users) 界面显示一个表格,列出你的 Strapi 应用的所有管理员。更具体地说,对于表中列出的每个管理员,都会显示他们的主要账户信息,包括姓名、电子邮件和被分配的角色。还会指示其账户状态:激活或非激活,取决于管理员是否已经登录以激活账户。

从此界面可以:
- 进行文本搜索 > **提示:**此处原本是一个交互式组件(
ScreenshotNumberReference),在静态 Markdown 中无法渲染。可参考原始在线文档查看对应内容。 以查找特定管理员, - 设置筛选条件 > **提示:**此处原本是一个交互式组件(
ScreenshotNumberReference),在静态 Markdown 中无法渲染。可参考原始在线文档查看对应内容。 以查找特定管理员, - 创建新的管理员账户(见 创建新账户)> **提示:**此处原本是一个交互式组件(
ScreenshotNumberReference),在静态 Markdown 中无法渲染。可参考原始在线文档查看对应内容。, - 删除管理员账户 > **提示:**此处原本是一个交互式组件(
ScreenshotNumberReference),在静态 Markdown 中无法渲染。可参考原始在线文档查看对应内容。(见 删除账户), - 或访问某个管理员账户的相关信息并编辑它 > **提示:**此处原本是一个交互式组件(
ScreenshotNumberReference),在静态 Markdown 中无法渲染。可参考原始在线文档查看对应内容。(见 编辑账户)。
可以为表中显示的大多数字段启用排序。点击表头中要排序的字段名称,即可按该字段排序。
创建新账户

- 点击 邀请新用户(Invite new user) 按钮。
- 在 邀请新用户(Invite new user) 窗口中,填写关于新管理员的详细信息(Details):
| 用户信息 | 说明 |
|---|---|
| 名字(First name) | (必填)在文本框中写入管理员名字。 |
| 姓氏(Last name) | (必填)在文本框中写入管理员姓氏。 |
| 电子邮件(Email) | (必填)在文本框中写入管理员的完整电子邮件地址。 |
- 填写关于新管理员的登录(Login)设置:
| 设置 | 说明 |
|---|---|
| 用户角色(User's roles) | (必填)从下拉列表中选择要分配给新管理员的角色。 |
| 通过 SSO 连接(Connect with SSO) | (可选)点击 TRUE(是) 或 FALSE(否) 以通过 SSO 连接新管理员账户。 |
- 点击 添加新用户(Add new user) 窗口右下角的 邀请用户(Invite user) 按钮。
- 窗口顶部会出现一个 URL:它是发送给新管理员、供其首次登录你的 Strapi 应用的 URL。点击复制按钮 复制该 URL。
- 点击右下角的 完成(Finish) 按钮以完成新管理员账户的创建。新管理员现在应该列在表中。
管理员邀请 URL 在管理员账户被激活之前都是可访问的。
删除账户
可以同时删除一个或多个管理员账户。
- 点击账户记录右侧的删除按钮 ,或者通过勾选账户记录左侧的复选框选择一个或多个账户,然后点击表格上方的 删除(Delete) 按钮。
- 在删除窗口中,点击 确认(Confirm) 按钮以确认删除。
编辑账户

- 点击你要编辑账户的管理员姓名。
- 在 详细信息(Details) 区域,编辑你选择的账户详细信息:
| 用户信息 | 说明 |
|---|---|
| 名字(First name) | 在文本框中写入管理员名字。 |
| 姓氏(Last name) | 在文本框中写入管理员姓氏。 |
| 电子邮件(Email) | 在文本框中写入管理员的完整电子邮件地址。 |
| 用户名(Username) | 在文本框中写入管理员的用户名。 |
| 密码(Password) | 在文本框中写入新管理员账户的密码。 |
| 确认密码(Confirm password) | 在文本框中写入新密码以确认。 |
| 激活(Active) | 点击 TRUE(是) 以激活管理员的账户。 |
- (可选)在 角色(Roles) 区域,编辑管理员的角色:
- 点击下拉列表选择新角色,和/或将其添加到已分配的角色中。
- 点击删除按钮 删除已分配的角色。
- 点击右上角的 保存(Save) 按钮。