配置角色
通过 Logto 控制台配置
定义角色类型
在 Logto 中,根据实体可以应用的对象,有两种类型的角色:“用户角色”或“机器对机器应用角色”。
- 用户角色:用户角色是一种只能分配给用户的角色类型。它可以包含来自你自己的 API 资源的权限。
- 机器对机器角色:M2M 角色是一种只能分配给机器对机器应用的角色类型。它可以包含你自己的 API 权限和 Logto Management API 权限。机器对机器角色通常用于保护你的机器对机器认证。例如访问 Logto Management API 或你自己的 API 资源。
创建角色后,你无法修改其类型。
创建和定义新角色
角色是一组权限。导航到 Console > Roles,你将看到已定义的角色列表。
- 请记住,虽然技术上可以创建一个没有分配权限或用户的角色,但不建议创建太多空角色。这会破坏角色管理的和谐,并使基于角色的访问控制 (RBAC) 系统失效。
- 权限在选择器中按 API 分组,允许你批量添加或单独选择它们。
备注
基于角色的访问控制 (RBAC) 在整个 Logto 基础设施中使用,无论是在系统 / 用户级别还是在组织级别。本章重点介绍系统 / 用户级别的 RBAC。如果你需要在组织级别实施 RBAC,请参阅 组织模板。
查看或更新角色
你还可以随时编辑角色名称和描述,并检查和管理分配给角色的权限和用户。
注意
删除角色将消除与其相关的所有权限,并删除角色、用户或应用与权限之间的连接。
管理角色中的用户或机器对机器应用
根据你选择的角色类型,你将能够在角色详细信息页面上分配或移除用户或机器对机器应用。
单击“用户”或“机器对机器应用”选项卡以查看分配给角色的用户或应用。要继续向角色添加用户或应用,请单击右上角的“分配用户”或“分配应用”按钮。
管理角色中的权限
如果你需要更改角色的功能,可以通过分配或移除权限轻松实现。
备注
如果删除权限,具有此角色的用户或应用将失去由此权限授予的访问权限。
管理分配给机器对机器应用或用户的角色
你可以在用户或应用的详细信息页面上找到“角色”选项卡。单击该选项卡以查看和管理分配给用户或机器对机器应用的角色。
如果 Logto Cloud 中的配置不够,你可以利用 Management API 以编程方式执行此管理任务。
通过 Logto Management API 配置
使用 Logto Management API 进行管理。调用相关端点。查看此 参考。
method | path | description |
---|---|---|
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 创建。你可以通过进入角色-角色详细信息-常规来启用此切换。