实战

OpenClaw 密钥管理完全指南:API Key 安全存储、环境变量与 Vault 集成

OpenClaw 密钥(Secrets)管理完整教程:密钥存储的三种方式对比(配置文件明文/环境变量/外部 Vault)、openclaw secrets set/get/list 命令使用、环境变量在配置中的引用语法(${ENV_VAR})、与系统 Keychain 集成(macOS Keychain/Linux Secret Service)、1Password CLI 和 HashiCorp Vault 接入方案、密钥轮换的操作流程、防止密钥泄露的检查(避免 git commit 含密钥)、以及密钥的最小权限原则(每个渠道用独立的 Token)。

2026/3/254分钟 阅读ClaudeEagle

API Key、Bot Token、数据库密码——这些密钥如果泄露, 可能导致账单暴增或数据泄露。本文讲清楚 OpenClaw 的密钥管理最佳实践。

三种存储方式对比

方式安全性便利性适合场景
配置文件明文❌ 最差✅ 最简单本地测试(不推荐生产)
环境变量⭐⭐⭐⭐⭐⭐服务器部署推荐
Secrets 命令⭐⭐⭐⭐⭐⭐⭐标准生产方案
系统 Keychain⭐⭐⭐⭐⭐⭐⭐本地个人使用
HashiCorp Vault⭐⭐⭐⭐⭐企业级多用户

openclaw secrets 命令

bash
# 存储密钥
openclaw secrets set ANTHROPIC_API_KEY sk-ant-xxxxx
openclaw secrets set TELEGRAM_BOT_TOKEN 1234567890:xxx
openclaw secrets set SLACK_BOT_TOKEN xoxb-xxx

# 查看所有密钥(仅显示名称,不显示值)
openclaw secrets list

# 删除密钥
openclaw secrets delete ANTHROPIC_API_KEY

# 导出密钥(谨慎使用)
openclaw secrets export > secrets-backup.env

密钥存储在加密的本地数据库(~/.openclaw/secrets.db), 与配置文件分离,不会意外 git commit。

在配置文件中引用密钥

json
{
  "providers": {
    "anthropic": {
      "apiKey": "${ANTHROPIC_API_KEY}"
    }
  },
  "channels": {
    "telegram": {
      "botToken": "${TELEGRAM_BOT_TOKEN}"
    },
    "slack": {
      "botToken": "${SLACK_BOT_TOKEN}",
      "signingSecret": "${SLACK_SIGNING_SECRET}"
    }
  }
}

${VAR_NAME} 语法支持:

  • openclaw secrets 存储的密钥
  • 系统环境变量
  • .env 文件中的变量(Gateway 启动时自动加载)

环境变量方式(服务器部署推荐)

bash
# 创建 .env 文件(不要提交到 git!)
cat > ~/.openclaw/.env << 'EOF'
ANTHROPIC_API_KEY=sk-ant-xxxxx
TELEGRAM_BOT_TOKEN=1234567890:xxx
SLACK_BOT_TOKEN=xoxb-xxx
SLACK_SIGNING_SECRET=xxx
GATEWAY_AUTH_TOKEN=your-strong-token
EOF

chmod 600 ~/.openclaw/.env

.gitignore 中排除:

# .gitignore .env *.env ~/.openclaw/.env

macOS Keychain 集成

在 macOS 上,密钥可以存入系统 Keychain(更安全):

bash
# 存入 Keychain
security add-generic-password   -a "openclaw"   -s "ANTHROPIC_API_KEY"   -w "sk-ant-xxxxx"

# 从 Keychain 读取并设置
security find-generic-password -a "openclaw" -s "ANTHROPIC_API_KEY" -w   | openclaw secrets set ANTHROPIC_API_KEY -

1Password CLI 集成

bash
# 安装 1Password CLI
brew install 1password-cli

# 从 1Password 读取并设置到 OpenClaw
op read "op://Private/Anthropic/api-key"   | openclaw secrets set ANTHROPIC_API_KEY -

# 批量导入(启动脚本中)
op run --env-file="op.env" -- openclaw gateway start

op.env 文件:

ANTHROPIC_API_KEY=op://Private/Anthropic/api-key TELEGRAM_BOT_TOKEN=op://Work/Telegram Bot/token

HashiCorp Vault 集成(企业级)

bash
# 从 Vault 读取
export VAULT_ADDR=https://vault.company.com
vault kv get -field=api_key secret/openclaw/anthropic   | openclaw secrets set ANTHROPIC_API_KEY -

# 或在启动时直接从 Vault 注入
vault kv get -format=json secret/openclaw/all   | jq -r '.data.data | to_entries[] | "\(.key)=\(.value)"'   > /tmp/openclaw-secrets.env &&   openclaw gateway start --env-file /tmp/openclaw-secrets.env &&   rm /tmp/openclaw-secrets.env

密钥轮换流程

