Forward Vault API 复用的响应结构。
Vault 对象
创建、查询、列表、归档接口都会返回该结构。
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | Vault ID,前缀为 vault_ |
type | string | 固定值 "vault" |
display_name | string | Vault 展示名称,最长 255 字符 |
metadata | object | 与 Vault 一起存储的自定义元数据对象;省略时为 {}。created_by 为 Forward 保留字段,调用方不可传入 |
archived_at | string | null | 归档时间,RFC 3339 格式;active 时为 null |
created_at | string | 创建时间,RFC 3339 格式 |
updated_at | string | 最后更新时间,RFC 3339 格式 |
identity_id | string | null | Forward 归属身份。归属为某个 Identity 时返回该 Identity ID,否则为 null。详见 Identity 归属 |
icon_url | string | null | Forward 关联的 icon URL |
binding_info | Binding info | 绑定信息(Template 引用计数等) |
Identity 归属
一个账户(或 Workspace)下可以创建多个 Identity,每个 Identity 表示该账户(或 Workspace)接入产品中的一个终端用户。
Vault 可以归属于账户(或 Workspace),也可以归属于某个 Identity。归属决定了谁能看到和操作该 Vault。
如何指定归属
| 调用方 | 归属 | 如何指定 |
|---|---|---|
| PAT | 账户 / Workspace | 不传 identity_id(默认,与此前行为一致) |
| PAT | 指定 Identity | 传查询参数 identity_id=<identity_id> |
| SAT(管理员) | Workspace | 自动解析,不能通过参数切换 |
| SAT(绑定 Identity) | 该 Identity | 自动解析,不能通过参数切换 |
identity_id 仅在操作 Identity 归属资源时使用,非必填;PAT 场景可显式传入,未传时为管理员视角;SAT 场景请签发 Identity 维度凭证且不要显式携带该参数(包括传空值),否则返回 HTTP 400。
PAT 指定的 Identity 必须属于当前 PAT 所代表的账户或 Workspace,且处于启用状态。不存在、已禁用、已删除或不属于当前调用方时返回 404。
归属隔离
- 不传
identity_id的调用看不到归属于 Identity 的 Vault。 - 一个 Identity 看不到账户(或 Workspace)本身的 Vault,也看不到同账户下其他 Identity 的 Vault。
- 在有效 Identity Scope 下(PAT 传入有效
identity_id,或使用 Identity SAT),跨 Scope 按 ID 查询、更新、归档或删除统一返回404,不区分「不存在」与「不属于你」。 - 未传
identity_id的 PAT 和 Admin SAT 保持存量行为,Owner mismatch 返回403。
支持的接口
创建、搜索、列出、查询、更新、归档、删除 Vault 均支持 identity_id 查询参数。
Vault credential 不单独归属,其归属完全继承所在 Vault,详见 Credential schemas。
GET /api/v1/forward/resources/batch 暂不支持 identity_id,其可见性规则保持不变。Binding info
Forward 在 Vault 响应中携带的引用聚合。
| 字段 | 类型 | 说明 |
|---|---|---|
agent_template_count | integer | 当前绑定该 Vault 的 Template 数量 |
列表分页字段
| 字段 | 类型 | 说明 |
|---|---|---|
data | Vault 对象 数组 | 当前页记录 |
has_more | boolean | 是否还有下一页 |
next_page | string | null | 下一页向后游标(推荐使用);has_more=true 时等于当前页 last_id,否则为 null |
first_id | string | null | 当前页第一条记录 ID |
last_id | string | null | 当前页最后一条记录 ID |
page / after_id / before_id 互斥,同时提供多个返回 400;推荐使用 page,语义等价于 after_id。
