You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中从Azure Key Vault URL提取Client Secret ID

在JMeter中从Azure Key Vault提取密钥ID/值

首先要明确:直接访问https://vcloud02vault.vault.azure.net/secrets/RootSecret会失败,因为Azure Key Vault的API需要Azure AD认证令牌才能访问。以下是完整的解决步骤:

步骤1:获取Azure AD访问令牌

添加一个HTTP请求,配置如下:

  • 请求方法:POST
  • URL:https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/token
  • 请求参数(在「参数」标签页添加):
    • grant_type: client_credentials
    • client_id: 你的Azure AD应用客户端ID
    • client_secret: 你的Azure AD应用客户端密钥
    • scope: https://vault.azure.net/.default

添加JSON提取器,从响应中提取access_token:

  • 引用名称:ACCESS_TOKEN
  • JSON Path表达式:$.access_token

步骤2:调用Key Vault Secrets端点并提取目标字段

添加第二个HTTP请求,配置如下:

  • 请求方法:GET
  • URL:https://vcloud02vault.vault.azure.net/secrets/RootSecret?api-version=7.4(必须带api-version参数,否则返回400错误)
  • 请求头(在「信息头管理器」添加):
    • Authorization: Bearer ${ACCESS_TOKEN}

添加JSON提取器提取你需要的字段:

  • 如果你要提取密钥的ID(即你说的Client Secret ID):
    • 引用名称:SECRET_ID
    • JSON Path表达式:$.id
  • 如果你要提取密钥的实际值:
    • 引用名称:SECRET_VALUE
    • JSON Path表达式:$.value

常见失败原因排查

  • 遗漏api-version参数:Key Vault所有API请求必须指定版本,比如7.4是当前稳定版
  • 认证令牌无效:检查租户ID、client_id、client_secret是否正确,scope必须是https://vault.azure.net/.default
  • 权限不足:登录Azure门户,确保你的Azure AD应用在目标Key Vault的「访问策略」中拥有Get类型的密钥权限
  • 响应非JSON格式:如果返回HTML错误页(比如401、403),先解决认证/权限问题,再进行字段提取

内容的提问来源于stack exchange,提问作者Abhik dey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 07:31:06