SteelEngine 使用基于策略的访问控制(PBAC)。角色是权限目录中一组有名称的权限,而不是固定的访问级别。你可以把角色分配给用户或权限组,并将范围设为单个工作区或整个组织。
以前的只读、编辑和管理员级别已迁移为预置的 Viewer、Editor 和 Workspace Admin 角色。现有访问权限已自动转换。
预置角色
| 范围 | 角色 | 初始用途 |
|---|---|---|
| 组织 | Admin | 完整管理组织、访问控制、账单和工作区 |
| 组织 | Supervisor | 查看组织、创建工作区和管理成员,但不会自动获得工作区内容权限 |
| 组织 | Member | 查看组织、创建工作区和使用共享凭据集 |
| 工作区 | Workspace Admin | 包含 Viewer 和 Editor 权限,并可管理设置、成员、API 密钥、凭据、收件箱和 MCP |
| 工作区 | Editor | 在读取权限基础上修改工作流、文档、表格、知识库、工具、技能和通知 |
| 工作区 | Viewer | 读取工作区资源和元数据 |
初始继承关系为:
Member → Supervisor → Admin
Viewer → Editor → Workspace Admin获得授权的管理员可以修改角色名称、权限和继承关系。因此这些角色是初始配置,而不是不可更改的产品规则。
自定义角色
在 组织设置 → 访问 → 角色 中,可以按实际职责创建角色,例如文档编辑者、发布管理员或数据分析员。系统使用 workflow:execute、workspace:update_documents 和 table:query 等稳定的目录键进行授权;角色名称本身不会授予权限。
继承和分配
角色可以传递继承一个或多个其他角色。SteelEngine 会阻止继承循环。
一次角色分配包括:
- 用户或权限组,
- 预置角色或自定义角色,
- 整个组织或一个工作区的范围,
- 直接分配、组分配或组织范围分配的来源。
组织范围分配适用于权限匹配的所有位置。工作区分配只适用于该工作区。
有效访问权限
SteelEngine 会在每次请求时合并直接角色、组角色、组织范围和工作区范围分配以及角色继承。适用的显式拒绝优先于允许。产品方案要求和 API 密钥范围还可以进一步限制访问。
MCP 使用相同模型。tools/list 只显示可能可用的操作,tools/call 会针对解析后的目标再次检查精确的目录权限。MCP 密钥上的 read、write 和 admin 只是额外的传输上限,不能替代角色。
另请参阅有效访问权限的计算方式和权限目录参考。
如果某项变更会导致组织中没有任何人同时具备管理授权和组织成员的权限,SteelEngine 会阻止该变更。