阅读时间 … 分钟

您掌握密钥,TradingHost 运行代码。

TradingHost 是自动化交易策略的运行环境,而非经纪商或交易所凭据的保险库。

将 API 密钥、签名密钥、密码和数据提供商 Token 保存在您信任的密钥管理服务中。TradingHost 为您的策略提供运行时路径来读取所需数值,无需将 .env 文件打包进部署镜像、在 GitHub 中硬编码凭据,或将经纪商凭据粘贴到 TradingHost 控制面板中。

镜像中无 .env 文件。无硬编码的经纪商密钥。控制面板中无粘贴的交易所凭据。

密钥安全态势

  • 不托管密钥
  • 支持外部密钥存储
  • 运行时环境变量
  • GitHub 原生部署
  • 客户自主轮换密钥
  • 客户自主审计日志
  • 经纪商和交易所凭据始终归您所有

章节 01 · 定位

TradingHost 是运行环境,而非保险库。

TradingHost 在托管的云端运行环境中执行策略代码。您的经纪商密钥、交易所 API 密钥、webhook 密钥、签名密钥以及第三方数据 Token 应当保留在您自己的密钥存储中。

密钥存储始终是唯一可信源。运行环境在策略启动时接收所需的数值,策略则通过环境变量或文档中说明的运行时获取模式来读取这些数值。

TradingHost 围绕策略提供部署流程、运行环境、日志、健康检查、资源控制、区域选择以及 MCP 控制界面。它不需要成为您存放交易凭据的场所。

这让安全边界变得简单明了:

层级职责
您的密钥存储保存凭据、控制访问权限并记录审计历史。
TradingHost 运行环境运行策略并将所需的数值暴露给进程。
您的策略读取数值并连接到经纪商、交易所或数据提供商。
经纪商或交易所验证 API 密钥并执行账户级权限控制。

由此带来更清晰的自动化交易生产模型:您的代码在 TradingHost 上运行,而凭据的控制权始终保留在您手中。

章节 02 · 什么是密钥?

您的策略运行所需的任何私密数值。

密钥是指一旦泄露就会导致他人能够访问账户、服务、连接或交易工作流的任何数值。

常见示例包括:

  • 经纪商 API 密钥
  • 交易所 API 密钥
  • API 密钥(Secret)
  • 签名密钥
  • 密码短语
  • Webhook 密钥
  • 市场数据 Token
  • 数据库密码
  • 私有端点凭据
  • OAuth 客户端密钥
  • 内部服务 Token

凭据是一种特定类型的敏感信息(Secret),用于向经纪商、交易所、数据提供商、数据库或第三方服务进行身份验证。

大多数交易凭据不仅包含单个数值,还可能包括密钥(Key)、私钥(Secret)、密码短语、账户 ID、子账户 ID、环境名称或权限范围。

TradingHost 将这些信息视为运行时输入,而非产品数据。

第 03 节 · 敏感信息如何传递至运行时

从您的敏感信息存储库到运行中的策略。

运行时的流转设计符合行业惯例,其工作原理与生产环境应用部署、CI 流水线以及现代云端工作负载完全一致。

  • 步骤 1

    存储凭据

    将经纪商或交易所凭据保存在您已使用的敏感信息存储库中。这可以是 GitHub Actions secrets、HashiCorp Vault、AWS Secrets Manager、Doppler、1Password Secrets Automation、Infisical、Bitwarden Secrets Manager 或其他兼容的存储库。您的敏感信息存储库始终是唯一可信源。

  • 步骤 2

    部署运行时

    您的 GitHub 驱动部署将启动 TradingHost 运行时。运行时通过配置好的敏感信息传递模式接收策略所需的数值。对于大多数策略,这些值在启动时会作为环境变量暴露。

  • 步骤 3

    启动策略

    您的策略读取这些变量,连接到经纪商、交易所、市场数据提供商或内部服务,然后在 TradingHost 运行时中开始运行。交易关系依然仅存在于您的策略与交易场所之间。

第 04 节 · 兼容的敏感信息存储库

使用您已信任的敏感信息存储库。

TradingHost 专为外部敏感信息源模式而设计。您无需为了运行策略而将所有经纪商或交易所凭据迁移到 TradingHost 自有的保险库中。

以下服务商是 TradingHost 优先提供文档支持的敏感信息存储库模式。

