【问题标题】:Vault .NET - Invalid path for a versioned K/V secrets engineVault .NET - 版本化 K/V 机密引擎的路径无效
【发布时间】:2021-03-29 10:42:45
【问题描述】:

我已在 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);

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

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

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

【问题讨论】:

    标签: azure-keyvault hashicorp-vault spring-vault consul-kv vault


    【解决方案1】:

    您正在使用 v2 的 kv 引擎。对于该引擎,您需要在路径中包含/data/,如API docs 所示。 the engine docs 中也描述了对这个前缀的要求。

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

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

    到

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

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 2015-12-16
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2021-03-15
      • 2021-10-14
      • 2020-01-18
      • 1970-01-01
      相关资源
      最近更新 更多