托管磁盘上的双重加密

您可以创建具有双重加密的计算机目录。使用此功能创建的任何目录都将所有磁盘进行服务器端加密,同时使用平台管理密钥和客户管理密钥。您拥有并维护 Azure Key Vault、加密密钥和磁盘加密集 (DES)。

双重加密是平台端加密(默认)和客户管理加密 (CMEK)。因此,如果您是高度安全敏感的客户,担心与任何加密算法、实现或受损密钥相关的风险,则可以选择此双重加密。持久性操作系统和数据磁盘、快照和映像都通过双重加密在静态时进行加密。

注意:

  • 您可以使用“完全配置”界面和 PowerShell 命令创建和更新具有双重加密的计算机目录。
  • 您可以使用非计算机配置文件工作流或基于计算机配置文件的工作流来创建或更新具有双重加密的计算机目录。
  • 如果您使用非计算机配置文件工作流创建计算机目录,则可以重用存储的 DiskEncryptionSetId
  • 如果您使用计算机配置文件,则可以使用 VM 或模板规范作为计算机配置文件输入。

限制

  • Ultra Disks 或 Premium SSD v2 磁盘不支持双重加密。
  • 非托管磁盘不支持双重加密。
  • 如果禁用与目录关联的磁盘加密集密钥,则目录的 VM 将被禁用。
  • 与客户管理密钥相关的所有资源(Azure Key Vault、磁盘加密集、VM、磁盘和快照)必须位于同一订阅和区域中。
  • 每个区域每个订阅最多只能创建 50 个磁盘加密集。
  • 您不能使用不同的 DiskEncryptionSetId 更新已具有 DiskEncryptionSetId 的计算机目录。

创建具有双重加密的计算机目录

您可以使用“完全配置”界面和 PowerShell 命令创建和更新具有双重加密的计算机目录。

创建具有双重加密的计算机目录的详细步骤如下:

  1. 使用平台管理密钥和客户管理密钥创建 Azure Key Vault 和 DES。有关如何创建 Azure Key Vault 和 DES 的信息,请参阅 使用 Azure 门户为托管磁盘启用静态双重加密
  2. 要浏览托管连接中可用的磁盘加密集:
    1. 打开 PowerShell 窗口。
    2. 运行以下 PowerShell 命令:
      1. asnp citrix®*
      2. cd xdhyp:
      3. cd HostingUnits
      4. cd YourHostingUnitName (ex. azure-east)
      5. cd diskencryptionset.folder
      6. dir

    您可以使用 DiskEncryptionSet 的 ID 通过自定义属性创建或更新目录。

  3. 如果您想使用计算机配置文件工作流,请创建 VM 或模板规范作为计算机配置文件输入。
    • 如果您想使用 VM 作为计算机配置文件输入:
      1. 在 Azure 门户中创建 VM。
      2. 导航到 Disks > Key management(磁盘 > 密钥管理)以使用任何 DiskEncryptionSetID 直接加密 VM。
    • 如果您想使用模板规范作为计算机配置文件输入:
      1. 在模板中,在 properties>storageProfile>osDisk>managedDisk 下,添加 diskEncryptionSet 参数并添加双重加密 DES 的 ID。
  4. 创建计算机目录。
    • 如果使用“完全配置”界面,除了 创建计算机目录 中的步骤外,请执行以下操作之一。
      • 如果您不使用基于计算机配置文件的工作流,请在 Disk Settings(磁盘设置)页面上,选择 Use the following key to encrypt data on each machine(使用以下密钥加密每台计算机上的数据)。然后,从下拉列表中选择您的双重加密 DES。继续创建目录。
      • 如果使用计算机配置文件工作流,请在 Image(映像)页面上,选择主映像(或准备好的映像)和计算机配置文件。确保计算机配置文件在其属性中具有磁盘加密集 ID。

      目录中创建的所有计算机都将通过您选择的 DES 关联的密钥进行双重加密。

    • 如果使用 PowerShell 命令,请执行以下操作之一:
      • 如果未使用基于计算机配置文件的工作流,请在 New-ProvScheme 命令中添加自定义属性 DiskEncryptionSetId。例如:

         New-ProvScheme -CleanOnBoot -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
         <Property xsi:type="StringProperty" Name="UseManagedDisks" Value="true" />
         <Property xsi:type="StringProperty" Name="StorageAccountType" Value="Premium_LRS" />
         <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/12345678-xxxx-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet" />
         </CustomProperties>'
         -HostingUnitName "Redacted"
         -IdentityPoolName "Redacted"
         -InitialBatchSizeHint 1
         -MasterImageVM "Redacted"
         -NetworkMapping @{"0"="Redacted"}
         -ProvisioningSchemeName "Redacted"
         -ServiceOffering "Redacted"
         <!--NeedCopy-->
        
      • 如果使用基于计算机配置文件的工作流,请在 New-ProvScheme 命令中使用计算机配置文件输入。例如:

         New-ProvScheme -CleanOnBoot
         -HostingUnitName azure-east
         -IdentityPoolName aio-ip
         -InitialBatchSizeHint 1
         -MasterImageVM XDHyp:\HostingUnits\azure-east\image.folder\abc.resourcegroup\fgb-vda-snapshot.snapshot
         -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure-east\virtualprivatecloud.folder\apa-resourceGroup.resourcegroup\apa-resourceGroup-vnet.virtualprivatecloud\default.network"}
         -ProvisioningSchemeName aio-test
         -MachineProfile XDHyp:\HostingUnits\azure-east\machineprofile.folder\abc.resourcegroup\abx-mp.templatespec\1.0.0.templatespecversion
         <!--NeedCopy-->
        

      使用远程 PowerShell SDK 完成目录创建。有关如何使用远程 PowerShell SDK 创建目录的信息,请参阅 https://developer-docs.citrix.com/projects/citrix-virtual-apps-desktops-sdk/en/latest/creating-a-catalog/。目录中创建的所有计算机都将通过您选择的 DES 关联的密钥进行双重加密。