敏感信息存储库最佳适用场景
GitHub Actions secrets如果 GitHub 已经是您代码和部署工作流的唯一可信源。
HashiCorp Vault如果您已使用 Vault 管理策略、动态敏感信息、短期 Token 或使用 HCP Vault。
AWS Secrets Manager如果您的业务运行在 AWS 上,并依赖 IAM、托管轮换和 AWS 审计工具。
Doppler如果您需要一个跨环境的简易敏感信息仪表板。
1Password Secrets Automation如果您已使用 1Password 保险库进行凭据管理。
Infisical如果您更倾向于使用支持自托管选项的开源敏感信息平台。
Bitwarden Secrets Manager如果您已使用 Bitwarden 处理密码和敏感信息工作流。
使用您自己的任何能够通过环境变量或运行时获取模式暴露数值的兼容存储库。

TradingHost 不会强迫您放弃现有的安全架构。如果您已经拥有敏感信息存储库、访问模型、轮换频率和审计追踪,我们的目标是让您继续沿用。

第 05 节 · 一览

通俗易懂的密钥管理模型。

问题回答
谁负责保管密钥?客户。
密钥应该存放在哪里?存放于客户自行选择的密钥管理服务中。
TradingHost 是密钥管理服务吗?不是。
密钥应该提交到 GitHub 吗?不应该。
应该将 .env 文件打包进镜像中吗?不应该。
策略如何读取密钥?通过环境变量或文档中说明的运行时获取模式。
谁来轮换凭证?客户,通过密钥管理服务或经纪商/交易所账户进行。
谁来撤销泄露的凭证?客户,通过密钥管理服务、经纪商、交易所或数据提供商进行。
审计日志记录在哪里?主要记录在密钥管理服务、经纪商、交易所和部署历史记录中。
密钥会出现在日志中吗?只有在策略主动打印它们时才会出现,而策略绝不应该这样做。
TradingHost 能看到什么?运行时元数据、部署状态、健康信号以及进程输出的日志。
TradingHost 的工作人员能看到什么?没有任何内部接口会向 TradingHost 工作人员泄露客户的经纪商或交易所凭证。

核心区别很简单:

TradingHost 负责运行进程。您的密钥管理服务负责管控凭证。

第 06 部分 · TradingHost 不需要什么

运行策略,无需让凭证散落各处。

交易运行时不应要求将敏感凭证的副本散落在个人电脑、工单、截图、聊天消息、支持工具、代码仓库和未托管的 .env 文件中。

使用 TradingHost,您无需:

  • 在代码仓库中硬编码经纪商密钥
  • 将 .env 文件打包进容器镜像中
  • 将交易所凭证粘贴到通用的控制面板中
  • 将 API 密钥发送给技术支持人员
  • 将生产环境的密钥存储在电子表格中
  • 仅为了修改环境变量而 SSH 登录服务器
  • 通过聊天软件或电子邮件共享密钥
  • 在不同环境之间手动复制凭证
  • 因为遗忘使用位置而任由旧密钥一直处于激活状态

更清晰的模型是将密钥保存在一个可信的地方,并让运行时仅接收策略所需的内容。

第 07 部分 · 哪些依然由您掌控

凭证管控权始终掌握在您手中。

TradingHost 提供运行时。敏感凭证的决策权由您掌控。

您来决定:

  • 使用哪种密钥管理服务
  • 哪个策略可以访问哪个凭证
  • 密钥属于哪个经纪商或交易所账户
  • 密钥是否具有交易、读取余额、读取持仓或提取资金的权限
  • 凭据的轮换频率
  • 谁可以查看或修改生产环境密钥
  • 凭据吊销的处理方式
  • 审计日志的审查位置
  • 哪些环境可以访问实盘凭据
  • 是否为开发、测试和生产环境使用独立的密钥

这对交易基础设施至关重要,因为 API 权限直接关系到资金安全。经纪商或交易所的密钥可能会授予访问余额、持仓、下单、账户历史或提现功能的权限。

TradingHost 不应增加这些权限的管理难度。

第 08 节 · 运行时行为

您的策略像标准的生产环境应用一样读取密钥。

部署到 TradingHost 的策略应将密钥视为运行时配置。

例如:

  • 加密货币策略

    • EXCHANGE_NAME
    • EXCHANGE_API_KEY
    • EXCHANGE_API_SECRET
    • EXCHANGE_API_PASSPHRASE
    • TRADING_MODE
  • 经纪商连接策略

    • BROKER_NAME
    • BROKER_ACCOUNT_ID
    • BROKER_API_KEY
    • BROKER_API_SECRET
    • BROKER_ENVIRONMENT
  • 行情数据策略

    • DATA_PROVIDER
    • DATA_API_KEY
    • DATA_REGION
    • DATA_FEED

