# 角色权限

角色是工作区功能权限的配置对象。为工作区成员分配角色后，成员的可用功能由角色中的权限项和适用范围共同决定。成员角色分配操作见[用户管理](users.md)。

## 查看角色

进入角色权限页面后，可搜索角色，并按状态筛选。角色列表显示角色 ID、名称、状态、创建时间、更新时间和描述。操作列根据当前角色和操作者权限显示权限查看、编辑、继承、启用或禁用、删除和日志等入口。

系统角色或受保护角色的编辑、状态变更和删除入口处于禁用状态。页面显示的禁用状态是当前操作是否可执行的判断依据。

## 创建和编辑角色

当前操作者具备角色新建能力且权限上下文准备完成时，页面显示新建角色入口。新建角色时，先填写角色名称和描述，再在权限编辑器中配置权限。

1. 点击“新建角色”。
2. 填写角色名称和描述。
3. 在“全局权限”或“对象权限”页签中配置权限。
4. 使用页面提供的校验或查看入口检查配置。
5. 保存后返回角色列表，确认角色状态和描述已经更新。

编辑已有角色时，保存会改变该角色的配置。已经关联该角色的成员会受到后续权限判断影响；修改前先确认关联成员的工作范围。

## 配置全局权限和对象权限

角色编辑器将权限配置分为两个页面范围：

| 范围 | 配置对象 |
 | --- | --- |
| 全局权限 | 工作区或功能域层面的权限项 |
| 对象权限 | 针对页面选择的具体资源配置权限项 |

并非每个权限项都能选择对象。只有对象权限页面实际列出的权限项和资源选择器，才能配置对象范围。公开文档不维护未经核验的全量权限矩阵；具体到某个功能时，应以当前权限编辑器显示的权限项为准。

### 表数据的行列权限

源码中存在表数据的行、列权限编辑器。它们属于对象权限的进一步配置：先选择支持该能力的表对象和权限项，再按照页面提供的规则配置可见行或可用列。当前对象能力不支持时，选择器或保存按钮会被禁用；不能因为页面存在行列组件，就断言所有表权限都支持行列控制。

## 查看权限

在角色操作列打开权限查看，可以分别查看全局权限和对象权限。权限查看用于确认角色当前配置，不等于为成员临时追加权限；需要改变权限时，应回到角色编辑入口保存角色配置。

## 角色继承

角色详情提供继承关系入口。当前页面可以查看角色继承信息、选择父角色并提交新增或移除继承关系；角色关系图和继承状态用于确认角色之间的关联。

修改继承关系后，重新打开权限查看或角色详情，确认关系已经更新。继承关系改变的是角色之间的权限关系，不等同于 MatrixOne SQL 的 `GRANT`，也不等同于直接给成员追加临时权限。

## 角色审计信息

角色详情提供审计页签，可按操作者、操作和状态筛选审计事件，并使用分页继续查看结果。页面显示操作、状态、操作者和版本信息，用于追踪角色关系和权限变更。

审计信息用于追踪已经发生的管理操作，不是权限配置入口。角色权限修改应回到角色编辑器完成。

## 角色所有权信息

角色详情中存在所有权信息页签。当前页面将所有权变更能力显示为受限状态，因此本页不把所有权转移、资源接管或删除成员后的资源迁移写成可执行流程。

## 当前不写入的结论

以下结论需要后端授权计算和当前页面结果共同确认，不能只根据权限编辑器或类型定义推断：

- 多个角色叠加后的最终合并规则；
- “全部对象”是否覆盖未来新建对象；
- 创建子对象时需要的父对象权限；
- 禁用角色后已经关联成员的即时生效方式；
- 成员移除后的资源归属和运行任务处理；
- 所有功能域的完整权限点清单。

## 与 MatrixOne 权限的关系

本页角色用于控制 AI Studio 工作区功能。MatrixOne 的数据库用户、数据库角色、表权限和 SQL 授权在[MatrixOne 权限](../../matrixone/permissions.md)中单独管理。

## 相关页面

- [用户管理](users.md)
- [MatrixOne 权限](../../matrixone/permissions.md)
