2017-02-13 2 views
1

私は、キーボルトの秘密のパスワードを置き換えることで、(コピーを介して配布される)可変量のVMの導入を自動化したいと考えています。私は、異なるVM(VM1の場合はsecret1、VM2の場合はsecret2)に異なる秘密を使用したいと考えています。ドキュメンテーションによると、私は動的IDを持つ秘密を参照する必要がありますhttps://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-keyvault-parameter#reference-a-secret-with-dynamic-id 私はVMの展開のためにコピーを利用するためのドキュメントの例を調整しましたが、ネストされたテンプレートの呼び出しごとにsecretNameをsecretName1、secretName2に変更しようとしています。どうやってやるの?Azure RMテンプレート。キーボルトのパスワードでコピーVMを導入する

{ 
    "$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

私は単純なVMでそれを行う方法を知らない。あなたが良い例を見たことがあったら、それを分けてください。 – 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

この式がどのように問題を解決するのか説明する必要があります。それはOPが持っていたものとどう違うのですか? –

関連する問題