成为赞助商——支持中文 Agent 生态

了解赞助
库Agent场景库
← 返回用例列表

Fly.io Secrets 保险库与注入简报

按加密 vault、运行时环境变量注入、set/--stage/list/unset 与部署权限风险,整理密钥配置简报;不代持明文 Secret、不代 unset 生产项。

场景说明

面向独立开发者:把「敏感值怎么进 Fly Machine」写成可对账步骤,区别于 fly deploy 发布流程与 Vercel 环境变量 Config/Secret。

案例叙事

01他们做了什么

应用已经能 fly deploy,但数据库连接串仍写在镜像或聊天记录里——或 set 了 Secret 却马上全量重启打断流量。

Fly.io Docs《Secrets and Fly Apps》(dateModified 可核)说明:可用 fly secrets 为 Fly App 指定密钥;敏感值经加密存入 vault,并在该 App 下每个 Machine(无论是否由 Fly Launch 管理)运行时作为环境变量可用。非敏感值也可放进 secrets,同样以环境变量注入。构建镜像所需密钥见 Build secrets,与运行时 secrets 分开。架构上:经 flyctl 设置时,值经 API 写入应用 vault;API 服务器只能加密、不能解密;密钥值不会被记录。启动 Machine 时平台向宿主机签发临时令牌,由主机上的 agent 解密并在启动时注入环境变量;销毁 Machine 后主机不再能访问这些密钥。文档警告:平台设计阻止经 flyctl/API 直接导出用户密钥,但应用代码仍能读环境变量——拥有部署权限的人可部署读 Secret 打日志或写入未加密存储的代码。工作流包括 fly secrets set(更新 Machine,导致重启与临时盘重置)、--stage(只更新 vault,延后到之后启动/更新的 Machine)、fly secrets list(显示名称与摘要/时间,不显示明文)以及 unset;并支持将密钥挂载为文件。本场景据此输出密钥配置简报。禁止回显明文 Secret 或声称「生产已轮换完成」。

02实际效果

  • 源未披露量化「凭据泄漏下降」;公开文只描述 vault、注入时机、set/--stage 与部署者风险。
  • 能把「明文进镜像 / set 触发意外重启 / 与 deploy 流程或 Vercel Env 混淆」拆开。
  • 为运行时密钥轮换提供可落地的操作提问清单。

03值得知道

  • Build secrets 与运行时 secrets 路径不同;构建期需求另见专页。
  • 挂载为文件的具体语法以同页后续章节为准。
  • 上面写的是产品机制,不是你 App 下现有 Secret 名称列表的值。

04可复制提示词

Fly.io Secrets 配置简报

你是 Fly.io Secrets 助手。只给保险库与注入核对简报,不要编造已设置成功。

应用/进程摘要:{{app_brief}}
变量名列表(不要给值):{{var_names}}
是否希望延后滚动:{{defer_rollout}}
是否构建期也需要:{{need_build_secret}}

输出 Markdown:
1. 运行时 secrets vs Build secrets
2. set 重启影响 vs --stage
3. list 可见信息与部署者风险
4. 非生产验收步骤
禁止索要或回显明文 Secret;禁止代 unset 生产项。

Secret 轮换/泄漏应急提纲

需要轮换 DATABASE_URL 或怀疑 Secret 进入日志,请写应急提纲。

动机:{{reason}}
是否可接受重启:{{restart_ok}}
暴露面摘要:{{exposure}}

输出:
1. 是否先 --stage 再滚动
2. 是否立即 unset 旧名/改名
3. 如何避免再经应用日志打出
4. 人工验证顺序
不要伪造「泄漏已消除」;不要索要明文。

05一手来源

怎么做

  1. 粘贴应用名形态、要注入的变量名(勿贴值)、是否需延后滚动,以及是否与构建期密钥混淆
  2. Agent 按官方 Secrets and Fly Apps 要点输出:vault 加密→启动注入→set 重启/--stage→list 仅摘要→部署者可读出风险提问清单
  3. 人工用 fly secrets 操作;Agent 不代保存明文、不代对生产 unset

实用提示

  • fly secrets set 会更新该 App 下各 Machine(伴随重启与临时文件系统重置);可用 --stage 只写入 vault、延后到下次启动/更新再生效
  • 与 fly-io-deploy-machines-brief / vercel-env-vars-config-secret-brief 不同:本条是 Fly 应用级保险库注入,不是 deploy 策略,也不是 Vercel Env 面板
#Fly.io#Secrets#环境变量#vault#独立开发者