角色与权限
基于角色的访问控制(RBAC)让你可以定义自定义角色,并为团队成员分配细粒度权限。该功能仅限企业版套餐。
启用 RBAC 后,每位成员的权限都来自分配给他们的角色——没有角色的成员仍属于该组织,但在分配角色之前,不会通过角色获得任何访问权限。未启用 RBAC 时,所有加入组织的人都会成为拥有完全访问权限的所有者,且 设置 → 角色 会显示“角色未被应用”(参见 团队)。
切换 RBAC 会重置角色
为组织开启或关闭 RBAC 时,所有成员和所有待处理邀请都会被设为 所有者 角色,因此在你分配权限范围更小的角色之前,所有人都拥有完全访问权限,包括账单管理和删除组织。
权限#
每个角色包含二十一项权限,分为三组。在设置 → 角色中,这些权限以以下标签显示:
| 权限 | 分组 | 可执行操作 |
|---|---|---|
管理团队 (org:manage_team) | 组织 | 邀请和移除成员、分配角色,以及管理自定义角色 |
管理账单 (org:manage_billing) | 组织 | 查看和更改账单设置、付款方式及发票 |
管理设置 (org:manage_settings) | 组织 | 更改组织名称、时区、集成和功能标记 |
管理 API 密钥 (org:manage_api_keys) | 组织 | 创建、限定范围并删除组织的服务 API 密钥 |
管理集成 (org:manage_integrations) | 组织 | 连接、配置和断开外部集成 |
删除组织 (org:delete) | 组织 | 永久删除整个组织 |
查看审计日志 (org:view_audit_logs) | 组织 | 查看组织的审计轨迹。需要 Audit Logs 权益 |
管理评审 (org:manage_reviews) | 组织 | 查看内部翻译评审的历史记录和统计数据 |
管理决策池 (org:manage_decision_pools) | 组织 | 创建、重命名和归档决策池,并为其选择成员 |
查看引擎 (engine:read) | 引擎 | 查看本地化引擎及其配置 |
运行翻译 (engine:translate) | 引擎 | 在组织的引擎上运行本地化任务 |
创建引擎 (engine:create) | 引擎 | 在组织中创建新引擎 |
编辑引擎 (engine:edit) | 引擎 | 编辑引擎与模型配置 |
删除引擎 (engine:delete) | 引擎 | 永久删除引擎 |
评审翻译 (engine:review_translations) | 引擎 | 在内部评审队列中评审 AI 翻译 |
查看术语表 (org:glossary:read) | 内容 | 查看组织的术语表及其中的术语 |
编辑术语表 (org:glossary:edit) | 内容 | 创建、更改和删除术语表及术语,并将其应用到引擎 |
查看品牌语调 (org:brandvoice:read) | 内容 | 查看组织的品牌语调 |
编辑品牌语调 (org:brandvoice:edit) | 内容 | 创建、更改和删除品牌语调,并将其应用到引擎 |
查看规则 (org:ruleset:read) | 内容 | 查看组织的规则集及其中包含的规则 |
编辑规则 (org:ruleset:edit) | 内容 | 创建、更改和删除规则集及规则,并将其应用到引擎 |
没有任何权限是所有者专属的。防止权限升级的机制是:你只能授予自己已有的权限。如果某个角色包含了你当前角色不具备的权限,那么创建或编辑该角色、将该角色分配给成员,或将该角色固定到邀请上,都会被拒绝。
角色#
角色分为两类:
- 所有者——平台唯一的默认角色,在 设置 → 角色 中标记为 平台默认。它拥有全部权限,且不能被更改或删除。创建组织的人会成为该组织的第一位所有者;一个组织可以有多位所有者,并且始终至少保留一位。
- 自定义角色——你通过 设置 → 角色 中的 新建角色 创建的任意角色:包含名称、可选描述,以及从这 3 组权限中任选的组合。创建、编辑和删除角色需要启用 RBAC,并具备 管理团队 权限。
部分较早创建的组织还会有一个 完全访问 角色。它只是一个普通的自定义角色——像其他角色一样编辑或删除即可。
角色是权限打包
成员在组织级别只能拥有一个角色。若要授予部分访问权限,请创建一个只包含所需权限子集的角色并分配给该成员。角色之外,唯一的授权方式是按引擎和按内容项分配访问权限,详见下文。
删除某个角色后,原本拥有该角色的所有人都会继续留在组织中,但变为没有角色;固定到该角色的待处理邀请在被接受后也会变为没有角色。如果某个组织 API 密钥仍携带该角色,则该角色无法删除——请先为该密钥分配其他角色,或先将其撤销。
分配角色#
打开 设置 → 团队,然后在 成员 标签页中为成员选择角色。选择 无角色 后,对方仍然是成员,但没有任何权限——他们依然可以登录,但不会通过角色获得引擎、设置或账单的访问权限。若要在某人加入前先为其指定角色,请在 邀请 标签页邀请他们时设置 加入时角色。分配角色需要启用 RBAC,并具备 管理团队 权限;发送邀请则需要 管理团队 权限。
只有所有者才能将所有者角色授予他人或将其移除,而且最后一位所有者不能被降级或移除。邀请不能携带所有者角色。
引擎访问#
角色中的引擎权限——查看引擎、运行翻译、编辑引擎、删除引擎——适用于组织中的每一个 本地化引擎。创建引擎 仅在组织范围内生效。
若要缩小访问范围,可向特定用户授予特定引擎。单个引擎授权会让该成员仅对该引擎拥有查看、翻译、编辑和删除权限。授权是叠加的——如果某个角色本身已包含引擎权限,那么该角色无论如何都会覆盖所有引擎。若要将用户限制在单个引擎上,请为其分配一个不包含引擎权限的角色,然后再向其授予该引擎。
控制台中没有用于管理单个引擎授权的入口;请通过 API 或 MCP 服务器 进行设置:
| 调用 | MCP 工具 | 需要 |
|---|---|---|
PUT /organizations/:id/users/:userId/engine-access | permissions_setUserEngineAccess | 管理团队。会替换该成员的整个引擎列表 |
POST /engines/:id/members | permissions_addEngineMember | 该引擎上的 编辑引擎 权限 |
DELETE /engines/:id/members/:userId | permissions_removeEngineMember | 该引擎上的 编辑引擎 权限 |
只有当此人仍是组织成员,且 RBAC 已启用时,这些授权才会生效。
内容访问#
术语表、品牌语调和规则集的工作方式相同。单项授权会在成员现有角色的基础上,为其授予某一个术语表、品牌语调或规则集的查看和编辑权限。除此之外,任何能够查看引擎的人也都可以读取应用到该引擎的内容,以便理解其输出。
可通过 PUT /organizations/:id/users/:userId/content-access 设置单项授权(MCP:permissions_setUserContentAccess)。这需要 管理团队 权限,并会替换该成员的整份内容列表。
组织 API 密钥#
设置 → API 密钥 有两个标签页。个人 密钥适用于所有套餐,并以创建者的身份运行,拥有与创建者完全一致的访问权限。组织 密钥属于组织,即使相关人员离开后也会继续生效,并且需要启用 RBAC——否则该标签页会显示“组织密钥需要基于角色的访问控制”。
- 创建组织密钥,以及更改其角色或范围,都需要 管理 API 密钥 权限(
org:manage_api_keys)。 - 角色 为可选项。只有仅包含 查看引擎 和 运行翻译 的角色才能分配给密钥。带有 运行翻译 权限的角色可以访问所有引擎。
- 如果选择 无角色,该密钥会“仅访问你在下方选择的引擎”——它的访问权限完全来自其上指定的引擎。你只能指定那些你自己有权运行翻译的引擎。
- 创建密钥后,你可以编辑它,指定它可使用的术语表、品牌语调和规则集。该密钥只能访问这里指定的内容,而你也只能指定那些你自己有权编辑的内容。
- 如果 Enterprise 套餐结束,所有组织密钥都会被停用,并返回一个明确指出所需权益的 403。这样一来,操作人员就会知道应恢复该套餐,或轮换到个人密钥,而不是去排查并不存在的引擎范围 bug。
有关如何创建和撤销密钥,请参阅 API Keys。
所有权#
没有单独的所有权转移步骤。所有者只需在 设置 → 团队 中为对方选择 所有者,即可将所有权交给对方,并且组织始终必须至少保留一位所有者。由于邀请不能携带所有者角色,请先用其他角色邀请对方,待其接受邀请后,再将其设为所有者。若要卸任,请先将另一位成员提升为所有者,然后再降低你自己的角色(在启用 RBAC 时)或将自己移除。