角色是用户池中用于区分用户权限的逻辑分组。您可以定义角色并分配给用户,角色信息会写入 ID Token,结合 Agent Identity 策略实现基于角色的访问控制(RBAC)。本文介绍如何创建、分配和删除角色。
角色概述
用户池中的角色用于对用户进行分组和权限划分。角色的核心作用包括:
写入 ID Token:用户登录后,其所属角色会作为声明(Claim)写入客户端应用颁发的 ID Token 中。
策略匹配:在 Agent Identity 的策略说明中,可以使用角色作为主体条件进行匹配,实现基于角色的访问控制(RBAC)。例如,允许
admin角色执行所有操作,而viewer角色仅允许读取操作。
默认角色
创建用户池时,系统会自动生成一个默认角色。默认角色的特点如下:
默认绑定:创建用户时,用户会自动绑定到默认角色,给用户添加自定义角色后可以解绑默认角色。
基础授权:可以基于默认角色对所有用户授予基础的 Agent 权限。
创建角色
创建自定义角色,用于精细化管理用户的访问权限。
在左侧导航栏,选择。
单击目标用户池名称,进入用户池详情页面。
单击角色页签。
单击创建角色。
在创建角色页面,输入角色名称和描述(可选),然后单击创建角色。
分配角色给用户
将角色分配给用户池中的用户。一个用户可以拥有多个角色。
通过角色页签配置:
在角色列表中,单击目标角色名称。
在角色详情页面,点击。
在创建角色分配对话框中,选择需要分配该角色的用户,然后单击创建角色分配按钮。
通过用户页签配置:
在用户列表中,单击目标用户名称。
在用户详情页面,单击。
在创建角色分配对话框中,选择需要分配给该用户的角色,然后单击创建角色分配按钮。
分配完成后,该用户下次通过 SSO 登录时,ID Token 中将包含此角色的声明信息。
移除用户的角色
当需要收回用户的某个角色权限时,可以将其从角色中移除。
通过角色页签配置:
在角色列表中,单击目标角色名称。
在角色详情页面,点击角色分配。
在用户列表中,找到目标用户,在操作列中单击删除角色分配。
在确认对话框中,单击确定。
通过用户页签配置:
在用户列表中,单击目标用户名称。
在用户详情页面,单击角色分配。
在角色列表中,点击目标角色,跳转到对应角色详情页面。
在用户列表中,找到目标用户,在操作列中单击删除角色分配。
在确认对话框中,单击确定。
删除角色
当某个角色不再使用时,您可以将其删除。
删除角色后,所有已分配该角色的用户将失去该角色权限,后续登录时 ID Token 中不再包含该角色声明。此操作不可恢复。
在角色列表中,找到目标角色,在操作列中单击删除角色。
在确认对话框中,输入要删除的角色名称后,单击删除角色。
基于角色的访问控制示例
以下示例展示如何结合角色和策略实现 RBAC。假设您创建了 admin 和 viewer 两个角色:
在策略集中添加策略,允许
admin角色的用户执行所有操作。添加另一条策略,仅允许
viewer角色的用户执行只读操作。