【问题标题】:Ho do I pass a list of secret to Azure key vault?如何将机密列表传递给 Azure 密钥保管库?
【发布时间】:2022-01-23 23:36:49
【问题描述】:

我想一次性推送一份在 excel 中提供给我的秘密列表,因为一个一个添加秘密需要几个小时才能一次将它们全部推送到一起。

【问题讨论】:

标签: azure azure-keyvault


【解决方案1】:

Azure Key Vault 不支持批处理操作,但您可以在 PowerShell 等工具中异步提交它们,或使用 Azure SDK 编写代码。这将减少花费的时间,但请注意service limits

设置一个秘密应该只需要几秒钟。如果您预计设置许多秘密将花费“数小时”,您可能会考虑将多个秘密(以某种格式,如 JSON,或任何适用于您的应用程序的格式)捆绑在一起。例如,枚举所有这些以通过前缀查找单个将需要一段时间,并且仍然受到服务限制。

例如,您可以将电子表格导出为 CSV,然后将其导入 PowerShell,如下所示:

install-module az -force -scope currentuser
connect-azaccount # sign in
import-csv my-secrets.csv | foreach {
  $secret = convertto-securestring -string $_.Secret -asplaintext -force
  set-azkeyvaultsecret -vaultname my-vault -name $_.Name -secretvalue $secret
}

这假设您的 CSV 看起来像这样(第一行是列名):

Name, Secret
foo, asdf
bar, qwer

这可能需要一些时间,但除了作为作业运行并担心速率限制,或者编写自己的代码以更好地控制速率限制之外,这将起作用。

同样,如果您有这么多秘密,您可能会重新考虑以适合您的应用程序的方式将一些秘密捆绑在一起。

【讨论】:

  • 如果有人要投反对票,请解释原因。也许这不是您希望的答案,但作为 Key Vault SDK 的开发人员,我可以向您保证,没有用于批量操作的 REST API。我提出的是一个解决方案 - 至少在解决方法中 - 解决问题。
  • 感谢 Heath,我们尝试了相同的方法并且成功了
  • convertfrom-csv 期望 csv 作为参数,即字符串。对于文件输入(如 my-secrets.csv 建议的那样),应使用 Import-Csv。这可能会导致有人投反对票,因为代码不能直接开箱即用。不过,您对一个简单且有效的解决方案表示赞成!
  • 感谢您的反馈。我会解决的。 PS 对 convertfrom 与 import 动词的不一致使用使得拉代码 sn-ps OTOH 变得困难。
猜你喜欢
  • 2022-01-13
  • 1970-01-01
  • 2016-10-13
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
  • 2021-04-02
  • 1970-01-01
相关资源
最近更新 更多