ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Agent Vault Services规则深度指南:5种认证类型与出口过滤,精准掌控AI Agent能访问哪些API

Agent Vault Services规则深度指南:5种认证类型与出口过滤,精准掌控AI Agent能访问哪些API Agent Vault Services规则深度指南5种认证类型与出口过滤精准掌控AI Agent能访问哪些API【免费下载链接】agent-vaultA HTTP credential proxy and vault for AI agents like Claude Code, OpenClaw, Hermes, custom agents harnesses, and more.项目地址: https://gitcode.com/gh_mirrors/ag/agent-vaultAgent Vault 是一个专为 Claude Code、OpenClaw、Hermes 等 AI Agent 打造的HTTP 凭证代理与安全保险库Vault。它通过 Services 规则精确声明「哪些域名可以被代理访问、以什么身份认证」并在请求转发时由服务端自动注入真实密钥——Agent 永远看不到明文凭证。本文带你完整掌握 Agent Vault Services 规则的 5 种认证类型bearer、basic、api-key、custom、passthrough与出口过滤机制主机匹配 严格拒绝模式 网络出口防护从零开始精准掌控 AI Agent 能访问哪些 API。1️⃣ 什么是 ServicesAI Agent 的 API 访问门禁当 Agent 发出一个经过代理的请求时Agent Vault 会按以下流程处理匹配主机把目标域名与 Vault 中配置的 Services 逐一比对支持通配符、路径、端口注入凭证命中后服务端从保险库解密对应凭据写入请求头或替换占位符转发或拒绝未命中时默认按普通代理流量放行若开启严格拒绝模式则直接返回403。换句话说一条 Service 规则 一个访问白名单条目 一套认证配方。规则定义在 YAML 文件中核心结构只有三个字段services: - name: stripe # 服务名slugVault 内唯一 host: api.stripe.com # 主机匹配模式唯一的匹配字段 auth: # 认证配置引用凭据的键名而非密钥本身 type: bearer token: STRIPE_KEY服务名name建议起得明确如stripe、slack-bot、internal-billing主机字段host支持四种形态裸主机名、单级通配符*.github.com、内联路径slack.com/api/*、端口限定internal.corp.com:3000。2️⃣ 五种认证类型逐一详解auth块是每条规则的灵魂。Agent Vault 支持 5 种类型覆盖了市面上几乎所有 API 的鉴权方式源码见 internal/brokercore/brokercore.goWeb 端选项见 web/src/pages/vault/ServicesTab.tsx① Bearer —— 最通用的 Token 认证自动附加Authorization: Bearer token请求头。token字段填写 Vault 中凭据的键名。Stripe、GitHub、OpenAI 等大多数现代 API 都用这种方式。auth: type: bearer token: GITHUB_TOKEN② Basic —— 经典的账号密码认证附加Authorization: Basic base64头username必填password可选默认空。适合 Jira、Ashby 等传统 Basic Auth 服务。auth: type: basic username: JIRA_EMAIL password: JIRA_API_TOKEN③ API key —— 自定义请求头的密钥认证把凭据值放进一个自定义请求头header省略时默认为Authorization还支持可选前缀如ApiKey 。Anthropic 的x-api-key头是典型用法auth: type: api-key key: ANTHROPIC_KEY header: x-api-key④ Custom —— 自由模板多密钥组合拳当以上类型都不合适时可以用{{ 键名 }}占位符模板一次性注入多个自定义请求头非常适合内部多租户系统auth: type: custom headers: X-API-Key: {{ ACME_API_KEY }} X-Tenant-ID: {{ ACME_TENANT }}⑤ Passthrough —— 只放行、不注入白名单主机但不注入任何凭证客户端自带的Authorization、Cookie等请求头原样透传给上游。适用于客户端工具自己管理 Token 的场景——此时 Vault 仍提供主机白名单、TLS 拦截与审计日志。注意passthrough 配置中出现任何凭证字段token、key、headers等都会触发校验错误。认证密钥从哪来所有auth配置引用的都是 Vault 里存储的凭据键名。你可以像下面这样在凭据页面统一保管规则与密钥彻底解耦若某个键在 Vault 中不存在服务写入会直接返回400错误——避免规则已配好却认证失败的尴尬。进阶Substitutions 占位符替换有些 API 把密钥放在 URL 路径、查询串、请求体甚至 WebSocket 消息里。此时在auth旁边加一个substitutions块Agent Vault 就会在转发前做定向替换实现见 internal/brokercore/substitution.gosubstitutions: - key: TWILIO_ACCOUNT_SID placeholder: __account_sid__ in: [path]in字段是安全边界只扫描你声明的位置。密钥只允许出现在query里Agent 就无法通过请求体等其他位置把它偷偷带出去。3️⃣ 出口过滤三层防线锁住 AI Agent 的出口第一层主机匹配与优先级host是唯一匹配旋钮命中规则时按以下优先级确定性裁决精确主机 通配主机api.github.com的规则永远压过*.github.com指定端口 任意端口更长的字面路径前缀获胜所以slack.com/api/apps.connections.*会赢过slack.com/api/*全部打平时先声明的规则获胜。这意味着你可以在同一域名上叠加多套凭证——例如 Slack 的 Bot Token 管/api/chat.*、Connection Token 管/api/apps.connections.*互不干扰。第二层严格拒绝模式unmatched_host_policy默认情况下未匹配任何 Service 的请求会按普通代理流量放行。如果你希望不在白名单 一律拒绝在 Vault 设置中开启严格模式即可设置项unmatched_host_policydeny策略定义见 internal/brokercore/credential.gopassthrough默认未匹配 → 透传deny严格模式未匹配 → 返回403并附带proposal_hint——行为良好的 Agent 会据此自动发起**提案Proposal**向你申请访问权你在浏览器里审核批准即可。第三层netguard 出口 IP 防护即使主机匹配通过Agent Vault 还会在连接层校验目标 IP防止 Agent 借道代理攻击内网默认阻断所有 RFC-1918 私有段、回环、链路本地、IPv6 ULA、CGN 地址段云元数据端点如169.254.169.254无条件阻断防止 SSRF 窃取云凭据先解析 DNS → 校验 IP → 直连已验证 IP彻底免疫 DNS 重绑定攻击需要访问内网服务时用AGENT_VAULT_ALLOW_PRIVATE_RANGEStrue或AGENT_VAULT_NETWORK_ALLOWLIST10.0.0.0/8精确开洞。实现细节见 internal/netguard/netguard.go。4️⃣ 用 CLI 管理 Services4 个高频命令# 从 YAML 文件整体写入幂等可重复执行 agent-vault vault service set -f services.yaml --vault my-vault # 交互式向导一步步添加服务、认证与凭据引用 agent-vault vault service set --vault my-vault # 查看当前生效的规则 agent-vault vault service list --vault my-vault # 清空所有规则清空后 Agent 全部收到 403 agent-vault vault service clear --vault my-vault⚠️remove/enable/disable既可以传服务名也可以传裸主机名当多条规则共享同一主机时系统会返回409并列出候选项改用具体name重试即可。5️⃣ 总结一份最小可用的完整规则services: - name: anthropic host: api.anthropic.com auth: { type: api-key, key: ANTHROPIC_KEY, header: x-api-key } - name: github host: *.github.com auth: { type: bearer, token: GITHUB_TOKEN } - name: slack-bot host: slack.com/api/* auth: { type: bearer, token: SLACK_BOT_TOKEN }核心心法最小权限能用精确主机就不用通配符能用路径限定就不用整个域名密钥解耦规则只引用键名真实密钥由 Vault 加密保管、代理时注入️严格模式对外部署建议开启unmatched_host_policydeny让提案审核成为 Agent 获取新权限的唯一通道出口兜底netguard 的 IP 级校验默认开启内网与云元数据天然不可达。更多字段说明与匹配规则的完整参考见 docs/learn/services.mdx安全模型加密、限流、访问控制见 docs/learn/security.mdx。【免费下载链接】agent-vaultA HTTP credential proxy and vault for AI agents like Claude Code, OpenClaw, Hermes, custom agents harnesses, and more.项目地址: https://gitcode.com/gh_mirrors/ag/agent-vault创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表