# 文件资产管理 管理入口现为「代理管理」,用于独立创建 Kubeconfig、SSH、SOCKS5 和 sing-box 网络代理,再关联目标或网关;不提供通用文件列表与新建入口。本文说明保留的文件凭据和旧文件兼容能力,新流程见 [网络代理管理](network-proxies.md)。 文件资产不再属于项目:新建、编辑与就地上传没有「所属项目」字段,切换顶部项目不隐藏资产。环境信息及列表环境筛选仍保留;各处资产选择器按类型列出全部可用资产,不再按目标或连接资产的项目、环境隐藏选项。旧文件资产、备份和同步数据中的项目字段读取时忽略,文件、备注、ID 和引用保留,保存后不再写入项目,无需重新上传,也不做全库批量迁移。旧调用方提交文件资产的 `project` 会被忽略;`GET /api/v1/assets?project=...` 不再按项目过滤,`environment` 仍有效。连接资产的旧项目元数据及 API 则保留兼容,不能套用文件资产的清空规则。 就地上传、未保存提醒、元数据与引用跳转见[配置操作与易用性](usability.md)。 在代理、目标或账号需要凭据的表单内选择或上传指定类型的文件。同一份文件可以被多个配置复用;重新上传并保存同一资产后,后续连接使用更新后的内容。 兼容文件编辑器仍保留六种资产类型;此前新建资产页面顶部直接展示全部六种资产类型,点击选择后填写环境、名称并上传文件,无需展开类型下拉框;窄屏下选项自动换行。默认仍为 Kubeconfig。切换类型会清除本次已选文件,名称、环境和备注保留;编辑已有资产时,类型选项不可修改。从其他表单就地创建资产时,继续使用入口指定的类型。此次调整仅改变类型选择控件和顺序,API、资产字段和已存文件不变,无数据迁移。类型检查通过;生产构建与浏览器验证限制见 [测试记录](testing.md)。 | 资产类型 | 使用位置 | 文件内容 | | --- | --- | --- | | Kubeconfig | 代理管理 → Kubeconfig 代理 → 上传/选择配置;兼容旧内联 K8s | 自包含的 Kubernetes YAML/JSON 配置 | | SSH 私钥 | SSH/SFTP 目标 → 账号 → 私钥资产 | PEM 或 OpenSSH 私钥;加密私钥的口令仍在账号中设置 | | SSH 公钥 | SSH/SFTP 网关 → 账号 → 客户端公钥资产 | OpenSSH 公钥列表,可包含多行 | | SSH 用户证书 | SSH/SFTP 目标 → 账号 → 用户证书资产 | 与所选私钥匹配的 OpenSSH 用户证书,由目标服务器信任的 CA 签发 | | TLS/CA 证书 | 目标 → 上游 TLS → 目标 CA 证书资产 | PEM 证书或证书链,用于验证目标服务器 | | 其他配置文件(文本) | 仅兼容已存文件和 API | UTF-8 文本配置,暂不直接参与协议连接 | 上传文件上限为 512 KiB,使用 UTF-8 编码。管理界面不回显文件内容;资产名称、类型和引用关系可用于识别文件。私钥、证书和其他文件内容均加密保存到数据库。普通配置导出、模板和历史差异隐藏文件内容,完整迁移使用加密备份。 更新已有文件时,从资源搜索或引用跳转打开「编辑资产」,重新上传并保存。未上传新文件时保留已存内容,「取消本次上传」仅撤销本次选择。更新前须停止引用该资产的网关;有引用的资产不能删除,需先在相应配置中解除或更换引用。通过资产历史可以查看变更和恢复旧版本,恢复同样受运行状态限制。 现有内联私钥、公钥和 CA 配置继续兼容;选择资产并保存后使用资产引用。不同类型的资产不能混用。SSH 用户证书需要同时选择匹配的私钥,单独的公钥文件不能用于登录上游;证书是否受信任、主体和有效期是否允许登录,仍由目标 SSH 服务验证。 Kubeconfig 代理及旧内联 Kubernetes 配置的 Kubeconfig 下拉均列出全部 Kubeconfig,不受项目或环境筛选影响,不需要「显示全部项目/环境」开关。SSH 私钥、证书等选择器也按类型使用全部范围。点击「刷新 Kubeconfig 列表」可获取其他页面新上传的文件,失败时保留原选择并提供重试。没有 Kubeconfig 类型资产时会提示就地创建;普通文件不会被当作 Kubeconfig。操作和验证边界见 [Kubernetes](kubernetes.md)。 上传为资产或内联保存的 Kubeconfig 必须内嵌证书、私钥和 Token,不接受外部文件路径或 `exec`/`auth-provider` 登录插件。显式配置的本地 Kubeconfig 路径仍属于可信部署配置,可继续使用其登录插件。管理服务启动所用的 TLS 文件、数据库主密钥和自动生成的网关主机密钥属于部署与运行材料,不是目标或账号的文件配置。