切换主题
管理应用、用户与权限
一个 Application 对应一个业务产品或独立接入边界。先创建应用,再为可信业务身份分配凭据。appId 是路径标识,不能单独作为授权证据。
创建应用
独立初始化命令通过 ApplicationBootstrap.create(appId, name) 创建应用,见创建应用教程。控制台创建是可选管理路径。标识满足 [a-z][a-z0-9-]{0,63},名称 1–128 字符,global 保留。配置已发布的默认 Agent 后,应用进入可运行状态。
业务拆分时使用独立应用隔离资源;同一应用内的客户组织使用可信 tenantId 区分。不要把前端传来的 tenantId 直接当成已验证身份。
角色与可见范围
| 身份 | 管理配置 | 签发本地凭据 | 聊天与会话 |
|---|---|---|---|
| PLATFORM_ADMIN | 应用、公共模型和应用能力 | 可以 | 不作为业务聊天身份 |
| APP_ADMIN | 自身应用能力及运行摘要 | 不可以 | 仅自己的用户/租户会话 |
| USER | 不可以读取能力定义 | 不可以 | 仅自己的用户/租户会话 |
管理人员能查看应用活动摘要,不因此获得其他用户的完整会话和事件。任务操作还需匹配 appId、subjectId、tenantId。
签发本地凭据
在受控初始化 / 身份管理流程调用凭据 API,字段为 subjectId、tenantId、role 和 ttlSeconds;示例完整命令在开发身份教程。当前 SDK 尚未封装此签发方法,也可使用控制台“访问凭据”。有效期默认 86400 秒,允许 60–2592000 秒。原始 token 仅签发时显示一次,之后只能查询元数据或撤销。
业务后端应先完成自己的用户登录和数据权限判断,再由可信身份层映射到平台身份。签发接口仅平台管理员可调用;不要将这个权限直接开放给浏览器。
轮换顺序:签发新凭据 → 更新业务配置 → 验证 → 撤销旧凭据。撤销本地凭据立即影响后续访问。
使用 OIDC
设置 OIDC 环境变量三项配置。平台接收访问令牌,校验 RS256、签名、issuer、audience、exp、nbf,不接受任意登录 ID Token 替代资源访问令牌。
| JWT 声明 | 含义 |
|---|---|
| sub | 业务用户标识 |
| sparktide_app | 已创建的应用标识 |
| sparktide_tenant | 可信租户标识 |
| sparktide_role | USER 或 APP_ADMIN |
| aud | 分配给平台资源服务的 audience |
这些声明由身份管理员控制,终端用户不能自行编辑。JWT 不授予 PLATFORM_ADMIN。平台不提供在线令牌内省,OIDC 撤销策略通过短有效期和身份服务密钥管理落实。
凭据放在哪里
- 平台管理员、应用注册凭据和业务回调密钥保存在服务端。
- 浏览器仅取得当前业务用户所需的短期身份。
- 模型密钥保存在平台部署环境,Registry 只填写 secretRef。
- 日志和问题报告中使用脱敏标识,不记录 token。
应用配额与费用预算
在控制台“配额与预算”配置应用、租户、用户和模型的周期上限,查看预留并核对供应商最终用量。详见配额与费用预算。
