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

如何将Vault AWS认证登录命令转换为REST API请求?

将Vault AWS登录命令转换为REST API请求

核心API端点

对应你命令中的-path=path-value,REST请求的端点为:

POST /v1/auth/path-value/login

(替换path-value为实际的AWS auth挂载路径,拼接你的Vault服务器地址前缀,比如https://your-vault-server.com/v1/auth/path-value/login)

请求体构造

Vault的AWS IAM认证需要验证你的AWS身份,请求体需包含目标角色和AWS STS GetCallerIdentity请求的签名信息,JSON格式如下:

{
  "role": "role-value",
  "iam_http_request_method": "POST",
  "iam_request_url": "https%3A%2F%2Fsts.amazonaws.com%2F%3FAction%3DGetCallerIdentity%26Version%3D2011-06-15",
  "iam_request_headers": "<Base64编码的请求头字符串>",
  "iam_request_body": "<Base64编码的请求体内容(通常为空)>"
}
  • role-value替换为你命令中的实际角色名
  • 签名信息可通过AWS SDK或CLI生成,比如借助aws sts get-caller-identity结合签名工具获取所需的编码头、URL值

curl示例请求

curl -X POST https://your-vault-server.com/v1/auth/path-value/login \
  -H "Content-Type: application/json" \
  -d '{
    "role": "role-value",
    "iam_http_request_method": "POST",
    "iam_request_url": "https%3A%2F%2Fsts.amazonaws.com%2F%3FAction%3DGetCallerIdentity%26Version%3D2011-06-15",
    "iam_request_headers": "eyJDb250ZW50LVR5cGUiOiAiYXBwbGljYXRpb24vanNvbiIsIEhvc3QiOiAic3RzLmFtYXpvbmF3cy5jb20iLCJJbnN0YW5jZSI6ICJteS1pbnN0YW5jZSJ9",
    "iam_request_body": ""
  }'

解析响应

请求成功后,返回的JSON中auth.client_token字段就是你需要的Vault令牌,对应原命令-token-only的输出结果。

内容的提问来源于stack exchange,提问作者J Harish

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:22:47