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}";
我已将所有配置详细信息添加到 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}";