物理节点与访问边界

安全从一台独享物理机开始,不从模糊承诺开始

每个有效订单分配一台独享 Apple Silicon 物理节点。VMOak 将管理面、交付流程和用户工作负载分开处理,并用凭据签发、运维审批与操作记录限制管理动作。

安全不是单方功能。我们负责节点交付、平台账户与必要运维控制;客户负责代码仓库权限、部署令牌、工作文件、远程连接端和团队成员访问。

节点归属
1 个有效订单对应 1 台独享物理机
访问方式
临时凭据交付后由客户首次更新
支持边界
不会索取完整私钥或代码仓库令牌
SESSION SECURITY RECORD

远程会话签发记录

边界已确认
01
订单与节点绑定 确认机型、节点和订单主体,不与其他订单共享物理计算资源。
完成
02
交付前检查 核对系统启动、网络连通、存储容量和访问账户状态。
完成
03
临时凭据签发 通过受控交付路径提供,并要求首次连接后立即更新。
签发
04
运维权限收束 仅在授权故障处理中按必要范围访问,并记录操作原因与结果。
受限
会话原则 最小权限 · 可追溯 · 可撤销
信任模型

平台控制与客户控制各有明确边界

VMOak 的基础边界是物理节点归属,而不是在共享主机上划分逻辑配额。订单有效期间,分配给该订单的 Mac 由该客户独享;管理面负责订单、交付和必要运维,客户工作负载在所分配节点内运行。

01

物理节点隔离

每个订单对应独享物理机,处理器、内存和本机存储不与其他客户订单混用。远程桌面、SSH 任务与构建进程都落在同一台已分配设备上。

  • 节点身份与订单记录绑定
  • 交付前核对机型和存储容量
  • 订单结束后停止原有访问路径
02

管理面与工作负载分离

控制台用于订单状态、凭据交付和支持请求,不作为客户代码、构建产物或项目文件的工作目录。客户任务在所分配的物理节点内执行。

  • 支持请求只收集排障所需信息
  • 管理动作按必要范围执行
  • 故障处理完成后收回临时权限
03

客户侧责任

客户决定谁能连接节点、哪些仓库令牌可用以及哪些数据进入远程 Mac。团队权限变化、密钥撤销和业务数据备份应纳入内部流程。

  • 限制仓库令牌的作用域和有效期
  • 离职或转岗后立即移除访问
  • 对敏感文件加密并保留独立备份
交付检查

访问资料签发前,先完成五项设备核对

交付检查用于确认订单所对应的物理节点可以进入使用状态。检查结果围绕设备本身、系统、网络、存储和访问账户,不用未经验证的跑分代替可交付性判断。

  1. 01

    设备状态

    核对物理节点识别信息、订单机型和基础硬件状态,确保交付记录与实际分配设备一致。

    通过后签发
  2. 02

    系统启动

    确认 macOS 可正常启动,图形界面与命令行可进入,系统时间和基础服务状态符合交付要求。

    启动确认
  3. 03

    网络连通

    确认节点具备必要的入站连接路径与出站访问能力,并核对远程桌面和 SSH 所需服务状态。

    连通确认
  4. 04

    存储容量

    核对订单内置存储与已选择附加项,确认可见容量和文件系统状态,避免配置记录与节点实际容量不一致。

    容量核对
  5. 05

    访问账户

    确认临时账户可以用于首次连接,记录签发范围,并将首次更新凭据作为交付后的首个安全动作。

    待客户更新
凭据安全

临时凭据只负责第一次进入,长期访问由客户接管

访问资料应被视为一次签发记录,而不是可以长期转发的固定口令。首次连接后立即更新凭据,再按人员和自动化任务拆分访问方式,可以减少共享密码带来的不可追溯风险。

凭据生命周期 从签发到撤销
签发

临时账户进入

访问地址、账户名和临时凭据通过交付记录提供。不要把这组信息转发到公开群组、代码仓库或构建日志。

更新

