2

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

在此处输入图像描述

但是,当我尝试使用带有以下 nuget 包的Vault.NET阅读此信息时

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);

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

版本化的 K/V 机密引擎的路径无效。有关要使用的适当 API 端点,请参阅 API 文档。如果使用 Vault CLI,请使用“vault kv get”进行此操作。

我不确定如何解决此错误。任何帮助将非常感激。

4

1 回答 1

6

您正在使用 v2 的 kv 引擎。对于该引擎,您需要/data/在路径中拥有,如API 文档中所示。这个前缀的要求也在引擎文档中描述。

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

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

var secretPath = $"kv/data/{project}/{environment}/workflow/camunda/{appVersion}";
于 2020-12-22T04:45:37.867 回答