如何使用AppRole从Vault API中检索机密数据?

我的HashiCorp Vault实例在CentOS7上正常运行。我启用了AppRole身份验证,创建了策略和角色,启用了秘密引擎并为客户端应用程序创建了秘密。

我可以使用root CLI检索机密数据,但是我不知道如何使用curl使用应用程序角色从HTTP API获取机密数据。我尝试了几种端点组合,但均未成功。检索客户端令牌是可行的,但我本身无法获取秘密数据。

我想知道API端点是否正确,或者是否在进行其他设置。

身份验证方法

vault auth enable approle

政策

# File: my_app /etc/vault/my_app.hcl

path "kv/data/foo/*" {
 capabilities = ["read","list"]
}

# Command line
vault policy write my_app /etc/vault/my_app.hcl

角色

vault write auth/approle/role/my_app policies="my_app"

秘密创建

vault kv put kv/data/foo/user@domain.tld password=1234

API调用令牌请求

curl --request POST --data '{"role_id": "xxxxxxxxxxxxxxxxx","secret_id": "xxxxxxxxxxxxxxxxxxxx"}' http://127.0.0.1:8200/v1/auth/approle/login | jq

结果:令牌已正确检索

用于秘密数据请求的API调用

export VAULT_CLIENT_TOKEN=XXXXXXX
curl --header "X-Vault-Token: $VAULT_CLIENT_TOKEN" --request GET "http://127.0.0.1:8200/v1/kv/data/foo/user@domain.tld"

结果:未检索到任何秘密数据 输出:

  

{“错误”:[]}

CLI调用秘密数据

vault kv get -field=password kv/data/foo/user@domain.tld

输出:

  

1234

全局设置

vault secrets list

Path          Type         accessor              Description
----          ----         --------              -----------
cubbyhole/    cubbyhole    cubbyhole_xxxxxxxx    per-token private secret storage
identity/     identity     identity_xxxxxxxx     identity store
kv/           kv           kv_xxxxxxxx           n/a
sys/          system       system_xxxxxxxx       system endpoints used for control,policy and debugging
b_bunny 回答:如何使用AppRole从Vault API中检索机密数据?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2926668.html

大家都在问