Spring Cloud Vaultの構成をテストしたかった。
Vaultサーバーをローカルにインストールしましたが、write
の一部のKey-Valueを試行すると失敗し、vault kv put
コマンドを使用するように求められます。
Spring Cloud Configの例 このリンク内 は、ボールト書き込みコマンドの使用法を示しています
これは私が得るエラーです
$ 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.
以下のコマンドで別のパスを有効にした後に書くことができました
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
次のことを試してください。
./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
エンジンとしてpython、hvac、vault、kvを使用しているときに、同じエラーが発生しました。そして、kv-engineはバージョン管理されています。私は空調クライアントを使用しました
client.write("secret/taras", data=dict(python='is secret'))
だから私は得た
InvalidPath: "request_id": "d5c0f889-2c42-4141-1cc6-31ed1336c768"、 "lease_id": ""、 "renewable":false、 "lease_duration":0、 "data":null、 "wrap_info":null、 "警告 ":["バージョン付きのK/Vシークレットエンジンのパスが無効です。使用する適切なAPIエンドポイントについては、APIドキュメントを参照してください。VaultCLIを使用している場合は、この操作に 'vault kv put'を使用してください。 "]、" auth " :ヌル}
私がこの問題を解決した方法は、秘密を保存するためのパスを変更することでした
client.write("secret/data/taras", data=dict(python='is secret'))
PS:あなたが理解したように、私の秘密の名前は「タラス」です。
Windowsで次のことを試してください(コマンドプロンプト)、
SET VAULT_TOKEN = 00000000-0000-0000-0000-000000000000
SET VAULT_ADDR = http://127.0.0.1:82
ボールトkv put secret/gs-vault-config example.username = demouser example.password = demopassword
(現在、Hashicorp VaultでのKey-Valueの作成に変更があります。書き込みではなくkv putを使用してください。)