2017-02-13 12 views
1

Я хотел бы автоматизировать развертывание переменной количества виртуальных машин (развернутых через копию) путем замены пароля секретами ключа Vault. Я хотел бы использовать разные секреты для разных виртуальных машин (ex secret1 для VM1, secret2 для VM2). В соответствии с документацией мне нужно ссылаться на секрет с динамическим id https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-keyvault-parameter#reference-a-secret-with-dynamic-id Я подстроил пример документации, чтобы использовать копию для развертывания моих виртуальных машин, но я изо всех сил пытаюсь изменить secretName на secretName1, secretName2 при каждом вызове вложенного шаблона. Как я могу это сделать?Шаблон Azure RM. Развертывание копии VM с помощью пароля Key Vault

{ 
    "$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": {} 
} 
+0

как те отличаются? пример? – 4c74356b41

+0

Я даже не знаю, как это сделать на простой виртуальной машине. Если вам удастся найти хороший пример, пожалуйста, поделитесь им. – Max

+1

https://github.com/Azure/azure-quickstart-templates/blob/master/101-vm-secure-password/azuredeploy.json – 4c74356b41

ответ

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

Ответ только на код - это действительно ответ, но, вероятно, он может извлечь выгоду из некоторого контекста/объяснения. – lfurini

+0

нечего объяснять, это очень простое выражение, его довольно интуитивно понятный – 4c74356b41

+0

Вам нужно объяснить, как это выражение решает проблему. Чем он отличается от того, что было у ОП? –

Смежные вопросы