繁体   English   中英

Azure DevOps中的Azure ARM模板密钥库替代

[英]Azure ARM template keyvault override in Azure DevOps

如何覆盖Azure DevOps中的ARM模板Azure密钥库参考? 我有参考如下的ARM模板:

"KeyVaultSecret": {
  "reference": {
    "keyVault": {
      "id": "/subscriptions/214124-1241-526-645-lele/resourceGroups/KEYVAULT-RG/providers/Microsoft.KeyVault/vaults/KeyVault"
    },
    "secretName": "VerySecret"
  }
}

但在某些情况下,我想覆盖id和/或secretName。

我们使用powershell读取参数模板作为JSON对象$Template然后将ID值替换为适当的值,并将更新后的对象写到Temp文件中。

$Template["KeyVaultParm"].reference.keyvault.id = "<NewReferenceID>"

这使我们可以在Prod / Dev中使用相同的模板,并在使用相同的ARM模板/参数文件时使用不同的KeyVault。

您始终可以使用嵌套模板来执行此操作,只需提供带有值的参数,然后使用嵌套模板来调用它即可。 就是使用嵌套模板获取KV值。 您可以轻松地用参数或表达式替换我链接到的硬编码值,这将使您可以执行所需的操作。

您可能会实施一种类似“开关”的方法来根据资源组名称确定所需的值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM