12

我想测试 Spring Cloud Vault 配置。

我在本地安装了一个 Vault 服务器,当我尝试write一些键值时它失败并要求我使用vault kv put命令。

虽然此链接中的 Spring Cloud Config 示例显示了 vault write 命令的用法

这是我得到的错误是

$ vault write secret/my-app foo=bar
Error writing data to secret/my-app: Error making API request.

URL: PUT http://127.0.0.1:8200/v1/secret/my-app
Code: 404. Errors:


WARNING! The following warnings were returned from Vault:

  * Invalid path for a versioned K/V secrets engine. See the API docs for the
  appropriate API endpoints to use. If using the Vault CLI, use 'vault kv put'
  for this operation.
4

4 回答 4

25

试试下面的..

./vault kv put secret/my-app password=123

我要补充一点,这是 0.10.0 中的新内容。

似乎 0.10.0 有一些破坏性的 API 更改......所以解决方案 #2 是使用早期版本的 Vault (v0.9.6)。这包括默认为版本化的 KV 秘密引擎 v2。

解决方案#3 是使用 v1 的 KV 重新创建 /secret 引擎。运行以下:

./vault secrets disable secret 
./vault secrets enable -version=1 -path=secret kv
于 2018-04-18T15:29:37.317 回答
9

使用以下命令启用单独的路径后,我能够编写

vault secrets enable -path=my-app kv
vault write my-app/my-app password=123

在 Spring Cloud Config 中,我不得不在文件中提及文件夹名称作为bootstrap.yml后端

spring:
  cloud:
    vault:
      token: bc53d1a4-2551-4869-9574-7a9e60501ec1
      scheme: http
      generic:
        backend: my-app
于 2018-04-17T08:17:20.090 回答
4

在使用 python、hvac、vault 和 kv 作为引擎时,我遇到了同样的错误。并且 kv-engine 是版本化的。我使用了暖通空调客户端

client.write("secret/taras", data=dict(python='is secret'))

所以我得到了

无效路径:"request_id":"d5c0f889-2c42-4141-1cc6-31ed1336c768","lease_id":"","re​​newable":false,"lease_duration":0,"data":null,"wrap_info":null,"警告":["版本化 K/V 机密引擎的路径无效。请参阅 API 文档以了解要使用的适当 API 端点。如果使用 Vault CLI,请使用 'vault kv put' 进行此操作。"],"auth" :无效的}

我解决这个问题的方法是改变存储秘密的路径

client.write("secret/data/taras", data=dict(python='is secret'))

PS:如你所知,我的秘密名称是“taras”。

于 2019-05-02T20:12:58.200 回答
0

在 windows 中尝试以下操作,(在命令提示符下),

SET VAULT_TOKEN=00000000-0000-0000-0000-000000000000

SET VAULT_ADDR= http://127.0.0.1:8200

vault kv put secret/gs-vault-config example.username=demouser example.password=demopassword

(现在在 Hashicorp Vault 中创建键值有变化。使用 kv put 而不是 write。)

于 2019-03-02T03:25:15.657 回答