Azure Disk Şifreleme'yi Sanal Makine Ölçek Kümesi uzantı sıralamasıyla kullanma

Önemli

Azure Disk Şifrelemesi 15 Eylül 2028'de kullanımdan kaldırılıyor. Bu tarihe kadar Azure Disk Şifrelemesi'ni kesinti olmadan kullanmaya devam edebilirsiniz. 15 Eylül 2028'de ADE özellikli iş yükleri çalışmaya devam edecek, ancak VM yeniden başlatıldıktan sonra şifrelenmiş disklerin kilidi açılamaz ve hizmet kesintisine neden olur.

Yeni VM'ler için ev sahibi şifrelemesi kullanın veya gizli bilgi işlem yükleri için işletim sistemi disk şifrelemesi ile Gizli VM boyutlarını göz önünde bulundurun. Hizmet kesintisini önlemek için tüm ADE özellikli VM'lerin (yedeklemeler dahil) kullanımdan kaldırma tarihinden önce konakta şifrelemeye geçirilmesi gerekir. Ayrıntılar için bkz. Azure Disk Şifrelemesi'nden konakta şifrelemeye geçiş .

Azure disk şifrelemesi gibi uzantılar belirli bir sırada bir Azure sanal makineleri ölçek kümesine eklenebilir. Bunu yapmak için uzantı sıralamasını kullanın.

Genel olarak, şifreleme bir diske uygulanmalıdır:

  • Diskleri veya birimleri hazırlayan uzantılardan veya özel betiklerden sonra.
  • Şifrelenmiş disklerdeki veya birimlerdeki verilere erişen veya bunları kullanan uzantılardan veya özel betiklerden önce.

Her iki durumda da özelliği, provisionAfterExtensions dizinin ilerleyen bölümlerinde hangi uzantının ekleneceğini belirtir.

Örnek Azure şablonları

Azure Disk Şifrelemesi'nin başka bir uzantıdan sonra uygulanmasını istiyorsanız, özelliğini AzureDiskEncryption uzantısı bloğuna yerleştirin provisionAfterExtensions .

Aşağıda, bir Windows diski başlatan ve biçimlendiren ve ardından "AzureDiskEncryption" ile devam eden bir PowerShell betiği olan "CustomScriptExtension" örneği verilmiştir:

"virtualMachineProfile": {
  "extensionProfile": {
    "extensions": [
      {
        "type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
        "name": "CustomScriptExtension",
        "location": "[resourceGroup().location]",
        "properties": {
          "publisher": "Microsoft.Compute",
          "type": "CustomScriptExtension",
          "typeHandlerVersion": "1.9",
          "autoUpgradeMinorVersion": true,
          "forceUpdateTag": "[parameters('forceUpdateTag')]",
          "settings": {
            "fileUris": [
              "https://raw.githubusercontent.com/Azure-Samples/compute-automation-configurations/master/ade-vmss/FormatMBRDisk.ps1"
            ]
          },
          "protectedSettings": {
           "commandToExecute": "powershell -ExecutionPolicy Unrestricted -File FormatMBRDisk.ps1"
          }
        }
      },
      {
        "type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
        "name": "AzureDiskEncryption",
        "location": "[resourceGroup().location]",
        "properties": {
          "provisionAfterExtensions": [
            "CustomScriptExtension"
          ],
          "publisher": "Microsoft.Azure.Security",
          "type": "AzureDiskEncryption",
          "typeHandlerVersion": "2.2",
          "autoUpgradeMinorVersion": true,
          "forceUpdateTag": "[parameters('forceUpdateTag')]",
          "settings": {
            "EncryptionOperation": "EnableEncryption",
            "KeyVaultURL": "[reference(variables('keyVaultResourceId'),'2018-02-14-preview').vaultUri]",
            "KeyVaultResourceId": "[variables('keyVaultResourceID')]",
            "KeyEncryptionKeyURL": "[parameters('keyEncryptionKeyURL')]",
            "KekVaultResourceId": "[variables('keyVaultResourceID')]",
            "KeyEncryptionAlgorithm": "[parameters('keyEncryptionAlgorithm')]",
            "VolumeType": "[parameters('volumeType')]",
            "SequenceVersion": "[parameters('sequenceVersion')]"
          }
        }
      },
    ]
  }
}

Azure Disk Şifrelemesi'nin başka bir uzantıdan önce uygulanmasını istiyorsanız, provisionAfterExtensions özelliğini uygulanacak uzantının bloğuna yerleştirin.

Windows tabanlı bir Azure VM'de izleme ve tanılama özellikleri sağlayan bir uzantı olan "AzureDiskEncryption" ve ardından "VMDiagnosticsSettings" kullanan bir örnek aşağıda verilmiştir:

"virtualMachineProfile": {
  "extensionProfile": {
    "extensions": [
      {
        "name": "AzureDiskEncryption",
        "type": "Microsoft.Compute/virtualMachineScaleSets/extensions",
        "location": "[resourceGroup().location]",
        "properties": {
          "publisher": "Microsoft.Azure.Security",
          "type": "AzureDiskEncryption",
          "typeHandlerVersion": "2.2",
          "autoUpgradeMinorVersion": true,
          "forceUpdateTag": "[parameters('forceUpdateTag')]",
          "settings": {
            "EncryptionOperation": "EnableEncryption",
            "KeyVaultURL": "[reference(variables('keyVaultResourceId'),'2018-02-14-preview').vaultUri]",
            "KeyVaultResourceId": "[variables('keyVaultResourceID')]",
            "KeyEncryptionKeyURL": "[parameters('keyEncryptionKeyURL')]",
            "KekVaultResourceId": "[variables('keyVaultResourceID')]",
            "KeyEncryptionAlgorithm": "[parameters('keyEncryptionAlgorithm')]",
            "VolumeType": "[parameters('volumeType')]",
            "SequenceVersion": "[parameters('sequenceVersion')]"
          }
        }
      },
      { 
        "name": "Microsoft.Insights.VMDiagnosticsSettings", 
        "type": "extensions", 
        "location": "[resourceGroup().location]", 
        "apiVersion": "2016-03-30", 
        "dependsOn": [ 
          "[concat('Microsoft.Compute/virtualMachines/myVM', copyindex())]" 
        ], 
        "properties": { 
          "provisionAfterExtensions": [
            "AzureDiskEncryption"
          ],
        "publisher": "Microsoft.Azure.Diagnostics", 
          "type": "IaaSDiagnostics", 
          "typeHandlerVersion": "1.5", 
          "autoUpgradeMinorVersion": true, 
          "settings": { 
            "xmlCfg": "[base64(concat(variables('wadcfgxstart'), 
            variables('wadmetricsresourceid'), 
            concat('myVM', copyindex()),
            variables('wadcfgxend')))]", 
            "storageAccount": "[variables('storageName')]" 
          }, 
          "protectedSettings": { 
            "storageAccountName": "[variables('storageName')]", 
            "storageAccountKey": "[listkeys(variables('accountid'), 
              '2015-06-15').key1]", 
            "storageAccountEndPoint": "https://core.windows.net" 
          } 
        } 
      },
    ]
  }
}

Daha ayrıntılı bir şablon için bkz:

Sonraki Adımlar