当 API Key 需要更换时(定期轮换或怀疑泄露): 1. 在服务商生成新 Key Anthropic Console → API Keys → Create new key 2. 更新 OpenClaw 密钥(不停机) openclaw secrets set ANTHROPIC_API_KEY sk-ant-new-key 3. 验证新 Key 生效 openclaw doctor openclaw models test anthropic/claude-haiku-4-5 4. 在服务商吊销旧 Key Anthropic Console → 找到旧 Key → Revoke 整个过程无需重启 Gateway,热更新生效。

防泄露检查

bash
# 检查 git 历史中是否含有密钥
git log --all -p | grep -i "sk-ant\|bot_token\|api_key"

# 使用 git-secrets 工具防止意外提交
brew install git-secrets
git secrets --install
git secrets --register-aws  # 也会匹配 API Key 格式

# 检查配置文件是否有明文密钥
openclaw config show | grep -E "sk-ant|xoxb-|oauth"
# 如果看到明文密钥,立即迁移到 secrets 命令

最小权限原则

每个渠道用独立的 Token,而非共享: ❌ 错误:多个服务共用同一个 Anthropic API Key ✅ 正确:OpenClaw 专用一个 API Key ❌ 错误:Telegram Bot 用 Admin Token(有所有权限) ✅ 正确:创建 Bot 专用账号,只授予消息权限 这样当某个 Token 泄露时: - 只需吊销那一个 Token - 不影响其他服务 - 泄露范围可控

来源:OpenClaw 官方文档 - docs.openclaw.ai/gateway/secrets

相关文章推荐

实战Claude Code 企业级部署最佳实践:大规模团队的成本控制、安全治理与可观测性Claude Code 企业规模化使用完整指南:AI 网关架构解决成本黑盒/隔离缺失/单点故障三大痛点,含凭证层级化管理、预算速率限制配置、请求打标成本归因、Provider 故障转移、输入输出过滤,以及企业 CLAUDE.md 标准化模板。2026/4/18实战Claude Code Hooks 实战完全指南:自动格式化、危险命令拦截与 CI 集成(2026)Claude Code Hooks 完整实战教程:PreToolUse/PostToolUse/Stop 四种触发时机、配置文件写法(~/.claude/settings.json)、危险命令拦截脚本(exit 2 阻止机制)、AI 写完代码后自动 Black/Prettier/gofmt 格式化、任务完成推送 Bark 手机通知、文件变更日志记录、Hook 调试技巧与 Matcher 模式参考。2026/3/28实战OpenClaw 日志与健康检查完全指南:监控、告警与运维自动化OpenClaw 日志系统(Logging)与健康检查(Health Check)完整教程:日志级别配置(debug/info/warn/error)和日志格式(text/json)、日志文件持久化路径配置、按渠道/Agent/Provider 过滤日志、Health Check HTTP 端点(/health)的使用(状态码/响应格式)、用于容器编排的 liveness/readiness 探针配置、Gateway Doctor 命令的详细输出解读、集成 Prometheus 指标导出(/metrics 端点)、Grafana Dashboard 可视化,以及生产环境的日志轮转和告警配置方案。2026/3/25实战OpenClaw 代理配置完全指南:SOCKS5/HTTP 代理接入 Claude API 解决网络限制OpenClaw 网络代理(Proxy)配置完整教程:为什么需要代理(大陆访问 Anthropic/OpenAI API 被限制)、SOCKS5 代理配置方式(proxy.socks5/proxy.url)、HTTP/HTTPS 代理配置、代理认证(带用户名密码的代理)、按 Provider 单独配置代理(Anthropic 用代理、国内模型不走代理)、Clash/V2Ray/Xray 等代理工具与 OpenClaw 的对接方式、代理连通性测试方法,以及常见代理问题排障(SSL证书错误/超时/认证失败)。2026/3/25实战OpenClaw 渠道排障完全指南:消息收不到、Bot 不回复的系统性诊断方法OpenClaw 渠道故障系统性诊断教程:openclaw doctor 一键诊断命令的输出解读、最常见的 5 类问题(Bot Token 无效/Webhook URL 不可达/DM 配对未完成/网络防火墙拦截/配置格式错误)及对应修复步骤、各主要渠道的专项排障(Telegram 403/WhatsApp QR 失效/Slack 事件订阅未开启/Discord 权限不足/Matrix E2EE 设备未验证)、Gateway 日志的关键字段解读、常见错误码含义(401/403/409/429/503),以及在 Discord 社区获取技术支持的途径。2026/3/25实战OpenClaw 费用控制完全指南:Token 限制、Rate Limit 与 API 成本优化实践OpenClaw API 费用控制完整教程:每请求/每日 Token 上限配置(maxTokensPerRequest/maxTokensPerDay)、Rate Limit 限流防刷设置、每日美元预算告警(budgetAlert)、模型降级策略(高峰期自动切 Haiku 降成本)、Prompt Caching 开启减少重复 Token 消耗、各模型每百万 Token 价格对比表、Ollama 本地模型 0 成本方案,以及监控 Token 用量的 Dashboard 和日志方法。2026/3/25