OpenAI 平台权限管理
基于角色的访问控制(RBAC)用于决定组织与项目中的人员可以执行哪些操作,同时作用于 API 与控制台。能调用某端点的用户可使用对应控制台页面;缺少权限时相关界面也会禁用,例如 Playground 的上传按钮。它支持按组批量授权、自定义精确权限、组织/项目范围及两种入口一致控制。
关键概念
- 组织(Organization):顶层账户,组织角色可授予跨全部项目的访问。
- 项目(Project):密钥、文件和资源的工作空间,项目角色仅作用于该项目。
- 组(Groups):可被统一分配角色的用户集合,可通过 SCIM 从身份提供商同步成员。
- 角色(Roles):一组权限,例如模型请求、文件写入。可在组织设置或具体项目设置创建,再分配给用户或组。同一用户可有多个角色,有效权限是这些角色的并集。
- 权限(Permissions):角色允许的具体动作,例如请求模型、读写文件、管理密钥。
权限
下表列出可用权限、预设角色覆盖及自定义角色资格。保留控制台的 Read(读取)、Write(写入)、Request(请求)、Use(使用)、Manage(管理)值,便于与界面对照。
| 领域 | 允许操作 | 组织所有者 | 组织读取者 | 项目所有者 | 项目成员 | 项目查看者 | 可自定义角色 |
|---|---|---|---|---|---|---|---|
| 模型列表 | 列出组织可访问模型 | Read |
Read |
Read |
Read |
Read |
✓ |
| 组 | 查看和管理组 | Read, Write |
Read |
Read, Write |
Read, Write |
Read |
|
| 角色 | 查看和管理角色 | Read, Write |
Read |
Read, Write |
Read, Write |
Read |
|
| 组织管理 | 管理组织用户、项目、邀请、管理密钥与速率限制 | Read, Write |
|||||
| 用量 | 查看用量面板和导出 | Read |
✓ | ||||
| 外部密钥 | 查看和管理企业密钥管理的密钥 | Read, Write |
|||||
| IP允许列表 | 查看和管理IP允许列表 | Read, Write |
|||||
| mTLS | 查看和管理双向TLS设置 | Read, Write |
|||||
| OIDC | 查看和管理OIDC配置 | Read, Write |
|||||
| 模型能力 | 请求聊天补全、音频、嵌入和图像 | Request |
Request |
Request |
Request |
✓ | |
| Assistants | 创建和检索Assistants | Read, Write |
Read, Write |
Read, Write |
Read, Write |
Read |
✓ |
| Threads | 创建和检索Threads/Messages/Runs | 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/Realtime上下文的提示词 | 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 |
✓ | ||||
| 隧道 | 检查、使用和管理组织范围隧道 | Read, Use, Manage |
✓ | ||||
| 项目API密钥 | 允许用户管理自己的API密钥 | Read, Write |
Read, Write |
Read, Write |
Read, Write |
Read |
✓ |
| 项目管理 | 通过管理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 |
|
| Agent Builder | 在Agent Builder创建和管理智能体/工作流 | Read, Write |
Read |
Read, Write |
Read, Write |
Read |
✓ |
Batch 权限的隐含授权
Batch 权限包含准备输入文件、执行请求及读取结果所需的访问。这些有效权限与批处理中可提交的端点列表是不同概念。
| Batch权限 | 额外有效访问 |
|---|---|
读取(api.batch.read) |
针对 /v1/files 的文件读取(api.files.read) |
写入(api.batch.write) |
Batch读取;/v1/models 的模型列表(api.model.read、model.read);/v1/files 的文件读写(api.files.read、api.files.write);针对 /v1/audio、/v1/chat/completions、/v1/embeddings、/v1/images、/v1/moderations、/v1/realtime、/v1/responses 的模型请求(api.model.request、model.request) |
设置 RBAC
角色变更和组同步最多需要 30 分钟传播。
- 创建组。按团队建立,例如数据科学、支持;使用 IdP 时启用 SCIM 保持成员同步。
- 创建自定义角色。从最小权限开始。例如模型测试人员需要 Models Read、Model Capabilities Request、Evals;模型工程师需要 Model Capabilities Request、Files Read/Write、Fine-tuning;应用发布人员需要 Apps Read、Apps Write。
- 分配角色。组织级作用于组织所有项目;项目级仅作用于本项目。可分配给用户和组,多个角色的访问取并集。
- 验证。用非所有者账户同时检查 API 和控制台,若超出需要则调整。
坚持最小权限,先给任务所需最低权限,再按需增加。
访问配置示例
小团队
为核心团队分配组织级模型请求和文件读写角色。每个应用创建项目,承包人员仅加入对应项目并使用项目级角色。
大型组织
从 IdP 同步研究、支持、财务等组。按职能创建自定义角色并在组织级分配;需要更严格边界的项目只分配项目角色。
承包人员与供应商
创建没有组织级角色的“承包人员”组,仅加入指定项目,授予只读等范围较窄的项目角色。
如何评估用户访问权
控制台合并组织和项目的直接角色与经组获得的角色,有效权限为全部已分配角色的并集。
使用项目内 API 密钥请求时,还会检查密钥所分配权限,以及用户是否有赋予这些权限的项目角色。例如 /v1/models 要求密钥具有 api.model.read,用户也有包含该权限的项目角色。
最佳实践
- 通过组反映组织结构,在 IdP 中映射团队,给组而非逐个用户授权。
- 分离模型读取、文件上传和密钥管理等职责。
- 用不同项目隔离实验、预发布与生产。
- 定期移除闲置角色和密钥,轮换敏感密钥。
- 大范围推广前,以非所有者身份验证权限符合预期。

TRAE-AI编程


更多建议: