如何在 Azure Key Vaults 中创建分层数据结构

Tab*_*Tab 3 azure secret-key azure-keyvault

我需要一种在 Azure Key Vaults 中存储分层数据的方法,以便我拥有类似于以下内容的结构:

AppName
  /Prod
    /Data
  /Test
    /Data
AppName2
  /Prod
    /Data
Run Code Online (Sandbox Code Playgroud)

...

据我所知,我只能存储平面数据结构。我希望能够存储类似于 HashiCorp 的 Vault 的数据,它允许层次结构。

例如,在 HashiCorp 的 Vault 中,我可以使用“路径”获取数据:“app/test/TestConnection”,并在路径的端点获取值:TestConnection。

任何关于替代方案的建议都可以,或者说明如何使用 Key Vault 完成我需要做的事情。

谢谢


更新

我尝试了一些建议:MySettings--SomeSection--SecretThing、Multiple Vaults,但都没有按照我上面描述的方式工作。 没有错误输入,但我想做的只是在 Key Vault 中不可用。

@juunas事实证明,您的建议可能是最佳解决方案。我刚刚在另一篇文章中发现 MySettings--SomeSection--Secret 在 .NET Core 中转换为类似的内容:

MySettings: {
    SomeSection: "Secret"
}
Run Code Online (Sandbox Code Playgroud)

由于我的客户想要使用 Key Vault,我们可能会按照每个应用程序的单个秘密存储 json 结构化数据。

欢迎任何其他建议

juu*_*nas 8

Key Vault 不支持机密的层次结构。

要模拟结构,您可以执行类似于 .NET Core 对其 Key Vault 配置提供程序所做的操作。您可以指定一个名称为 的秘密,Settings--SomeCategory--SomeValue加载时它将对应于以下 JSON:

{
  "Settings": {
    "SomeCategory": {
      "SomeValue": "value goes here"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

所以基本上你可以使用分隔符来模拟结构,这也类似于 Azure Blob 存储模拟文件夹的方式。