适用于 Windows 的 Azure 磁盘加密 (Microsoft.Azure.Security.AzureDiskEncryption)

概述

Azure 磁盘加密使用 BitLocker 在运行 Windows 的 Azure 虚拟机上提供完全磁盘加密。 此解决方案与 Azure Key Vault 集成,以管理 Key Vault 订阅中的磁盘加密密钥和机密。

先决条件

有关先决条件的完整列表,请参阅适用于 Windows VM 的 Azure 磁盘加密,特别是以下部分:

扩展架构

Azure 磁盘加密 (ADE) 的扩展架构有两个版本:

  • v2.2 - 推荐的较新架构,它不使用 Microsoft Entra 属性。
  • v1.1 - 需要 Microsoft Entra 属性的较旧架构。

若要选择目标架构,需要将 typeHandlerVersion 属性设置为要使用的架构版本。

推荐对所有新 VM 使用 v2.2 架构,此架构不需要 Microsoft Entra 属性。

{
  "type": "extensions",
  "name": "[name]",
  "apiVersion": "2019-07-01",
  "location": "[location]",
  "properties": {
        "publisher": "Microsoft.Azure.Security",
        "type": "AzureDiskEncryption",
        "typeHandlerVersion": "2.2",
        "autoUpgradeMinorVersion": true,
        "settings": {
          "EncryptionOperation": "[encryptionOperation]",
          "KeyEncryptionAlgorithm": "[keyEncryptionAlgorithm]",
          "KeyVaultURL": "[keyVaultURL]",
          "KeyVaultResourceId": "[keyVaultResourceID]",
          "KeyEncryptionKeyURL": "[keyEncryptionKeyURL]",
          "KekVaultResourceId": "[kekVaultResourceID]",
          "SequenceVersion": "sequenceVersion]",
          "VolumeType": "[volumeType]"
        }
  }
}

架构 v1.1:使用 Microsoft Entra ID

1\.1 架构需要 aadClientIDaadClientSecretAADClientCertificate,建议不要用于新 VM。

使用 aadClientSecret

{
  "type": "extensions",
  "name": "[name]",
  "apiVersion": "2019-07-01",
  "location": "[location]",
  "properties": {
    "protectedSettings": {
      "AADClientSecret": "[aadClientSecret]"
    },
    "publisher": "Microsoft.Azure.Security",
    "type": "AzureDiskEncryption",
    "typeHandlerVersion": "1.1",
    "settings": {
      "AADClientID": "[aadClientID]",
      "EncryptionOperation": "[encryptionOperation]",
      "KeyEncryptionAlgorithm": "[keyEncryptionAlgorithm]",
      "KeyVaultURL": "[keyVaultURL]",
      "KeyVaultResourceId": "[keyVaultResourceID]",
      "KeyEncryptionKeyURL": "[keyEncryptionKeyURL]",
      "KekVaultResourceId": "[kekVaultResourceID]",
      "SequenceVersion": "sequenceVersion]",
      "VolumeType": "[volumeType]"
    }
  }
}

使用 AADClientCertificate

{
  "type": "extensions",
  "name": "[name]",
  "apiVersion": "2019-07-01",
  "location": "[location]",
  "properties": {
    "protectedSettings": {
      "AADClientCertificate": "[aadClientCertificate]"
    },
    "publisher": "Microsoft.Azure.Security",
    "type": "AzureDiskEncryption",
    "typeHandlerVersion": "1.1",
    "settings": {
      "AADClientID": "[aadClientID]",
      "EncryptionOperation": "[encryptionOperation]",
      "KeyEncryptionAlgorithm": "[keyEncryptionAlgorithm]",
      "KeyVaultURL": "[keyVaultURL]",
      "KeyVaultResourceId": "[keyVaultResourceID]",
      "KeyEncryptionKeyURL": "[keyEncryptionKeyURL]",
      "KekVaultResourceId": "[kekVaultResourceID]",
      "SequenceVersion": "sequenceVersion]",
      "VolumeType": "[volumeType]"
    }
  }
}

属性值

注意:所有值均区分大小写。

名称 值/示例 数据类型
apiVersion 2019-07-01 date
publisher Microsoft.Azure.Security string
type AzureDiskEncryption string
typeHandlerVersion 2.2、1.1 string
(1.1 架构)AADClientID xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx GUID
(1.1 架构)AADClientSecret password string
(1.1 架构)AADClientCertificate thumbprint string
EncryptionOperation EnableEncryption string
(可选 - 默认 RSA-OAEP)KeyEncryptionAlgorithm 'RSA-OAEP', 'RSA-OAEP-256', 'RSA1_5' string
KeyVaultURL url string
KeyVaultResourceId url string
(可选)KeyEncryptionKeyURL url string
(可选)KekVaultResourceId url string
(可选)SequenceVersion uniqueidentifier string
VolumeType OS, Data, All string

模板部署

有关基于架构 v2.2 的模板部署的示例,请参阅 Azure 快速入门模板 encrypt-running-windows-vm-without-aad

有关基于架构 v1.1 的模板部署示例,请参阅 Azure 快速启动模板 encrypt-running-windows-vm

注意

此外,如果 VolumeType 参数设置为 All,则仅当数据磁盘采用正确格式时才会对其进行加密。

故障排除和支持

故障排除

有关故障排除,请参阅 Azure 磁盘加密故障排除指南

支持

如果对本文中的任何观点存在疑问,可以联系 Azure 支持上的 Azure 专家。

或者,你也可以提出 Azure 支持事件。 请转到 Azure 支持站点提交请求。 有关使用 Azure 支持的信息,请阅读世纪互联 Azure 支持常见问题解答

后续步骤