如何解决Vault .NET - 版本化 K/V 机密引擎的无效路径
我已在 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' 用于此操作。
我不知道如何解决这个错误。任何帮助将不胜感激。
解决方法
您正在使用 kv 引擎的 v2。对于该引擎,您需要在路径中包含 /data/
,如 API docs 中所示。 the engine docs 中还描述了对该前缀的要求。
所以解决你的问题的方法是专门改变你的路径
var secretPath = $"kv/{project}/{environment}/workflow/camunda/{appVersion}";
到
var secretPath = $"kv/data/{project}/{environment}/workflow/camunda/{appVersion}";
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。