Azure ARM 模板。使用 Key Vault 密码部署副本 VM

标签 azure azure-keyvault

我想通过用 Key Vault secret 替换密码来自动部署可变数量的虚拟机(通过副本部署)。我想对不同的虚拟机使用不同的 key (例如 VM1 使用 Secret1,VM2 使用 Secret2)。根据文档,我需要引用动态 id https://learn.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-keyvault-parameter#reference-a-secret-with-dynamic-id 的 secret 我已经调整了文档示例以利用副本来部署虚拟机,但我很难在每次调用嵌套模板时将 SecretName 更改为 SecretName1、SecretName2。我怎样才能做到这一点?

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
      "vaultName": {
        "type": "string"
      },
      "secretName": {
        "type": "string"
      }
    },
    "resources": [
    {
      "apiVersion": "2015-01-01",
      "name": "[concat('nestedTemplate-', copyIndex())]",
      "type": "Microsoft.Resources/deployments",
      "copy": {
        "name": "nestedTemplateLoop",
        "count": "[parameters('numberOfVMs')]"
      },
      "properties": {
        "mode": "incremental",
        "templateLink": {
          "uri": "https://www.contoso.com/AzureTemplates/newVM.json",
          "contentVersion": "1.0.0.0"
        },
        "parameters": {
          "adminPassword": {
            "reference": {
              "keyVault": {
                "id": "[concat(resourceGroup().id, '/providers/Microsoft.KeyVault/vaults/', parameters('vaultName'))]"
              },
              "secretName": "[parameters('secretName')]"
            }
          }
        }
      }
    }],
    "outputs": {}
}

最佳答案

"secretName": [concat(parameters('secretName'), copyIndex())]

关于Azure ARM 模板。使用 Key Vault 密码部署副本 VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42210824/

相关文章:

Angular 9 通用部署问题

c# - Azure Key Vault secret 访问间歇性无法连接并出现套接字异常

Azure:手动将应用服务证书添加到 key 保管库

c# - 对于Azure Key Vault,我应该在哪里存储tenantId、clientId和clientSecret?

powershell - 在资源组上使用 CpuPercentage 时,Azure PowerShell Add-AlertRule 返回错误请求

azure - 表存储查询实体有时返回 0 条目但没有错误

azure - 无法 checkin TFS 并使用持续集成进行构建'

Azure Kusto 查询用于修剪完整 Azure 资源 ID 的名称

Azure - 是否可以使用企业应用程序设置环境变量?

azure - VSTS - 如何将 Azure Key Vault 检索到的客户端证书转换为 Powershell X509Certificate 实例