物理节点安全模型

把云端 Mac 的安全边界落实到每一次访问

RunnerVPS 为每笔订单交付一台独享 Apple Silicon 物理节点。安全不只取决于设备是否独享,还取决于团队如何分配 SSH 密钥、使用 VNC、注入构建秘密、更新工具链,以及在租期结束前完成数据退出。

资源边界
一笔订单对应一台物理机
本地存储
不与其他租户共享
管理原则
凭据最小化、操作可追溯
安全交付回执 NODE ACCESS / READY
独享节点
01
订单绑定 设备与订单记录对应
02
凭据交付 首次访问后立即轮换
03
团队接入 按成员分配独立密钥
04
租期退出 导出产物并移除数据
计算资源
独享
远程访问
SSH / VNC
记录检查
由用户定期执行
秘密来源
用户自有流程
交付不是安全流程的终点 VERIFY → LIMIT → ROTATE → REMOVE
安全模型概览

独享物理机先划清资源边界

RunnerVPS 提供的是云端 Mac 独享物理节点,而不是共享虚拟机。计算资源与设备本地存储不会和其他租户混用,但账户、代码、密钥和软件配置仍需要由使用团队持续管理。

设备级隔离

每笔订单对应一台独享物理机。CPU、内存和内置 SSD 不与其他租户共享,团队可以围绕明确的设备标识建立资产清单、访问名单和交接记录。

订单 ↔ 设备 物理资源独享

访问责任明确

用户决定谁能登录设备、使用哪些账户以及密钥何时撤销。不要让多人长期共用同一份私钥或密码,也不要把连接凭据写入项目文档和自动化日志。

按人授权 及时撤销

数据生命周期可控

代码、构建缓存、签名材料和产物何时进入设备、保存多久、如何备份与清除,应当在任务开始前确定。租期结束不是备份动作的替代品。

进入前规划 结束前清理
访问控制

让每个登录动作都有独立身份

团队接入前先确定账户、密钥、权限和检查频率。不要先共享一份管理员凭据,再依赖聊天记录追查谁做了什么。

01

一名成员,一把 SSH 密钥

为每位需要命令行访问的成员登记独立公钥。私钥只保存在成员受控设备或团队认可的密钥工具中,不通过邮件、工单或代码仓库传递。

可单独撤销
02

默认使用最小权限账户

日常拉取代码、运行测试和回传产物不需要持续使用最高权限。仅在安装软件、调整系统设置等明确动作中临时提升权限。

减少误操作
03

密码与密钥分开管理

图形界面账户使用唯一强密码,SSH 访问优先采用密钥认证。不要让设备密码与代码托管、邮箱或其他系统使用相同凭据。

降低复用风险
04

定期查看远程登录记录

核对登录时间、来源、账户和失败尝试。发现与团队工作时间或成员网络不符的记录时,先撤销相关凭据,再保存必要日志并提交安全报告。

保留调查线索
VNC 安全

图形界面也要经过受控连接路径

VNC 适合远程使用 macOS 图形界面,但不应把长期开放和多人共用凭据当作便利。优先通过受控网络或 SSH 隧道建立连接。

A

连接前

  • 确认连接目标是订单中的设备名称与节点。
  • 先核验 SSH 主机指纹,再建立端口转发。
  • 限制可以发起连接的本地设备与团队成员。
B

会话中

  • 离开屏幕时锁定 macOS 会话,不让连接保持在可操作桌面。
  • 不要在共享屏幕、录屏或日志中展示密码、令牌与私钥内容。
  • 传输敏感文件前确认接收目录和访问权限。
C

成员离组后

  • 立即撤销该成员的 SSH 公钥和系统账户访问。
  • 轮换曾被共享的图形界面密码与项目令牌。
  • 检查近期远程登录记录并更新访问名单。
不要共享长期凭据

需要多人协作时,应为成员建立可分别撤销的访问方式。共用凭据会让离组撤销、操作追踪和事件调查变得困难。

构建秘密管理

秘密在任务运行时注入,不跟代码一起流转

