Vault .NET - 版本化 K/V 机密引擎的无效路径

Vault .NET - Invalid path for a versioned K/V secrets engine

我已将所有配置详细信息添加到 Vault 中。您可以在下面的附图中看到详细信息。这遵循特定路径,即 kv/unistad/dev/workflow/camunda/1.0

但是,当我尝试使用 Vault.NET 和以下 nuget 包

来读取此信息时
Install-Package Vault

我的代码看起来像这样:

var endpoint = "http://openblue-bridge.com:32270";
var token = "s.inklpUdNxet1ZJtaCLMpEIPA";

var vaultClient = new VaultClient(new Uri(endpoint), token);

string project = "unistad";
string environment = "dev";
string appVersion = "1.0";
var secretPath = $"kv/{project}/{environment}/workflow/camunda/{appVersion}";
// Use client to read a key-value secret.
var secrets = await vaultClient.Secret.Read< Dictionary<string, string>> (secretPath);

当我运行上面的代码时,我得到以下错误:

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 get' for this operation.

我不确定如何修复此错误。任何帮助将不胜感激。

您正在使用 kv 引擎的 v2。对于该引擎,您需要在路径中包含 /data/,如 API docs. The requirement for this prefix is also described in the engine docs.

中所示

所以你的问题的解决方法就是专门改变你的路径从

var secretPath = $"kv/{project}/{environment}/workflow/camunda/{appVersion}";

var secretPath = $"kv/data/{project}/{environment}/workflow/camunda/{appVersion}";