安全公告 — 恶意 litellm 版本 1.82.7 与 1.82.8 已从 PyPI 移除(存在 API 密钥外泄风险)。请卸载、轮换已暴露凭据,并升级至安全版本(如 1.82.9+)。运行 pip show litellm 以确认。 PyPI · README

RBAC Scopes

Scope 是 Enterprise 权限的最小单元,格式为 resource:verb。

RBAC Scopes

Scope 是 Enterprise 权限的最小单元,格式为 resource:verb

单一来源packages/iam-core/src/scope-registry.ts


注册表

ResourceVerbs示例 scope
adminenteradmin:enter — 进入管理台
userread, create, update, delete, manageuser:read
deptread, create, update, delete, managedept:manage
roleread, create, update, delete, managerole:create
auditread, read:all, read:dept, export, manageaudit:read:dept
meteringread, export, managemetering:export
workspaceread, chat, manageworkspace:chat — 前台聊天
policyread, create, update, delete, publish, disable, managepolicy:publish
modelread, create, update, delete, managemodel:manage
kbread, create, update, delete, manage知识库(预留)
automationread, create, update, delete, manage自动化(预留)
gatewayread, manageGateway 配置
providerread, create, update, delete, manage模型服务商
ssoread, create, update, delete, manageSSO Provider

特殊值

含义
*拥有全部注册 scope(超级管理员)

函数:

  • expandRoleScopes() — 展开 *
  • mergeUserScopes() — 多角色合并去重
  • hasEveryScope() / hasSomeScope() — API 路由校验

默认种子角色(参考)

db:seed + 可选 iam-demo-seed 注入演示数据。典型配置:

角色 code用途典型 scopes
owner租户拥有者* 或全量 manage
admin平台管理员admin:enter, IAM, policy, audit:read:all, model:*
security安全审计audit:read:all, policy:read, metering:read
member普通员工workspace:chat, workspace:read

Portal 聊天最低要求workspace:chat

默认 owner 已自带;旧环境 HMR 可能自动补齐。


审计可见域

Scope可见范围
audit:read:all全租户 gateway 审计
audit:read:dept本部门相关记录
audit:export导出权限

注意:仅用旧 scope `audit:read` 在部门隔离场景可能 403,需升级为 audit:read:deptaudit:read:all

IAM 管理审计(audit_events 表)与 gateway 审计分开授权,路由层分别校验。


API 路由映射示例

路由所需 scope
GET /api/admin/usersuser:read
POST /api/policy/publishpolicy:publish
PUT /api/admin/users/:id/modelsmodel:manage
POST /api/audit/queryaudit:read:allaudit:read:dept
Portal /api/chat/completionsworkspace:chat

具体校验见各 feature 的 middleware/rbac.ts 与 admin route handler。


角色编辑 UI

Admin /iam/roles

  • scopes 多选来自 ALL_REGISTERED_SCOPES
  • 系统 immutable 角色不可删
  • 保存后立即生效(JWT 内 scopes 在下次登录/refresh 更新)

扩展新 scope

  1. SCOPE_REGISTRY 添加 resource/verb
  2. 在对应 API route 调用 hasEveryScope
  3. 更新本文档与 admin 角色模板 seed
  4. 不要 在客户仓硬编码 scope 字符串而不回流 registry

相关文档