证书、签名文件、访问令牌和环境变量应来自团队自己的秘密管理流程。RunnerVPS 提供设备与基础连接能力,不替代项目的凭据治理。

构建任务注入清单 RUN SCOPE: ONE JOB
签名证书 任务开始时导入 任务完成后移除
签名文件 限制文件权限 不提交到仓库
访问令牌 按项目限定范围 设置独立轮换策略
环境变量 由运行器注入 禁止输出到日志
构建产物 回传受控存储 核对后清理副本

不要进入代码仓库

不要把私钥、证书密码、签名文件、令牌或包含秘密的配置文件提交到任何分支。即使随后删除,历史记录仍可能保留内容。

不要进入构建日志

关闭命令回显中的敏感值,对日志、截图和失败报告进行脱敏。排查问题时保留错误上下文,不复制完整凭据。

按任务限制有效范围

令牌只授予当前仓库、当前流水线和必要操作所需权限。任务结束、成员离组或怀疑暴露时立即轮换。

系统与软件更新

先验证工具链,再安排 macOS 与 Xcode 更新

系统更新可能改变 SDK、命令行工具、模拟器和签名行为。对持续构建节点而言,兼容性验证应当先于正式环境变更。

  1. 01

    记录当前基线

    保存 macOS、Xcode、命令行工具、包管理器、关键依赖和 runner 版本。记录项目当前可通过的最小测试任务与产物校验方式。

  2. 02

    验证项目兼容性

    先核对项目要求、SDK 支持、依赖锁定和签名配置。对关键项目使用可重复的测试任务检查编译、单元测试、签名与产物导出。

  3. 03

    准备恢复路径

    在变更前备份项目需要的数据、配置清单与构建产物。确认依赖可重新安装,秘密能够从团队自有流程再次注入。

  4. 04

    选择低风险时段执行

    避开正在运行的发布任务,暂停新的构建进入节点。完成更新后重新核对远程访问、防火墙、runner 状态和磁盘空间。

  5. 05

    用最小任务验收

    先运行规模可控的验证任务,再恢复完整流水线。若结果与基线不一致,保留日志、版本信息和复现步骤后再继续处理。

数据退出流程

租期结束前,把需要留下的内容带走

租期结束前,用户应完成产物导出、账户移除、密钥撤销和项目文件清理。不要把设备本地存储当作唯一备份,也不要把清理动作留到无法继续访问设备之后。

01 导出

回收构建产物、项目数据、日志和仍需保存的配置清单。

02 核对

在团队受控存储中验证文件可打开、校验值一致且权限正确。

03 撤销

移除成员账户、SSH 公钥、项目令牌、证书与签名材料。

04 清理

删除项目目录、缓存、临时文件、下载内容和本地产物副本。

05 确认

在控制台核对租期状态,并保存与订单关联的必要交接记录。

处理边界

用户负责在租期结束前完成所需数据的导出与验证。租期结束后,不应假设设备仍可用于补做备份、恢复项目文件或取回未导出的构建产物。

安全事件报告

提交足够的信息,让排查从事实开始

如果发现异常登录、凭据疑似暴露、访问范围错误或其他安全问题,请先执行必要的凭据撤销和访问限制,再通过联系页选择安全报告分类。

01 影响范围

说明涉及的设备标识、节点、账户、项目和可能受影响的数据类型,不要提交密码、私钥或完整支付凭据。

02 事件时间线

列出首次发现时间、异常持续范围、已执行的撤销或隔离动作,以及最近一次确认正常的时间点。

03 复现步骤

按实际顺序说明入口、操作、预期结果与实际结果。若问题无法稳定复现,请写明出现频率和触发条件。

04 脱敏证据

提供必要的日志片段、错误信息、请求时间和截图。遮盖令牌、密钥、密码、证书内容及无关个人信息。

从一台边界明确的物理节点开始

选择 Runner M4 或 Runner M4 Plus、租期与节点,在交付后按团队自己的密钥和秘密管理流程完成接入。