跳到主要内容

配置角色

通过 Logto 控制台配置

定义角色类型

在 Logto 中,根据实体可以应用的对象,有两种类型的角色:“用户角色”或“机器对机器应用角色”。

  1. 用户角色:用户角色是一种只能分配给用户的角色类型。它可以包含来自你自己的 API 资源的权限。
  2. 机器对机器角色:M2M 角色是一种只能分配给机器对机器应用的角色类型。它可以包含你自己的 API 权限和 Logto Management API 权限。机器对机器角色通常用于保护你的机器对机器认证。例如访问 Logto Management API 或你自己的 API 资源。

创建角色后,你无法修改其类型。

创建和定义新角色

角色是一组权限。导航到 Console > Roles,你将看到已定义的角色列表。

  1. 请记住,虽然技术上可以创建一个没有分配权限或用户的角色,但不建议创建太多空角色。这会破坏角色管理的和谐,并使基于角色的访问控制 (RBAC) 系统失效。
  2. 权限在选择器中按 API 分组,允许你批量添加或单独选择它们。
备注:

基于角色的访问控制 (RBAC) 在整个 Logto 基础设施中使用,无论是在系统 / 用户级别还是在组织级别。本章重点介绍系统 / 用户级别的 RBAC。如果你需要在组织级别实施 RBAC,请参阅 组织模板

查看或更新角色

你还可以随时编辑角色名称和描述,并检查和管理分配给角色的权限和用户。

注意:

删除角色将消除与其相关的所有权限,并删除角色、用户或应用与权限之间的连接。

管理角色中的用户或机器对机器应用

根据你选择的角色类型,你将能够在角色详细信息页面上分配或移除用户或机器对机器应用。

单击“用户”或“机器对机器应用”选项卡以查看分配给角色的用户或应用。要继续向角色添加用户或应用,请单击右上角的“分配用户”或“分配应用”按钮。

管理角色中的权限

如果你需要更改角色的功能,可以通过分配或移除权限轻松实现。

备注:

如果删除权限,具有此角色的用户或应用将失去由此权限授予的访问权限。

管理分配给机器对机器应用或用户的角色

你可以在用户或应用的详细信息页面上找到“角色”选项卡。单击该选项卡以查看和管理分配给用户或机器对机器应用的角色。

如果 Logto Cloud 中的配置不够,你可以利用 Management API 以编程方式执行此管理任务。

通过 Logto Management API 配置

使用 Logto Management API 进行管理。调用相关端点。查看此 参考

methodpathdescription
GET/api/roles获取具有过滤器和分页的角色。
POST/api/roles使用给定数据创建新角色。
GET/api/roles/{Id}通过 ID 获取角色详细信息。
DELETE/api/roles/{Id}删除具有给定 ID 的角色。
PATCH/api/roles/{Id}更新角色详细信息。此方法执行部分更新。
GET/api/roles/{Id}/users获取分配了角色的用户,并进行分页。
POST/api/roles/{Id}/users将角色分配给用户列表。角色必须具有类型 User
DELETE/api/roles/{Id}/users/{userId}从具有给定 ID 的用户中移除角色。
GET/api/roles/{Id}/applications获取分配了角色的应用,并进行分页。
POST/api/roles/{Id}/applications将角色分配给应用列表。角色必须具有类型 Application
DELETE/api/roles/{Id}/applications/{applicationId}从具有给定 ID 的应用中移除角色。
GET/api/roles/{Id}/scopes获取与角色关联的 API 资源权限。
POST/api/roles/{Id}/scopes将 API 资源权限列表与角色关联。原始关联的权限将被保留。
DELETE/api/roles/{Id}/scopes/{scopeId}从具有给定 ID 的角色中取消关联 API 资源权限。

默认角色

默认角色是在创建用户时自动分配的角色,无论是自助注册还是通过 Management API 创建。你可以通过进入角色-角色详细信息-常规来启用此切换。