首次连接后更换

使用足够长度且不与其他服务复用的凭据。团队多人使用时,不应长期共用同一组可交互登录信息。

拆分

人员与自动化分开授权

交互式远程桌面、SSH 管理和 CI/CD Runner 使用不同权限路径。自动化令牌仅开放任务所需仓库与操作范围。

撤销

成员变化后立即清理

成员离职、职责变化或设备遗失时,撤销对应公钥、令牌和账户权限,并检查近期登录记录。

SSH 密钥

只上传公钥,不提交完整私钥

私钥应留在客户控制的连接端或受控密钥系统中。为不同人员和自动化任务使用可识别的独立密钥,撤销时才能精确定位。

  • 公钥按使用者或任务命名
  • 私钥文件限制本地读取权限
  • 停止使用后删除对应公钥
权限核对示例
identity: build-runner
scope: repository-read
interactive-login: false
expires: project-policy
owner: mobile-ci-team

示例表达最小权限思路,不代表平台替客户创建仓库访问策略。

运维访问

需要人工介入时,权限必须有原因、有范围、有结束点

支持请求不会自动产生对客户工作负载的访问权。只有在客户明确授权且远程故障无法通过状态信息、脱敏日志或客户侧操作解决时,才进入必要的人工排查流程。

01

确认问题与授权

记录订单号、节点、问题时间、影响范围和客户已经执行的检查。需要进入节点时,先说明访问目的。

02

限定必要范围

访问仅覆盖当前故障所需的系统状态、服务配置或日志范围,不以排障为由浏览无关代码和业务文件。

03

记录操作过程

保留关键动作、观察结果和配置变更记录,使后续复核能够区分客户操作、系统状态与支持操作。

04

结束并收回权限

故障处理完成后关闭临时访问路径,向客户说明结果、变更项和建议继续观察的信号。

常见支持场景与允许的信息范围
场景 优先由客户提供 可能需要的运维动作 不应提交
远程连接失败 发生时间、客户端网络、错误信息、节点标识 核对服务状态、端口路径和账户状态 完整私钥、未脱敏仓库令牌
构建进程中断 命令、退出码、脱敏日志、资源占用现象 检查系统进程、磁盘空间和基础服务 完整项目源码、生产密钥
存储容量异常 目录占用摘要、订单配置、预期容量 核对文件系统、挂载状态和订单附加项 业务文件内容、未加密数据副本
网络与远程会话

连接安全取决于传输、端口、终端和会话收尾

远程 Mac 的网络控制不能只看“能否连上”。连接端能力、暴露端口、客户端设备状态和会话结束方式共同决定实际风险。客户应优先使用支持加密传输的连接方式,并限制不必要的网络入口。

远程桌面会话

确认客户端支持所需的加密能力,避免在不受信任的终端保存长期凭据。结束工作时主动退出会话并关闭不再使用的客户端窗口。

连接前
核对地址、账户和客户端来源,确认本地设备已更新并启用屏幕锁定。
连接中
避免通过剪贴板传递长期密钥,不在共享屏幕时展示敏感配置。
连接后
退出图形会话,清理临时下载,并确认敏感应用没有继续停留在前台。

SSH 与自动化连接

使用独立公钥和最小权限令牌接入自动化任务。无需公开的服务不应额外开放端口,临时调试入口应在任务结束后关闭。

端口控制
仅保留任务实际需要的入口,避免为了方便长期开放无关服务。
密钥分离
人员密钥与 Runner 密钥分开,仓库读取与发布权限分开。
异常排查
发现陌生登录后先撤销相关密钥,再保留时间线、来源地址和进程信息。
结算数据边界

付款状态进入订单,完整卡片资料不进入 VMOak 页面

支付流程只保留完成订单、核对状态和处理账单问题所需的信息。两类支付方式采用不同核对路径,但都以美元(USD)结算,实际可用网关以结账时返回为准。

卡片结算

Visa / Mastercard / Amex