将未加密的目录转换为使用双重加密

您只能在目录以前未加密的情况下更新其加密类型(使用自定义属性或计算机配置文件)。

  • 如果未使用基于计算机配置文件的工作流,请在 Set-ProvScheme 命令中添加自定义属性 DiskEncryptionSetId。例如:

     Set-ProvScheme -ProvisioningSchemeName "SampleProvSchemeName"
     -CustomProperties '<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
     <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/12345678-xxxx-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet" />
     </CustomProperties>'
     <!--NeedCopy-->
    
  • 如果使用基于计算机配置文件的工作流,请在 Set-ProvScheme 命令中使用计算机配置文件输入。例如:

     Set-ProvScheme -ProvisioningSchemeName mxiao-test -MachineProfile XDHyp:\HostingUnits\azure-east\machineprofile.folder\aelx.resourcegroup\elx-mp.templatespec\1.0.0.templatespecversion
     <!--NeedCopy-->
    

成功后,您在目录中添加的所有新 VM 都将通过您选择的 DES 关联的密钥进行双重加密。

验证目录是否已双重加密

  • 在“完全配置”界面中:

    1. 导航到 Machine Catalogs(计算机目录)。
    2. 选择要验证的目录。单击屏幕底部的 Template Properties(模板属性)选项卡。
    3. Azure Details(Azure 详细信息)下,验证 Disk Encryption Set(磁盘加密集)中的磁盘加密集 ID。如果目录的 DES ID 为空,则目录未加密。
    4. 在 Azure 门户中,验证与 DES ID 关联的 DES 的加密类型是否为平台管理密钥和客户管理密钥。
  • 使用 PowerShell 命令:

    1. 打开 PowerShell 窗口。
    2. 运行 asnp citrix* 以加载 Citrix 特定的 PowerShell 模块。
    3. 使用 Get-ProvScheme 获取计算机目录的信息。例如:

      Get-ProvScheme -ProvisioningSchemeName "SampleProvSchemeName"
      <!--NeedCopy-->
      
    4. 检索计算机目录的 DES ID 自定义属性。例如:

      <Property xsi:type="StringProperty" Name="DiskEncryptionSetId" Value="/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/Sample-RG/providers/Microsoft.Compute/diskEncryptionSets/SampleEncryptionSet" />
      <!--NeedCopy-->
      
    5. 在 Azure 门户中,验证与 DES ID 关联的 DES 的加密类型是否为平台管理密钥和客户管理密钥。

后续步骤

更多信息

托管磁盘上的双重加密