具体的变量名称由您的项目、框架、连接器或部署工作流决定。

TradingHost 不需要读取或理解私密值本身,只需为运行中的进程提供访问其所需配置的途径。

第 09 节 · 日志与可观测性

绝不能在日志中打印密钥。

TradingHost 提供运行时日志和健康状况监控,以便您直观了解策略是在运行、失败、重启、连接还是在输出错误。

这些日志对生产运维至关重要,但绝非存放密钥的安全场所。

您的策略绝不能输出以下内容:

  • API 密钥
  • API Secret
  • 签名载荷
  • 密码短语
  • 认证请求头
  • Bearer 令牌
  • Webhook 密钥
  • 完整的连接字符串
  • 原始环境变量转储
  • 经纪商会话令牌
  • 交易所身份验证响应

TradingHost 会展示您进程输出的所有日志。如果策略将密钥写入 stdout、stderr、堆栈轨迹、调试输出或错误载荷,该敏感值就可能会暴露在运行时日志中。

最安全的做法是仅记录连接状态,而非凭据的具体数值。

  • 推荐

    • 已连接到 Binance 现货账户。
  • 不推荐

    • 已使用 API 密钥 abc123... 连接到 Binance。

第 10 节 · 安全边界

明确的安全边界。

TradingHost 不应被用作经纪商或交易所凭据的权威记录系统。

您的凭据应保存在您自己的密钥管理系统中,并由您自己的访问控制、轮换策略和审计流程进行管理。

TradingHost 绝不要求您将密钥提交到 GitHub、打包进部署镜像、写入容器内的 .env 文件,或透露给支持团队。

TradingHost 仅提供包裹策略的运行时层。您的策略通过配置好的运行时传递模式来获取所需数值。而验证凭据并执行账户级权限的,依然是您的经纪商、交易所、数据提供商或内部服务。

这种职责分离正是核心所在。

TradingHost 负责运行代码。
您掌控密钥。

常见问题

常见问题解答

TradingHost 的设计旨在让您自己的密钥管理器始终作为经纪商和交易所凭据的唯一可信源。运行时通过配置好的密钥传递模式获取策略所需的值,而无需您硬编码密钥或将 .env 文件打包进镜像中。

不应该。经纪商密钥、交易所 API 密钥、密码短语、签名密钥和数据提供商 Token 绝不应提交到代码仓库。请使用 GitHub Actions secrets、外部密钥管理器或其他文档中说明的运行时密钥模式。

您的部署镜像不应包含含有真实凭据的 .env 文件。密钥应在运行时提供,而不是打包进代码库或镜像中。

大多数策略在启动时从环境变量中读取密钥。根据部署工作流的配置,某些设置会使用运行时获取模式,从 Vault、AWS Secrets Manager、Doppler、1Password、Infisical、Bitwarden 或其他兼容的管理器中拉取。

凭据轮换在您的密钥管理器中进行,或直接在经纪商、交易所、数据提供商处进行。凭据轮换后,请重启或重新部署受影响的运行时,以便策略接收新值。

在发行该凭据的系统中将其撤销。对于交易密钥,这通常意味着经纪商、交易所、数据提供商或内部服务。您还应该删除或替换密钥管理器中的对应值。

只有在您的策略主动打印它们时才会。TradingHost 会展示您进程输出的所有日志,因此策略绝不应打印凭据、环境转储、认证请求头、Token、密码短语或原始连接字符串。

TradingHost 不提供供员工读取客户经纪商或交易所凭据的界面。您自己的密钥管理器仍是管理和审计凭据访问权限的唯一场所。

可以。TradingHost 围绕外部密钥源模式进行设计。只要您的密钥管理器可以通过环境变量或文档中说明的运行时获取模式来暴露数值,它通常就能适配 TradingHost 的部署模型。

TradingHost 提供了针对 GitHub Actions secrets、HashiCorp Vault、AWS Secrets Manager、Doppler、1Password Secrets Automation, Infisical 和 Bitwarden Secrets Manager 的模式文档。

自带密钥管理器。通过 GitHub 部署。

连接 GitHub,配置您的运行时,并将您的策略指向您已信任的密钥管理器。

TradingHost 运行代码。
密钥由您保管。