卡片结算经 Stripe 处理。VMOak 页面避免保存完整卡号、安全码等完整卡片资料,订单侧仅接收完成结算和处理账单所需的状态信息。

  • 以美元(USD)结算
  • 订单记录付款状态与必要交易引用
  • 账单问题通过控制台工单或支持邮箱处理
链上结算

USDT-TRC20

USDT-TRC20 订单依据链上交易记录核对。客户提交账单问题时,可提供订单号、交易标识和付款时间,不应附带钱包私钥或其他控制凭据。

  • 以美元(USD)计价
  • 按订单与链上交易标识进行核对
  • 私钥和助记信息始终由客户自行保管
VMOak 需要 订单号、付款状态、必要交易引用 VMOak 不需要 完整卡片资料、钱包私钥、无关账户凭据
安全事件响应

先确认事实,再隔离影响,最后恢复与复盘

安全事件处理不以猜测替代证据。报告进入后,VMOak 会先确认涉及的订单、节点、账户和时间范围,再根据风险收束访问路径,保存必要信息并推进调查。

  1. 01

    确认

    核对报告主体、订单号、节点、首次发现时间、异常现象和仍在持续的影响,区分连接问题、账户问题与潜在安全事件。

    建立时间线
  2. 02

    隔离

    根据影响范围收束可疑会话、凭据或网络入口。隔离动作以阻止风险继续扩大为目标,同时尽量保留后续调查所需证据。

    限制影响面
  3. 03

    调查

    检查相关登录记录、进程信息、配置变化、支持操作和客户提供的脱敏证据,判断入口、影响对象与持续时间。

    核对证据
  4. 04

    恢复

    在风险入口关闭后恢复必要访问,更新受影响凭据或配置,并明确客户需要执行的仓库令牌撤销、密钥轮换和文件检查。

    恢复可用状态
  5. 05

    通知与复盘

    向受影响客户说明已确认事实、处理动作、剩余风险和建议步骤。无法确认的部分会明确标注,不把推测写成结论。

    形成处理记录
提交事件报告

请提供可以重建时间线的最小证据集

优先提交订单号、节点、首次发现时间、最后一次正常时间、异常来源地址、错误信息、相关账户、已执行的隔离动作和脱敏日志。不要提交完整私钥、仓库主令牌或未脱敏业务数据。

客户安全清单

把节点接入团队前,逐项完成这些动作

下面的清单适用于远程开发、CI/CD、自托管 Runner、AI 实验和创作工作流。团队规模越大,越需要把每一项落实为可追踪的负责人和周期。

01

更新首次凭据

第一次连接后立即更换临时凭据,避免与个人邮箱、代码托管或其他服务器使用同一口令。

负责人:节点管理员
02

限制仓库令牌

只授予当前项目和任务所需权限,将读取、构建、发布与管理权限拆开,并设置内部更新周期。

负责人:代码仓库管理员
03

拆分人员与 Runner 密钥

不要让自动化任务复用人员登录密钥。为每个 Runner 使用独立身份,便于停用、调查和轮换。

负责人:CI/CD 管理员
04

定期清理访问

核对本机账户、SSH 公钥、仓库令牌和自动化配置,删除已结束项目或不再使用的入口。

负责人:团队权限负责人
05

加密敏感文件

进入节点前先判断文件是否确有必要上传。敏感数据使用客户控制的加密方案,并保留独立备份。

负责人:数据所有者
06

及时移除成员访问

成员离职、转岗或外包任务结束时,同步撤销远程账户、公钥、令牌和共享目录权限。

负责人:团队管理者
每次人员变化 检查账户、公钥与仓库令牌
每次项目结束 清理缓存、构建产物与临时凭据
每次异常发生 先保留证据,再撤销入口并提交工单
从明确边界开始

选一台由单一订单独享的云端 Mac

先确认 M4 或 M4 Pro 配置、六个可订节点和计费周期,再进入控制台完成订单。节点实际可用状态以控制台实时返回为准。