基于角色的访问控制 (RBAC) 让您可以决定谁能在您的组织和项目中执行什么操作——无论是通过 API 还是在控制台中。相同的权限同时控制这两个界面:如果某人可以调用某个端点(例如, /v1/chat/completions),他们就可以使用对应的控制台页面,而缺少权限将禁用相关的 UI(例如 Playground 中的 上传 按钮)。通过 RBAC,您可以:
- 对用户进行分组并大规模分配权限
- 创建具有所需确切权限的自定义角色
- 在组织或项目级别设定访问范围
- 在控制台和 API 中实施一致的权限
核心概念
- 组织: 您的顶级账户。组织角色可以授予所有项目的访问权限。
- 项目: 用于存放密钥、文件和资源的工作区。项目角色仅授予该项目内的访问权限。
- 群组: 可向其分配角色的用户集合。可以通过身份提供商(使用 SCIM)同步组,以自动保持成员资格最新。
- 角色: 权限的集合(例如请求模型或写入文件)。可以在以下位置为组织创建角色 组织设置, 或者在特定项目的设置中为该项目创建角色。创建完成后,即可将组织或项目角色分配给用户或组。用户可以拥有多个角色,其访问权限是这些角色的并集。
- 权限: 角色允许的具体操作(例如,向模型发起请求、读取文件、写入文件、管理密钥)。
权限
下表展示了可用的权限、包含这些权限的预设角色,以及它们是否可以配置为自定义角色。
| 方面 | 允许的操作 | 组织所有者权限 | 组织读取者权限 | 项目所有者权限 | 项目成员权限 | 项目查看者权限 | 可用于自定义角色 |
|---|---|---|---|---|---|---|---|
| 列出模型 | 列出此组织有权访问的模型 | Read | Read | Read | Read | Read | ✓ |
| 群组 | 查看和管理群组 | Read, Write | Read | Read, Write | Read, Write | Read | |
| 角色 | 查看和管理角色 | Read, Write | Read | Read, Write | Read, Write | Read | |
| 组织管理员 | 管理组织用户、项目、邀请、管理员 API 密钥和速率限制 | Read, Write | |||||
| 用量 | 查看用量仪表板并导出 | Read | ✓ | ||||
| 外部密钥 | 查看和管理企业密钥管理的密钥 | Read, Write | |||||
| IP 允许列表 | 查看和管理 IP 允许列表 | Read, Write | |||||
| mTLS | 查看和管理双向 TLS 设置 | Read, Write | |||||
| OIDC | 查看和管理 OIDC 配置 | Read, Write | |||||
| 模型能力 | 向聊天补全、音频、嵌入和图像发起请求 | Request | Request | Request | Request | ✓ | |
| 助手 | 创建和检索助手 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 线程 | 创建和检索线程/消息/运行 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 评估 | 创建、检索和删除评估 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 微调 | 创建和检索微调作业 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 文件 | 创建和检索文件 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 向量存储 | 创建和检索向量存储 | Read, Write | Read, Write | Read, Write | Read, Write | ✓ | |
| Responses API | 创建响应 | Read, Write | Read, Write | Read, Write | Read, Write | ✓ | |
| 提示词 | 创建和检索提示,以用作 Responses API 和 Realtime API 的上下文 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| Webhooks | 在您的项目中创建和查看 Webhook | Read, Write | Read | Read, Write | Read, Write | Read | ✓ |
| 数据集 | 创建和检索数据集 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 应用 | 在控制台中创建、管理和提交应用以供审核 | Read, Write | ✓ | ||||
| 项目 API 密钥 | 允许用户管理其自身 API 密钥的权限 | Read, Write | Read, Write | Read, Write | Read, Write | Read | ✓ |
| 项目管理 | 通过管理 API 管理项目用户、服务账户、API 密钥和速率限制 | Read, Write | Read, Write | ||||
| Batch | 创建和管理批处理作业 | Read, Write | Read, Write | Read, Write | Read, Write | Read | |
| 服务账号 | 查看和管理项目服务账号 | Read, Write | Read, Write | ||||
| 视频 | 创建和获取视频 | Read, Write | Read, Write | Read, Write | Read, Write | ||
| 声音 | 创建和获取声音 | Read, Write | Read, Write | Read, Write | Read, Write | Read | |
| 智能体构建器 | 在 Agent Builder 中创建和管理代理及工作流 | Read, Write | Read | Read, Write | Read, Write | Read | ✓ |
设置 RBAC
最多允许等待 30 分钟 以使角色更改和组同步生效。
-
创建组 为团队添加组(例如,“数据科学”、“支持”)。如果您使用 IdP,请启用 SCIM 同步以保持组成员资格最新。
-
创建自定义角色 从最小权限原则开始。例如:
- 模型测试员: 读取模型、请求模型能力、评估
- 模型工程师: 请求模型能力、读取/写入文件、微调
- 应用发布者: 读取 Apps、写入 Apps
-
分配角色
- 组织级别 角色在任何地方(组织内的所有项目)均适用。
- 项目级别 角色仅在该项目中适用。您可以将角色分配给 用户 and 组。用户可以拥有多个角色;访问权限是这些角色的 并集.
-
验证 使用非所有者账号确认预期的访问权限(API 和仪表板)。如果用户能看到超出其所需的权限,请调整角色。
使用最小权限原则。从任务所需的最低权限开始,然后仅在需要时添加更多权限。
访问配置示例
小型团队
- 授予核心团队具有模型能力请求和文件读/写权限的组织级别角色。
- 为每个应用创建一个项目;仅将外部承包商添加到这些项目中,并授予项目级别角色。
大型组织
- 从您的 IdP 同步组(例如,“研究”、“支持”、“财务”)。
- 按职能创建自定义角色并在组织级别分配;或者仅在项目需要更严格的控制时授予特定项目的角色。
承包商和供应商
- 创建一个无组织级别角色的“承包商”组。
- 将他们添加到具有严格限定范围的项目角色(例如,只读访问权限)的特定项目中。
如何评估用户访问权限
在仪表板中,我们会合并:
- 来自 组织 (直接分配 + 通过组分配)的角色
- 来自 项目 (直接分配 + 通过组分配)的角色
的有效权限为 并集 of all assigned roles.
如果使用项目内的 API 密钥发起请求,我们将提取分配给该 API 密钥的权限,并确保用户拥有授予这些权限的某个项目角色。例如,如果请求 /v1/models,API 密钥必须分配有 api.model.read,且用户必须拥有包含 api.model.read 的项目角色。
最佳实践
- 在组中建立您的组织模型: 镜像您的 IdP 中的团队,并将角色分配给组,而非个人。
- 职责分离: 读取模型 vs. 上传文件 vs. 管理密钥。
- 项目边界: 将实验、预发布和生产环境放在不同的项目中。
- 定期审查: 移除未使用的角色和密钥;轮换敏感密钥。
- 以非所有者身份进行测试: 在广泛推广之前,验证访问权限是否符合预期。