API Key 还明文写在配置文件里?OpenClaw SecretRef 帮你摘出来

翻了一下自己的 openclaw.json,三个 API Key 明文存着。Bedrock 走的 IAM Role 没问题,但 Slack Token 和第三方服务的 Key 全裸着。

万一文件泄了,这些 Key 全完蛋。

OpenClaw 有个 SecretRef 机制------把明文密钥替换成"引用",运行时从环境变量/文件/外部工具(1Password、Vault)读取真实值。配置文件里再也没有敏感信息。

三种存储方式

source 密钥存在哪 场景
env 环境变量 简单场景
file JSON 文件 多密钥集中管
exec 外部命令 1Password/Vault

快速上手

1. 审计现有明文

bash 复制代码
openclaw secrets audit --check

2. 交互式迁移

bash 复制代码
openclaw secrets configure

它会引导你:配 provider → 选密钥字段 → 预检 → 应用。完成后自动清理旧明文。

3. 具体怎么配

环境变量方式:

原来(明文):

json 复制代码
{ "channels": { "slack": { "botToken": "xoxb-xxxxx" } } }

改成:

json 复制代码
{
  "channels": {
    "slack": {
      "botToken": { "source": "env", "provider": "default", "id": "SLACK_BOT_TOKEN" }
    }
  }
}

文件方式:

json 复制代码
{
  "secrets": {
    "providers": {
      "filemain": {
        "source": "file",
        "path": "~/.openclaw/secrets.json",
        "mode": "json"
      }
    }
  }
}

引用:{ "source": "file", "provider": "filemain", "id": "/channels/slack/botToken" }

1Password/Vault:

json 复制代码
{
  "secrets": {
    "providers": {
      "vault": {
        "source": "exec",
        "command": "/opt/homebrew/bin/vault",
        "allowSymlinkCommand": true,
        "trustedDirs": ["/opt/homebrew"],
        "args": ["kv", "get", "-field=API_KEY", "secret/openclaw"],
        "passEnv": ["VAULT_ADDR", "VAULT_TOKEN"],
        "jsonOnly": false
      }
    }
  }
}

运行时行为

几个关键设计:

  • 启动时解析:密钥在启动阶段全部读入内存,不是每次请求都去取
  • 原子热重载:配置变更时重新解析,失败保留上一版(不中断服务)
  • 活跃表面过滤:没启用的 channel 的 SecretRef 失败不阻止启动

踩坑

  1. Homebrew 命令需要 allowSymlinkCommand: true --- op/vault 都是符号链接
  2. 环境变量名必须大写 --- my_key 被拒,要写 MY_KEY
  3. ref 和明文同时存在时 ref 优先 --- 会有警告,建议删掉明文

总结

花 10 分钟跑 openclaw secrets configure,把明文 Key 全摘出来。配合亚马逊云科技的 IAM Role(Bedrock 零密钥)+ Secrets Manager,密钥管理不用操心。


在亚马逊云科技 EC2 上验证通过。

相关推荐
yunlaodacom1 天前
AWS亚马逊云服务代理商:EC2和S3为什么建议放在同一Region?跨Region流量费和网络成本怎么规划
网络·云计算·aws
科技每日热闻1 天前
AWS Activate云积分可以用于哪些云服务和AI开发场景?
人工智能·ai·云计算·aws
2501_930472442 天前
深度复盘|数据库迁移实战(上):腾讯云助手解析慢查询日志,定位索引缺失与语法不兼容
数据库·阿里云·ffmpeg·云计算·腾讯云·aws
万象新讯2 天前
申请 AWS Activate 的初创企业要满足什么条件,需准备哪些资料?
大数据·人工智能·aws
商业看点解说2 天前
AWS Activate除了提供云积分,还能为初创企业提供哪些技术和生态资源?
aws
johnny2333 天前
云计算AWS:服务简介与实战
aws
zhojiew4 天前
让 Agent 安全地“借用别人的钥匙“:AgentCore 上用 Authentik 打通 OAuth 出站的一次实战
安全·ai·aws·agentcore
2601_962298675 天前
AWS推ADOP:用AI Agent把数据工程从周压缩到小时
ai·自动化·agent·aws·数据工程
Lucifer三思而后行6 天前
转换率 90%,然后呢?
ai·aws
2501_930472448 天前
03_AWS迁移腾讯云_组件差异风险清单与工作量WBS
云计算·腾讯云·aws